xsl-list
[Top] [All Lists]

Lx: a compact syntax for XML/XSL

2004-04-18 15:39:10

Greetings,

I'd like to announce a first public release of lx: a compact syntax
for XML, of particular interest for authors of XSL.

Yeeees, another one.  But wait:
    * it's not yet another `binary XML' proposal -- there's no need for that;
    * it's not intended to take over the world.

Lx is intended to be useful for folk authoring that specific class of
documents -- such as XSL stylesheets and RDF serialisations -- which have
more markup than content.  It's certainly my experience that editing XSL
stylesheets is more unpleasant than it need be, because the structure
is hard to see amid all the angle-brackets, end-tags, and endlessly
repeated namespace prefixes.  Dammit: XSL files just look so _ugly_!

Perhaps this is not a problem for those who read and write XSL all
their waking hours, and it's likely not a problem for those new to XSL,
for whom the regularity of XML might arguably be a benefit.  Lx is for
those of us in the middle.

Here, for example, is the XSL identity transformation in Lx:

  (lx:namespace ((#f "http://www.w3.org/1999/XSL/Transform";))
    (stylesheet version: 1.0
      (template match: "node()|@*"
        (copy
          (apply-templates select: [(_at_)*|node()])))))

It looks lispish because that's a well-defined syntax, with good support
in editors, which closely matches the structure and semantics of XML,
and XSL in particular.  It's not lisp, however.

This release consists of the definition of the syntax plus a rather
lightweight Java package that implements org.xml.sax.XMLReader.  This
parses the syntax and turns it into a SAX1 or SAX2 stream.  It's GPLed.

Further details, examples, javadocs, and downloads at
<http://www.astro.gla.ac.uk/users/norman/distrib/lx/>

All comments welcome.

Best wishes,

Norman


-- 
---------------------------------------------------------------------------
Norman Gray                        http://www.astro.gla.ac.uk/users/norman/
Physics and Astronomy, University of Glasgow, UK     
norman(_at_)astro(_dot_)gla(_dot_)ac(_dot_)uk



<Prev in Thread] Current Thread [Next in Thread>
  • Lx: a compact syntax for XML/XSL, Norman Gray <=