This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: one line of xml to indented xml doc


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('&#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@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]