Lists Home |
Date Index |
> In the last attempt to simplify XML, two key requirements were a)
> compatibility with XML, and b) minimalization. This time, I removed the
> compatibility requirement and shifted to focus to user-friendly syntax:
> easier to read and write than XML. First rought cut of the syntax is
> described informally as a blog post.
> Please keep in mind that the syntax is incomplete but presented here to
> promote discussion and exploration.
This looks a lot like an indented syntax I created a while back to make it
easier to type XML files. I posted it to the PyXML list, and at XML2002
John Cowan asked me to post it here. (which obviously I did not get to
before now - sorry, John).
Here is my version of Don's sample from the linked web page -
<circle x="1.0" y="1.0" r="0.5">
Indented Text -
Character content, if there is any, begins right after the "::" as shown in
the "text::" line. Text can wrap into multiple contiguous lines, since lines
that do not begin with 'WORD::' or '@ATT::' are taken to be part of the
character content of the open element (so you do not get mixed content - a
tradoff for simplicity - you could fix it by using for example ~text:: for
A line that begins with a semicolon is taken as a comment line.
Any number of indent levels are supported. I wrote a simple Python parser
that emits SAX events, and an XML handler that emits XML.
I use double colons so I can use single colons in namespaced element names.
Although my code does not actually understand namespaces, this device allows
the use of prefixed names, and of course you can put in the xmlns:xxx pseudo
Of course this format is too simple to capture everything in XML, but it
does the basics of banging elements into place easily and readably.
I like especially like ths format for the Python-esque indentation approach
(like Don's) and for its ability to easily distinguish the attributes from
the elements, plus I do not even have to quote attribute values, which in
turn means I do not have to escape quotes.
I never thought of this as a replacement for XML, but just a handy helper
for easy typing and reading.