OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

RE: Data Interoperability ... Why do some XML vocabularies specifymeaning + behavior whereas others specify only meaning?

Hi Folks,

Thanks to Michael Kay, Ken Holman, and David Carlisle for their excellent inputs. 

Long ago someone on the xml-dev list said:

   An XML vocabulary is created for a purpose;
   otherwise, what's the point.

The purpose may be to do something, take an action, make a decision, etc. Even an XML vocabulary created to be purely informational (John likes cycling) has a purpose such as: make the information accessible. 

An XML vocabulary may be used for different purposes, but there is always a prime purpose. For instance, XML Schema may be used for different purposes but its prime purpose is validation. XSLT may be used for different purposes but its prime purpose is transformation.

I will use the term "Prime App" to mean an application that implements an XML vocabulary's prime purpose. Thus, an XML Schema validator is the Prime App for the XML Schema vocabulary. An XSLT processor is the Prime App for the XSLT vocabulary.

As a corollary to the above quote, I propose this:

   An XML vocabulary must have data interoperability;
   otherwise, what's the point.

I have often heard it said, "To achieve data interoperability each application must interpret/understand the XML vocabulary in the same way."

What better way to ensure the same interpretation/understanding than to use the same application!

I am led to these 3 conclusions:

1. When you create an XML vocabulary, specify the behavior of the XML vocabulary. Specify conformance requirements. Create a conforming Prime App. Create a test suite. Everyone use the Prime App.

2. Data interoperability is not achieved through shared understanding of the XML vocabulary. Data interoperability is achieved through shared usage of the Prime App.

3. Creating an XML vocabulary without specifying its behavior is a bad idea. It is a recipe for delayed data interoperability at best, failed data interoperability at worst. For example, the XHTML vocabulary does not specify behavior. Each browser vendor had their own idea of the proper behavior of the XHTML vocabulary. The result was years of non-interoperability. It's taken over 10 years for the vendors to finally converge on a common browser behavior. Browsers could have had (theoretically) common behavior 10 years ago had the XHTML specification specified behavior of the Prime App (browser) along with conformance and test suites.




News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS