[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Two philosophies of XML usage
- From: "Pete Cordell" <petexmldev@codalogic.com>
- To: "Costello, Roger L." <costello@mitre.org>,<xml-dev@lists.xml.org>
- Date: Thu, 22 Dec 2011 17:32:09 -0000
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!
HTH,
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
really.
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
them.
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
philosophy?
--------
Is there an increasing trend toward the data-is-primary,
manipulate-as-documents philosophy? Are web services being developed that
way?
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?
/Roger
[1] See slide #12 of
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCIQFjAA&url=http%3A%2F%2Fseanmcgrath.blogspot.com%2Fpipelines.ppt&ei=pyfzTue2Kcfg0QG_ra2JAg&usg=AFQjCNHJrmFcxoIaWq-lqqWEHMo6T47pKg&sig2=rTK1bnw2z7WRWsfsU2_WUA
[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]