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

Received on Thursday, 20 January 2000 15:55:25 UTC