This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: call-template and execute xsl command
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 15 Apr 2002 20:04:43 +0100
- Subject: RE: [xsl] call-template and execute xsl command
- Reply-to: xsl-list at lists dot mulberrytech dot com
You can't add attributes to an element after adding a text node. This is so
that XSLT processors are able to operate serially.
What you are trying to do is effectively:
<xsl:element name="e">
text
<xsl:attribute name="a">5</xsl:attribute>
</xsl:element>
A processor trying to output
<e a="5">text</e>
would have to delay outputting the "text" until it was sure there were no
attributes to be added.
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Eric Smith
> Sent: 15 April 2002 18:27
> To: xsl-list@lists.mulberrytech.com
> Subject: [xsl] call-template and execute xsl command
>
>
> Hi
>
> I have a named template of the following form:
>
>
> <xsl:template name= "attributes">
> <xsl:choose>
> <xsl:when test="@font-size">
> <xsl:attribute name="font-size"><xsl:value-of
> select="@font-size"/></xsl:attribute>
> </xsl:when>
> <xsl:when test="@text-align">
> This text prints out if @text-align but the xsl:command
> is not executed
> <xsl:attribute name="text-align"><xsl:value-of
> select="@text-align"/></xsl:attribute>
> </xsl:when>
> </xsl:choose>
> </xsl:template>
>
> called like this:
> <xsl:variable name='y'>
> <xsl:call-template name='attributes'/>
> </xsl:variable>
>
> However, as you may see by my notes above, text prints out fine
> subject to the condition, however I cannot change or add
> attributes as required.
>
> Any suggestions?
>
> thanx
>
> --
> Eric Smith
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list