<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!--

XML to LMNL XSLT transform

Converts an arbitrary XML document into a LMNL representation.

Doesn't handle:
  namespaces
  milestones (either empty elements or processing instructions)
  [lots of other things you might tell us about]

By Wendell Piez for LMNL.org
September 25 2002

-->

<xsl:output method="text"/>

<xsl:template match="*">
  <xsl:text/>[<xsl:value-of select="name()"/>
    <xsl:apply-templates select="@*"/>
  <xsl:text>}</xsl:text>
  <xsl:apply-templates/>
  <xsl:text/>{<xsl:value-of select="name()"/>]<xsl:text/>
</xsl:template>

<xsl:template match="@*">
  <xsl:if test="normalize-space()">
    <xsl:text/> [<xsl:value-of select="name()"/>
    <xsl:text>}</xsl:text>
    <xsl:value-of select="."/>
    <xsl:text/>{<xsl:value-of select="name()"/>]<xsl:text/>
  </xsl:if>
</xsl:template>

</xsl:stylesheet>