|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML Schema support for Interoperability?
Hello all, Roger was interested in discussing XML Schema support for interoperability. Unfortunately my discussion is only questions and no answers, sorry. In general my questions involve the hierarchical relationship between elements declared with equivalent classes. 1. In an XML document instance we want to be able to use <guys> or <boys> (using Roger's example) depending upon our preference. So is equivClass bi-directional when we declare it in our Schema? To me, the syntax appears more like a uni-directional relationship. i.e. > With XML Schemas we can create an element (called the exemplar) and then > create other elements which state that they are equivalent to the > exemplar. For example, > > <element name="boys" type="string"/> > <element name="guys" equivClass="friends:boys" type="string"/> > > XML Schemas enables us to explicitly state that guys is equivalent to > boys. > > If I write an application which expects a <boys> element, and I get an > XML document which contains a <guys> element then I can go to the XML > Schema document to see if <guys> is equivalent to the expected <boys> > element. Thus, the schema is acting as an "interoperability schema". If however, I write an application which expects a <guys> element, and I get an XML document which contains a <boys>, then when I go to the XML Schema document I do not find that <boys> is equivalent to the expected <guys>. Should the application know that <guys> is equivalent or should we just be careful to always use the exemplar class in the Schema? Could we alternatively declare them equivalent to each other? i.e.. <element name="boys" equivClass="friends:guys" type="string"/> <element name="guys" equivClass="friends:boys" type="string"/> 2. Is equivClass transitive? i.e. If we declare the following: <element name="group" type="string"/> <element name="boys" equivClass="friends:group" type="string"/> <element name="guys" equivClass="friends:boys" type="string"/> If in the Schema we declare <group>, an XML document instance can contain <boys>, but could it also contain <guys>? 3. Can an element be declared with more than one equivClass? i.e. <element name="group" type="string"/> <element name="males" type="string"/> <element name="boys" equivClass="group males" type="string"/> I assume not as 'equivClass' is just a single attribute of the "element" type defined in the XML Schema Schema WD 17/12/99. But is there some way of implementing this concept anyway? I hope these questions raise issues about the support for interoperability. Thanks for your time. Michael Roger wrote: Date: Thu, 20 Jan 2000 15:56:43 -0500 From: "Roger L. Costello" <costello@m...> Subject: XML Schema support for Interoperability? Hi Folks, I am interested in discussing what support XML Schemas provide for enabling interoperability. Below I present my understanding of the support that XML Schemas provide. If there are other ways that XML Schemas enable interoperability I would be interested in hearing them. ... Oftentimes in daily conversation there are several ways to express something. - For example, "The boys went hiking." or "The guys went hiking". . Thus, "boys" and "guys" are equivalent. Which word is used may depend upon what part of the country you live in, what mood you're in, or any number of factors. We would like to be able to express this "equivalence" capability in XML Schemas. - We would like to be able to declare in the schema an element called "boys", an element called "guys", and state that "guys" is equivalent to "boys". Thus, instance documents can use either "boys" or "guys", depending on their preference. With XML Schemas we can create an element (called the exemplar) and then create other elements which state that they are equivalent to the exemplar. For example, <element name="boys" type="string"/> <element name="guys" equivClass="friends:boys" type="string"/> XML Schemas enables us to explicitly state that guys is equivalent to boys. If I write an application which expects a <boys> element, and I get an XML document which contains a <guys> element then I can go to the XML Schema document to see if <guys> is equivalent to the expected <boys> element. Thus, the schema is acting as an "interoperability schema". A nice feature of the equivClass capability is that over time new elements can be added to the schema and declared to be equivalent to the <boys> element. For example, <element name="fellas" equivClass="friends:boys" type="string"/> Without any change, the application will continue to seemlessly work as it consults the interoperability schema for equivalences. Pretty cool, aye? /Roger 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/ or CD-ROM/ISBN 981-02-3594-1 Unsubscribe by posting to majordom@i... the message unsubscribe xml-dev (or) unsubscribe xml-dev your-subscribed-email@your-subscribed-address Please note: New list subscriptions now closed in preparation for transfer to OASIS.
|
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
|
|||||||||






