[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Data Interoperability ... Why do some XML vocabularies specifymeaning +

  • From: "Costello, Roger L." <costello@mitre.org>
  • To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
  • Date: Wed, 18 Aug 2010 15:13:08 -0400

Data Interoperability  ... Why do some XML vocabularies specifymeaning +
Hi Folks,

I see two kinds of XML vocabularies:

1. Those containing markup that has been assigned both meaning and behavior.

2. Those containing markup that has been assigned only meaning.


Please permit me to elaborate.


1. MARKUP HAS MEANING + BEHAVIOR

When an XML vocabulary is created each element and attribute is specified with:

   - a meaning 
   - the behavior of applications that process the element

EXAMPLES

   XML Schema: the XML Schema specification describes the 
   meaning of <element> as well as its behavior: 

   - <element> is a specification of an information item.
     That is meaning. 

   - A compliant tool must validate that the instance 
     document contains an element with the specified name, 
     type, and occurrences. That is behavior.

   XSLT: the XSLT specification describes the
   meaning of <for-each> as well as its behavior:

   - <for-each> identifies a collection of nodes.
     That is meaning. 

    - A compliant tool must iterate over each node 
      identified by the select attribute and execute 
      the nodes within <for-each>. That is behavior.

Test suites are created for this kind of XML vocabulary. Test suites are used for ensuring that applications _behave_ in accordance with the specification. 

   There is a test suite for testing XML Schema validators 
   and there is a test suite for testing XSLT processors.  

For this kind of XML vocabulary there is (at least theoretically) perfect data interoperability.

   An XML Schema document will be processed the same way on 
   every machine and ditto for an XSLT document.


2. MARKUP HAS ONLY MEANING

When an XML vocabulary is created each element and attribute is specified with just meaning.

EXAMPLES

    XHTML: the XHTML specification describes the
    meaning of <p>:

    - <p> is a paragraph. 

    RSS: the RSS specification describes the
    meaning of <title>:

    - <title> is the name of the channel.

There are no test suites for this kind of XML vocabulary.

For this kind of XML vocabulary there is relatively limited data interoperability.

   An XHTML document displayed in Firefox on machine 1 may 
   display differently in IE on machine 2.


RECAP

These XML vocabularies specify meaning + behavior:

   - XML Schema
   - XSLT

These XML vocabularies specify only meaning:

   - XHTML
   - RSS


QUESTIONS

1. Why are some XML vocabularies created with meaning + behavior whereas others are created with just meaning?

2. I noticed in my examples that the XML vocabularies which specify meaning + behavior are machine-oriented whereas the XML vocabularies which just specify meaning are eyeballs-oriented. Should I inductively conclude that:

   - All XML vocabularies that are machine-oriented should specify meaning + behavior
   - All XML vocabularies that are eyeballs-oriented should specify only meaning

3. Is the goal of XML to maximize interoperability?

4. If the answer to (3) is "yes" then shouldn't every XML vocabulary be specified with both meaning and behavior?

5. Firefox and IE behave nearly identically. Is that almost miraculous in light of the fact that the XHTML specification says nothing about how the markup should behave?

6. I also noticed in my examples that the XML vocabularies which specify meaning + behavior involve binary operations:

      XML Schema validates XML (The operator is "validate" and the operands are the XML Schema and the XML)

      XSLT transforms XML (The operator is "transform" and the operands are the XSLT and the XML)

  Whereas the XML vocabularies which just specify meaning involve unary operations:

      Display XHTML (The operator is "display" and the operand is XHTML)

      Display RSS  (The operator is "display" and the operand is RSS)

  Should I inductively conclude that:

   - All XML vocabularies that are involved in binary operations should specify meaning + behavior
   - All XML vocabularies that are involved in unary operations should specify only meaning

7. For perfect (or nearly perfect) interoperability, must an XML vocabulary specify both meaning and behavior?

/Roger






[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.