Re: Basic XMLSchema questions
Alan Santos wrote: > > Hi, > I'm trying to wrap my head around the XMLSchema drafts to determine their > immediate usefulness (to myself), and have some very basic questions. > > 1) What is the difference between an archetype, type and datatype? > When is one used in place of the other. <archetype> is gone, replaced by <type>, which is used for specifying non-"primitive" (i.e. predefined) types for elements. <datatype> is for doing the same sort of operation on attributes. for example: <element name="myElement"> <type> <element name="nestedElement" type="string" /> <element name="anotherNestedElement" type="string" /> <attribute name="isPrimary"> <datatype content="empty" /> </attribute> <attribute name="focus"> <datatype content="NMTOKENS"> <enumeration value="Java" /> <enumeration value="C" /> <enumeration value="XML" /> </datatype> </attribute> </type> </element> > > 2) Is multiple inheritance not supported for derived types? Personal Opinion: Stay away from using inheritance - it is changing like mad, and is not a great solution for XML inheritance, anyway (IMHO). We are working on a proposal for this over at Apache XML, but it is not ready for primetime yet. > > 2a) How is inheritance supported? Is it possible to access the elements of a > types source without manually doing the traversal, or is inheritance only > useful in the instance document? See #2 > > 3) Is it possible to use the schema for application specific requirements. > For example, I'm basing my schema on a Java class model and would like to > specify the Java class name in the schema. The only way I can see is to > wrap it in an <annotation/>. Your schema is one-to-one with a Java class? This wouldn't be a good idea, unless I'm misunderstanding your intent. Maybe your _XML_ is based on a class, and it specifies the class, but then multiple XML docs (therefore multiple classes) all use the same Schema. > > 3a) Likewise, certain <elements> may actually refer to another type, so I > want to do something like: > <element name="thePrice" type="reference" referentType="Price"> > > I know I can say something like: > > <element name="thePrice" type="PriceReference"> > > but that isn't really flexible enough. Why not? What's the difference in your mind? If you can define an infinite number of types, and define an infinite number of elements with any defined type, how is that not flexible? > > Perhaps type can hold a ref of some sort, tho.... > > Maybe I would just be better off with another XML instance document > describing the class model? Sounds like it. Schemas are not ready to replace XML documents. Don't try it... -Brett > > thanks, > alan > > xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... > Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 > To unsubscribe, mailto:majordomo@i... the following message; > unsubscribe xml-dev > To subscribe to the digests, mailto:majordomo@i... the following message; > subscribe xml-dev-digest > List coordinator, Henry Rzepa (mailto:rzepa@i...) xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To unsubscribe, mailto:majordomo@i... the following message; unsubscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format