Subject: Re: [xsl] Re: document() From: "Jonathan Perret" <jonathan@xxxxxxxxxxxx> Date: Wed, 13 Feb 2002 15:32:36 +0100 |
Stuart, If you need to access the input document when the context is inside another document, there is a simpler way through the use of a variable : <xsl:transform [blah blah]> <xsl:variable name="root" select="/" /> <xsl:template match="foo"> <xsl:for-each select="document('someOtherDoc.xml')> <!-- We move the context into some other doc --> <xsl:for-each select="$root"> <!-- And here we are back in the original (whatever it is) --> </xsl:for-each> </xsl:for-each> </xsl:template> </xsl:transform> Simpler and almost certainly faster (the input document does not have to be parsed twice). And you don't need to pass an external parameter. Cheers, --Jonathan ----- Original Message ----- From: "Stuart Brown" <stuart.brown@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> > It might not be the most sophisticated solution, but I define a global parameter > docURI, use references to this, and pass the value to the processor at the > command line, thus: > > <xsl:transform [blah blah]> > <xsl:param name="docURI">index.xml</xsl:param><!-- My default --> > <xsl:template match="foo"> > <xsl:for-each select="document('someOtherDoc.xml')> > <!-- We move the context into some other doc --> > <xsl:for-each select="document($docURI)"> > <!-- And here we are back in the original (whatever it is) --> > </xsl:for-each> > </xsl:for-each> > </xsl:template> > </xsl:transform> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: document(), Stuart Brown | Thread | RE: [xsl] match on attribute anywhe, Jeff Beadle |
[xsl] CrossPost: Anybody using eCX, thomas | Date | [xsl] xsl-fo question, Bryan Rasmussen |
Month |