Subject: RE: [xsl] Can a named template return a node list? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 16 Jun 2005 16:53:05 +0100 |
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@xxxxxxxx] > Sent: 16 June 2005 15:25 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Can a named template retu, Dan | Thread | [xsl] xml:lang, Mike Ferrando |
Re: [xsl] Can a named template retu, John | Date | [xsl] xml:lang, Mike Ferrando |
Month |