Subject: Re: [xsl] XSLT2.0 compatibility From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 5 Sep 2006 19:41:06 +0100 |
If I needed more control in a pure xslt way I'd probably do a 2nd pass over the result tree either as a 2nd transform or by using a variable and then a special mode to apply templates, something like <xsl:template match="*" mode="indent"> <xsl:text> </xsl:text> <xsl:for-each select="ancestor::*"><xsl:text> </xsl:text></xsl:for-each> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates mode="indent"/> <xsl:text> </xsl:text> <xsl:for-each select="ancestor::*"><xsl:text> </xsl:text></xsl:for-each> <xsl:copy> </xsl:template> Then you can ealy add special templates <xsl:template match="foo" mode="indent"> <xsl:text> </xsl:text> <xsl:comment>double spaced</xsl:comment> <xsl:for-each select="ancestor::*"><xsl:text> </xsl:text></xsl:for-each> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates mode="indent"/> <xsl:text> </xsl:text> <xsl:for-each select="ancestor::*"><xsl:text> </xsl:text></xsl:for-each> <xsl:copy> </xsl:template> This way the indenting doesn't intefere with your main transform and can easily be put in a common stylesheet that you include when needed. David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XSLT2.0 compatibility, Houghton,Andrew | Thread | RE: [xsl] XSLT2.0 compatibility, Michael Kay |
Re: [xsl] XSLT Saxon Transformation, Vincent Blondel | Date | Re: [xsl] XSLT Saxon Transformation, Robert Koberg |
Month |