|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Re: document()
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
|
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
|

Cart








