In XSLT 1.0, templates don't return anything, they write to the current
result tree (which might be the final result tree, or the contents of an RTF
in a variable). This means that if they produce nodes, the nodes are always
copies of nodes in the source, not references to original nodes.
This all changes with 2.0.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: John [mailto:john-xsl-list(_at_)jpw3(_dot_)com]
Sent: 16 June 2005 15:25
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Can a named template return a node list?
Sorry in advance for my terminology. Is it possible for a named
template to return a node list? Here is some simplified XML
with which
I have been experimenting:
<root>
<node1 attr="node1attrval">
<node1a>node1atext</node1a>
</node1>
<node2 attr="node2attrval">
<node2a>node2atext</node2a>
</node2>
</root>
And the XSL I have been trying:
<xsl:template match="*">
<xsl:variable name="somenode">
<xsl:call-template name="sometemplate" />
</xsl:variable>
<xsl:value-of select="$somenode/@attr" />
</xsl:template>
<xsl:template name="sometemplate">
<xsl:copy-of select="/root/node1" />
</xsl:template>
The reference to $somenode/@attr gives an error. I think the
problem is
with copy-of - I want it to return a reference to a node, but
it seems
to return the value of the node. Is there some other function or
approach I should try? I have tried value-of and copy, and I
am hoping
to stay away from XSL extensions if possible. I cannot use XSL 2.
Thanks,
-John
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--