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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Two philosophies of XML usage

My feeling is that in a document oriented world XML tends to exists a long 
time and is mutated as presumably the document is edited and evolved.  Hence 
it makes sense to keep the data as XML as much as possible.

However, in the data oriented world XML is just a convenient way of 
representing data so that it can be conveyed between two (or more) systems 
separated in space or time.  Once the XML gets to a receiver its job is 
done.  Generally the more the programmer can interact with the data as 
native objects the better.  Hence the role of data binding.

Put another way, document oriented processing tends to be XML in, XML out. 
Conversely data oriented processing, for say games programming, or virus 
detection, tends to be objects in, objects out, or even the same logical 
object in multiple places.

That's my view of the world anyway!


Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using C++ XML
data binding to convert XSD schemas to C++ classes.
Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com
for more info

----- Original Message ----- 
From: "Costello, Roger L." <costello@mitre.org>
To: <xml-dev@lists.xml.org>
Sent: Thursday, December 22, 2011 2:19 PM
Subject: [xml-dev] Two philosophies of XML usage

Hi Folks,

Long ago Sean McGrath created this mantra [1]:

1. Get data into XML as quickly as possible.
2. Keep it in XML until the last possible minute.
3. Bring all your XML tools to bear on solving the data processing problem.

"Bring all your XML tools to bear" means to use XSLT and XPath to transform 
the XML, XQuery to query the XML, XML Schema/Relax NG/Schematron to validate 
the XML, and XProc to perform a series of activities (using the preceding 
tools) on the XML.

On December 12, 2011 Liam Quin wrote [2]:

I tend to think of data binding as a relatively unusual, although
important, use of XML, but that's because I'm a document person

By "document person" does Liam mean that he subscribes to Sean McGrath's 
mantra? That is, XML should remain intact and be processed by XML tools?

Long ago Michael Kay made a wonderful statement about data being of primary 
importance. I wish that I could locate the specific statement, it was 
beautifully stated. Anyway, it went something like so:

Data is of primary importance so it makes sense to keep the
data intact and use tools that were created for the data format.

Hopefully I have captured the essence of Michael's statement correctly.

Okay ... XML (data) is primary ... there are tools to process XML ... use 

Would you call this the data-is-primary, manipulate-as-documents philosophy?

It seems that some developers don't operate that way.

It seems that some developers immediately extract the data from XML and 
embed it into Java (C++, C#, Python, etc.) data structures. From thence 
onward, processing is done in Java.

Data binding tools facilitate the creation of the Java data structures.

In some sense SAX promotes this approach since SAX requires Java code to 
catch the events it generates.

Okay ... algorithms is primary ... there are programming languages to 
implement the algorithms ... use them.

Would you call this the algorithms-is-primary, manipulate-data-structures 

Is there an increasing trend toward the data-is-primary, 
manipulate-as-documents philosophy? Are web services being developed that 

Are there studies to show the enhanced productivity of the data-is-primary, 
manipulate-as-documents philosophy?

Is there a reason why web services can't be implemented using the 
data-is-primary, manipulate-as-documents philosophy?


[1] See slide #12 of 

[2] http://lists.xml.org/archives/xml-dev/201112/msg00045.html


XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php

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

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