Subject: Re: [xsl] can a function return an element of a nodeset From: Matthieu Ricaud-Dussarget <matthieu.ricaud@xxxxxxxxx> Date: Thu, 13 Jan 2011 15:29:18 +0100 |
Thanks a lot Martin, Matthieu.
Matthieu Ricaud-Dussarget wrote:
I'm wondering if there is a way to make a function returning an element (or a kind of "pointer" to an element) of a another document. Something like :
<xsl:function name="my:get-node" as="item()*"> <xsl:param name="id"/> <xsl:copy-of select="document('foo.xml')/bar[@id='$id']"/>
<xsl:sequence select="document('foo.xml')/bar[@id=$id]"/> returns the node(s) itself(themselves), without copying.
</xsl:function>
The xsl:copy instruction will here copy the node wilthout his contexte, but I would like to be able to perform xpath test which need the context of this node within foo.xml, such as :
<xsl:value-of select="count(my:get-node('123')/preceding-sibling::*)"/>
I guess this is not possible, can someone confirm this ?
Well a document has a single root element that can't have any sibling elements so document(...)/bar can't have sibling elements but other than that I think you want to use xsl:sequence.
-- Matthieu Ricaud IGS-CP Service Livre numirique
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] can a function return an , Martin Honnen | Thread | Re: [xsl] can a function return an , David Carlisle |
Re: [xsl] can a function return an , Martin Honnen | Date | Re: [xsl] can a function return an , David Carlisle |
Month |