Okey, this indeed clears some things out...
Will search for other solution eventually
(it would rather be a 'nice to have' than a must for my app -->
automatically generating forms based on the scheme, I would use the
annotations to provide the user some information about the fields...)
Grtz
Ward
Radu Preotiuc-Pietro schreef:
Hi,
For the annotations inside <element ref=...> and <attributeGroup
ref=...>, the answer is that those are not accessible as per XMLSchema;
<element ref=...> corresponds to what XMLSchema calls a "particle"
(http://www.w3.org/TR/xmlschema-1/#declare-element) and those don't have
annotations and <attributeGroup ref=...> doesn't correspond to any
component at all
(http://www.w3.org/TR/xmlschema-1/#declare-attributeGroup). Now, one can
ask why are they even allowed if they are not accessible and indeed if
you look at the second link it says at some point " in the second [case]
the |ref| attribute is required, and the element must be empty". So
maybe XMLBeans should flag an error, but I have to say this is a "gray"
area of the spec and I would have to check the Schema mailing lists to
see if this has been brought up.
For the third case, <attribute name=...>, you need to get the
SchemaLocalAttribute object representing that attribute (via
SchemaType.getAttributeModel()) and that will have a getAnnotation() method.
Oh, and I should also mention that even in the cases where the
annotations are not accessible, you can get the textual representation
of the Schema as an XmlObject. Then, of course, you will get access to
the annotations, if this is critical for your app, but you'll have to
search for them.
Hope this helps,
Radu
------------------------------------------------------------------------
*From:* Ward [mailto:[email protected]]
*Sent:* Friday, April 03, 2009 4:54 AM
*To:* [email protected]
*Subject:* Retrieving annotation/documentation of
elements/attributes/attribute-groups
Hello,
I'm working with XMLBeans for some weeks now, but now I'm interested
in accessing the documentation availlable in my xsd-scheme.
Until now I only managed to get the documentation directly under any
complextype, but not the documentation specific to any element,
attribute or attributegroup
Consider following snippet from my scheme:
<complexType name="titleType">
<annotation>
<documentation><!-- THIS DOCUMENTATION I CAN ACCESS -->
The name given to a resource e.g. a media item, media object, sequence.
For a series – use the series title; for a programme
– a programme title; for an
item – an item title. etc. To differentiate between
a series title and programme
title when these are identical, recommended best
practice is to use a date along
with the programme title. For example, “News” is a
series title; “News 2007.11.12”
is a programme title. Titles are recorded as they
appear. </documentation>
</annotation>
<sequence>
<element ref="dc:title">
<annotation>
<documentation>
<!--HOW CAN I ACCESS THIS DOCUMENTATION??? -->
The EBU core metadata set is built as a refinement of the Dublin
Core. </documentation>
</annotation>
</element>
</sequence>
<attributeGroup ref="ebucore:typeGroup">
<annotation>
<documentation>
<!--HOW CAN I ACCESS THIS DOCUMENTATION??? -->
The typeGroup is used to define the type of Title such as Episode,
Programme, Collection, Programme Group, Series,
Item, Scene, Shot, Element,
Segment, Project, , Series Number, Episode
Number, Scene Number, Take Number
Recording, Album, etc. The name of the type can
be provided in the form of a
text label, or a link to a code of a
classification scheme, optionally
accompanied by a definition</documentation>
</annotation>
</attributeGroup>
<attribute name="note" type="string">
<annotation>
<documentation> Optional addditional contextual
information. <!--HOW CAN I ACCESS THIS DOCUMENTATION??? -->
</documentation>
</annotation>
</attribute>
</complexType>
Any ideas on this?
Thanks in advance
Ward
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]