|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: document function and counting
I think the best answer is to combine the two documents into a single tree (using xsl:copy-of), and then process that tree using the node-set() extension function: <xsl:variable name="combined"> <a> <b><xsl:copy-of select="document('1.xml")/></b> <b><xsl:copy-of select="document('2.xml")/></b> </a> </xsl:variable> <xsl:template match="/"> <xsl:apply-templates select="xx:node-set($combined)"/> </xsl:template> <xsl:template match="a/b//item"> <xsl:number/> </xsl:template> Mike Kay Software AG > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Christine > Donica > Sent: 01 August 2001 16:01 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: document function and counting > > > > > I am trying to use the document function to pull in the > result trees of > other documents and then I want to number things across the entire new > document in one pass. > > For example say I have a file called master.xml which > contains uri's to > other documents called foo1.xml and foo2.xml. Say foo1.xml > and foo2.xml > each contain a list of <item> tags. > > I want the output of the transformation to be a document > which contains > all of the <item>s of both foo1.xml and foo2.xml AND I want > to number them > continuously from the top to the bottom. I want to do this > in one pass of > a stylesheet. > > I can pull foo1.xml and foo2.xml into the output file using > document(). > Also, if all of the items are already in the same document I > can easily > number them using the <xsl:number> tag. However, it is not > possible to do > both in the same run of the stylesheet because xsl:number > does not seem to > have access to the elements in main.xml and either foo1.xml > or foo2.xml at > the same time. So I can reach my goal if I write two > stylesheets and run > them one after each other, but I don't want to do that. > > Alternatively, I have tried using parameters to pass a number into the > item template. However, I don't know how to get this > information from the > point where the template matches an <item> in foo1.xml to a > point where it > matches <item> in foo2.xml. That is, I cannot pass parameters up the > tree. > > Could someone please explain how I should do this? Or, is it even > possible? > > Thank you so much for your time. > > Sarah Coppin > > > > > > 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
|






