Re: [xsl] document() and xpath

Subject: Re: [xsl] document() and xpath
From: Francis Norton <francis@xxxxxxxxxxx>
Date: Mon, 29 Apr 2002 20:06:44 +0100
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


Current Thread