Subject: RE: [xsl] document function and counting From: "Michael Kay" <mhkay@xxxxxxxxxxxx> Date: Wed, 1 Aug 2001 17:26:31 +0100 |
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: [xsl] 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] document function and cou, Trevor Nash | Thread | [xsl] Error message, Carlos Durand Silves |
Re: [xsl] document function and cou, Trevor Nash | Date | [xsl] xslt and edi question, Kuhn, Allen |
Month |