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] XML Redux

On 14/02/2011 18:03, Liam R E Quin wrote:
> I spent some time this weekend wondering how minimal one could make XML
> and still have something useful. Then, like almost everyone else,
> speculated on some random changes.
> http://www.barefootliam.org/xml/20110212-xml-redux
> (comments there are moderated to prevent spam, but should show up
> eventually)
> Liam
I'm inclined to be much more radical. There's no benefit in making 
incremental improvements that cause a lot of disruption; the world will 
stick with XML as it is today unless something radically better comes 
along. For some applications where XML has been exploited over the last 
ten years, JSON is radically better; for other applications, it's 
hopeless. Let's rethink from the ground up, learning from what has gone 
before in other traditions as well as our own.

Angle brackets aren't a good way to handle structured data. It's not 
just the end tags that are redundant; there's usually no need to have 
separate names for a collection and its members, and there's no need to 
name each member of a homogeneous collection. They were invented for 
textual markup; let's stop trying to use them for other purposes.

What data structures do we need? Basically those in JSON, plus 
structured text.

* Maps (key - value pairs)

* Sequences of values

* Strings, numbers, booleans

* Text elements

For syntax, extend JSON with one additional kind of value - the text 
element - which looks like an XML element today, except that the 
attributes are replaced by a property of an element called its metadata 
which may be any of the above kind of values - most often a map, but not 

So we might have

{  authors: [
       {name: "Michael Kay", affiliation: "Saxonica"},
       {name: "Liam Quin", affiliation: "W3C"}
    abstract: <para { style : "bold" }>Here be some dragons</para>
    content: <section { numbers : [1,1,2] }><para>...</para></section>

This uses the tagging syntax where it was designed to be used, for 
textual markup; it uses notations designed for structured data when we 
want to hold structured data; and it gives full composability between 
the two - including of course elements within the metadata of another 

Michael Kay

[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