This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: call-template and execute xsl command
called like this:
<xsl:variable name='y'>
<xsl:call-template name='attributes'/>
</xsl:variable>
No, not called like that. xsl:variable if used with non-empty content
creates a new document fragment. This is essentially a new document, it
starts off with a top level root node. You can't add attributes to a
root node, so calling your attribute template (which calls
xsl:attribute) is a recoverable error.
Even if that had done what you wanted and produced a variable containing
a set of attribute nodes,
<xsl:value-of select="$y"/>
wouldn't have produced any attributes as value-of always takes the
string value of its argument (you'd need copy-of to get structured
values)
You don't want a variable at all here, just call the template directly
ie replace
<xsl:value-of select="$y"/>
by
<xsl:call-template name='attributes'/>
or you could use attribute-set feature (which is probably what you want
here, although personally I never use it)
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list