This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: document() and xpath


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]