[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: can a function return an element of a nodeset
Subject: Re: 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
|
Well you are right Martin, let's say <bar> can be anywhere in the
document and the function returns :
document('foo.xml')//bar[@id='$id']
(supposing id is id type, thus unique)
I tried with a sequence and that's it !
Thanks a lot Martin,
Matthieu.
Le 13/01/2011 15:17, Martin Honnen a icrit :
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|