This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: one line of xml to indented xml doc
- From: Astor Rivera <arivera at esri dot com>
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 25 Mar 2002 10:42:29 -0800
- Subject: RE: [xsl] one line of xml to indented xml doc
- Reply-to: xsl-list at lists dot mulberrytech dot com
Thank you very much for the stylesheet.
It works great Joerg.
The previous stylesheet that Peter put up did indent the
stylesheet, but it gave too much spacing and didn't create a
hierarchy like this one.
Thanks,
Astor
-----Original Message-----
From: Joerg Heinicke [mailto:joerg.heinicke@gmx.de]
Sent: Monday, March 25, 2002 6:51 AM
To: xsl-list@lists.mulberrytech.com
Subject: Re: [xsl] one line of xml to indented xml doc
Another indentation-stylesheet:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="no" encoding="ISO-8859-1"/>
<xsl:template match="node()">
<xsl:variable name="indent">
<xsl:for-each select="ancestor::*">
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="concat(' ',$indent)"/>
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates
select="*|text()[normalize-space()]|comment()"/>
<xsl:if test="*">
<xsl:value-of select="concat(' ',$indent)"/>
</xsl:if>
</xsl:copy>
</xsl:template>
<xsl:template match="text()[normalize-space() and
not(preceding-sibling::* or following-sibling::*)]">
<xsl:value-of select="normalize-space(.)"/>
</xsl:template>
</xsl:stylesheet>
Regards,
Joerg
--
System Development
VIRBUS AG
Fon +49(0)341-979-7411
Fax +49(0)341-979-7409
joerg.heinicke@virbus.de
www.virbus.de
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list