Subject: Re: [xsl] document() loops From: Peter Davis <pdavis152@xxxxxxxxx> Date: Fri, 13 Sep 2002 06:27:29 -0700 |
On Friday 13 September 2002 06:10, Laura Jenkins wrote: > <xsl:for-each > select="document(univ-xml[1])/university-records/univ-ids/univ"> > <xsl:element name= "univ{position()}"> > <xsl:value-of select="name"/> > </xsl:element> > <xsl:if test= "position() = last()"> > <second-xml> > <xsl:for-each > select="document(univ-xml[2])/university-records/univ-ids/univ"> ^^^^^^^^ There is your problem: you have a relative XPath expression. The first for-each evaluates its expression in the context of whatever node you selected outside the for-each, presumably a univ-xml-list from your example. The second for-each is evaluating its expression in the context of what was selected from the first for-each, which is "/university-records/univ-ids/univ". For this to work, the document loaded by the first document() would have to look like this: <university-records> <univ-ids> <univ> <univ-xml>ignored</univ-xml> <univ-xml>this is univ-xml[2]</univ-xml> </> I'm guessing that's not what you want. If it is, ignore me. You either need an absolute path to univ-xml[2], or you need to store it in a variable before the first for-each changes the context. For example: <xsl:variable name="univ-xml-2" select="univ-xml[2]"/> <xsl:for-each select="document(univ-xml[1])/..."> ... <xsl:for-each select="document($univ-xml-2)/..."> ... </> HTH -- Peter Davis XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] document() loops, Laura Jenkins | Thread | Re: [xsl] document() loops, Laura Jenkins |
Re: [xsl] XSLT Extension Functions, Joseph Kesselman | Date | [xsl] Problem with iterating throug, Mac Rost |
Month |