|
Subject: RE: [xsl] rewriting xslt 1 to xslt 2.0 From: "Bryan Rasmussen" <bry@xxxxxxxxxx> Date: Tue, 29 Jan 2002 11:17:39 +0100 |
>The most obvious change you can make is to replace the recursive template
>with an iteration. Something like:
>
>
>
> <xsl:param name="siblings">
> <stil for="def" type="1">dyn</stil>
> <stil for="def" type="2">plain</stil>
> <stil for="dyn" type="1">def</stil>
> <stil for="dyn" type="2">plain</stil>
> <stil for="plain" type="1">def</stil>
> <stil for="plain" type="2">dyn</stil>
> </xsl:param>
> <xsl:variable name="stilnum" select="2"/>
>
> <xsl:template name="changeStyles">
> <xsl:variable name="br_type" select="@browse"/>
> <xsl:variable name="st_type" select="@style"/>
> <tempxsl:template match="change_style">
> <xsl:variable name="stiltext"
> select="$siblings/stil[@for=$st_type and
> @type=position()]"/>
>
> <xsl:for-each select="1 to $stilnum">
> <br/>
> <a>
> <tempxsl:attribute name="href"><xsl:value-of
> select="$br"/>assembler.asp?xmlsrc=&mspgl;
> <tempxsl:value-of select="$title"/>&st=<xsl:value-of
> select="$br"/><xsl:value-of select="$stiltext"/>
> </tempxsl:attribute>
> <xsl:call-template name="langstring">
> <xsl:with-param name="trans2"
> select="concat($stiltext,'_style')"/>
> </xsl:call-template>
> </a>
>
</xsl:for-each>
</xsl:template>
thanks, have to stick partially recursive though, because @type=position()
is 1,
<xsl:for-each select="1 to $stilnum"> is especially helpful :)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] rewriting xslt 1 to xslt , Michael Kay | Thread | [xsl] How to select elements based , Rogier Hofboer |
| [xsl] Using XSLT Component, Jarkko Kähkönen | Date | [xsl] xsl:document, fo output, DPawson |
| Month |