[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] one line of xml to indented xml doc


Subject: RE: [xsl] one line of xml to indented xml doc
From: Astor Rivera <arivera@xxxxxxxx>
Date: Mon, 25 Mar 2002 10:42:29 -0800

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@xxxxxx]
Sent: Monday, March 25, 2002 6:51 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
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('&#10;',$indent)"/>
         <xsl:copy>
             <xsl:copy-of select="@*"/>
             <xsl:apply-templates 
select="*|text()[normalize-space()]|comment()"/>
             <xsl:if test="*">
                 <xsl:value-of select="concat('&#10;',$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@xxxxxxxxx
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



Current Thread
Keywords
xml