This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Stylesheet assistance
Daniel --
A much briefer version with two simple templates and no parameter
passing. Many thanks to Nikolai Grigoriev for inspiration regarding the
ancestor:: axis.
Gary
=====================================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:strip-space elements="test"/>
<xsl:template match="test">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="p">
<xsl:param name="indent" select="0"/>
<xsl:variable name="indent" select="count(ancestor::*[ancestor::*/b])
* 12" />
<xsl:choose>
<xsl:when test="$indent = 0">
<p><xsl:value-of select="."/></p>
</xsl:when>
<xsl:otherwise>
<p style="{concat('margin-left: ',$indent, 'px')}"><xsl:value-of
select="."/></p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
===============================================
Gary L Peskin wrote:
>
> Daniel --
>
> Well, it's ugly but it does seem to do what you want. Maybe someone can
> come up with a more abbreviated version.
> ...
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list