This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: document() and xpath
- From: Joerg Heinicke <joerg dot heinicke at gmx dot de>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Mon, 29 Apr 2002 21:15:13 +0200
- Subject: Re: [xsl] document() and xpath
- References: <EAD92ACC59F13C429E47F1919A42E64CA2A603@UKLDNXDR01>
- Reply-to: xsl-list at lists dot mulberrytech dot com
You have to bring the focus back to the original document. For this you
must store the document in a variable:
<xsl:variable name="document1" select="/"/>
<xsl:variable name="document2" select="document('xml.xml')"/>
<xsl:for-each select="$document2/menu/name">
<xsl:apply-templates select="$document1/page/form"/>
</xsl:for-each>
Regards,
Joerg
Meltem Kogelbauer schrieb:
> 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