This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: document() and xpath
- From: "Dion Houston" <dionh at microsoft dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 29 Apr 2002 12:03:58 -0700
- Subject: RE: [xsl] document() and xpath
- Reply-to: xsl-list at lists dot mulberrytech dot com
You should be able to do (before your for-each):
<xsl:variable name="formNodes" select="/page/form"/>
And then replace apply-templates with:
<xsl:apply-templates select="$formNodes"/>
You probably should consider restructuring your XSL so you don't have to
create a temp variable... maybe something like... (?)
<xsl:apply-templates select="document('xml.xml')/menu/name |
/page/form"/>
And then have templates for name and form.
HTH!
Dion
-----Original Message-----
From: Meltem Kogelbauer [mailto:meltem.kogelbauer@netdecisions.com]
Sent: Monday, April 29, 2002 11:39 AM
To: xsl-list@lists.mulberrytech.com
Subject: [xsl] document() and xpath
Hi All,
here is the simplified version of code;
1st XML that is generated on-the-fly
<page>
<form>
<name/>
<id/>
</form>
...
</page>
2nd XML that is a flat file, xml.xml
<menu>
<name/>
<name/>
<name/>
</menu>
In the XSL
<for-each select="document('xml.xml')/menu/name">
<value-of select="text()"/>
<apply-templates select="/page/form" />
</for-each>
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?
cheers
Meltem
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list