[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Not using mixed content? Then don't use XML
- From: "Costello, Roger L." <costello@mitre.org>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Sat, 23 Mar 2013 15:04:11 +0000
Hi Folks,
First a few definitions:
----------------
Sweet spot
----------------
A place where there a maximum response for
a given amount of effort.
--------------------
Mixed content
--------------------
An element has mixed content if its content is a
mix of data and elements. Here is an example of
mixed content:
<condition>The patient exhibited <emp>extreme</emp>
arrhythmia</condition>
--------------------------------------------------------------
Data-centric versus Document-centric content
--------------------------------------------------------------
Data-centric content is where there is no mixed content,
document-centric content is where there is mixed content.
-----------------------------
Semi-structured data
-----------------------------
A synonym for mixed content.
Okay, now for the issue at hand:
Should you use XML?
Sean McGrath says [1]:
XML's sweet spot is mixed content.
If you are not using mixed content, then there
are a trillion and one ways of representing data-centric
content, most programming languages do it out-of-the-box.
If you absolutely, totally, never, ever will need mixed
content then there are sane alternatives to XML.
There always has been alternatives, from humble CSV up to
fancier JSON/Python/Ruby direct data expression languages.
A huge chunk of the world doesn't need mixed content or
even know what it is.
It has always been a source of worry that folks with perfectly
good relational data sets have felt compelled by buzz-pressure
to put their content into XML - very little gain in the general case.
Professor Daniel Lemire says [2]:
XML is great for dealing with semi-structured data.
Alas, we ended up torturing XML by applying it to ill-suited
purposes.
We must learn how to select the best format. Does your data
look like a table? Can a flat file do the job? Do you need a
key-value format like JSON? Or maybe a simple text file?
Take a good look at your data before picking a format for it.
Conclusion:
If your problem doesn't need mixed content, then don't use XML.
Comments?
/Roger
[1] http://seanmcgrath.blogspot.com/2007/01/mixed-content-trying-to-understand-json.html
[2] http://lemire.me/blog/archives/2010/11/17/you-probably-misunderstand-xml/
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]