[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: document() loops
Sorry if i am dragging it a bit too much,
but, <xsl:for-each select="document(univ-xml[1])/university-records/univ-ids/univ"> <xsl:value-of select="position()"/> <br/> <xsl:value-of select="name"/> <hr/> </xsl:for-each> works fine .. iterates through the nodes..and gets the data from the xml file at position1 ie., univ-xml1.. perfect!! but when i try to iterate through other XML files WITHIN the above for-each, nothin shows up.. example. <xsl:template match="univ-xml-list"> <first-xml> <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"> <!-- TO ITERATE THROUGH THE 2nd XML --> <xsl:element name= "univ{position()}"> <xsl:value-of select="name"/> </xsl:element> </xsl:for-each> </second-xml> </xsl:if> </xsl:for-each> </first-xml> </xsl:template> I was expecting to get a result like.. <?xml version="1.0" encoding="UTF-16"?> <first-xml> <univ1>Kansas State University</univ1> <univ2>Florida Atlantic University</univ2> <univ3> Mississipi State University</univ3> <univ4>Ohio State University</univ4> <second-xml> <univ1>Ohio State University</univ1> <univ2>Wisconsin state University</univ2> <univ3> Rensellar polytechnic Institute </univ3> <univ4> Mississipi State University</univ4> </second-xml> </first-xml> but what prints out is.. <first-xml> <univ1>Kansas State University</univ1> <univ2>Florida Atlantic University</univ2> <univ3> Mississipi State University</univ3> <univ4>Ohio State University</univ4> <second-xml></second-xml> </first-xml> am i wrong anywhere ? if yes then what has to be done to get the result i was expecting.. this might probably lead me towards what i want.. thanks From: David Carlisle <davidc@xxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx CC: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: document() loops your terminology does not fit well with that of XSLT so I am having to guess what you mean. for-each iterates over the set of nodes supplied, these can come from any number of files: you just have to select the appropriate nodes. Perhaps you would be better to apply-templates rather than do a for->each if you want to traverse into the file structure. But otherwise, as I think i said before, something like <xsl:for-each select="univ-xml"> >stuff from <xsl:value-of select="."/> ><xsl:for-each select="document(.)/university-records/*"> > iterate over all the children of university-records in this file... From: "Laura Jenkins" <xsl_list@xxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: document() loops Date: Fri, 13 Sep 2002 11:21:43 +0000 _________________________________________________________________ Chat with friends online, try MSN Messenger: http://messenger.msn.com 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
|