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@xxxxxxxxxxxxxxxx] Sent: Monday, April 29, 2002 11:39 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: 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
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format