[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Data Interoperability ... Why do some XML vocabularies specifymeaning + behavior whereas others specify only meaning?
- 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
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]