This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: document() and xpath
- From: Francis Norton <francis at redrice dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Mon, 29 Apr 2002 20:06:44 +0100
- Subject: Re: [xsl] document() and xpath
- References: <EAD92ACC59F13C429E47F1919A42E64CA2A603@UKLDNXDR01>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi Meltem,
Meltem Kogelbauer wrote:
>My problem is with the xpath (I think) in <apply-templates> element. When
>looping in the external XML, how can I write the XPath to the current
>document? Is this possible?
>
The problem is in fact with the for-each element, which has changed the
current document, and thus the context in which your inner XPath is
evaluated.
But you can, in this case, fight fire with fire - try:
<variable name="myRoot" select="/" />
<for-each select="document('xml.xml')/menu/name">
<value-of select="text()"/>
<for-each select="$myRoot">
<apply-templates select="/page/form" />
</for-each>
</for-each>
where the inner for-each is used not for repetition, but only for the
side-effect of changing back to your original document.
Francis.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list