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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Lx: compact syntax for XML

[ Lists Home | Date Index | Thread Index ]

Rick Marshall wrote:
> this may sound crazy, but every proposal i've seen so far to make xml
> quicker/faster seems to rely on getting rid of the end tag.
> 
> either binary run length coded formats, or traditional binary number
> encodings etc; or more standard termination chars }, ), NUL, etc. anyone
> want to propose a syntax with ; as a terminator ? or did i miss that
> one.
> 
> here's the valuable trick. the end tag must identifiably match the start
> tag, and it must be validated that the end tags occur in the correct
> order, and the content must be unambiguously NOT an end tag.
> 
> any takers?

I did it with indentation, a la Python.

xsl:stylesheet::
    @version::1.0
    xsl:template::
       @match::node()|@*
       copy::
          xsl:apply-templates::
             @select:@*|node()


The double colons are used so that single ones can be used in Qnames. 
Any line that does not begin with a word:: is a continuation of PCDATA 
content from a previous line (there is a comment indicator, too).  "@", 
of course, signals an attribute name.

The apparent weakness of this simpleminded verson is that it does not 
know about namespaces, just Qnames, but that is OK because we just want 
to spit out real, angle-bracketed xml using the same QNames.

A similar parser lets you turn indented lists into xml - once you can 
pick up the indent level when there is a jump of several levels of 
un-indent, you are set to parse lots of similar formats.

I've looked at or tried a number of compact syntaxes, but this is the 
only one I come back to.

Cheers,

Tom P




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS