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]

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

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