Subject: [xsl] Re: document() From: Stuart Brown <stuart.brown@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 13 Feb 2002 12:36:46 +0000 |
> > Thanks for your reply! Do you ( or anybody else) happen to know how to use > the document() function to get to the root node of the xml file that you're > applying your stylesheet to? Or are there better, alternative ways of > getting your > xml file root node?? 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> Command line (e.g.): saxon foo.xml bar.xsl docURI="foo.xml" > Even more confusing, > he says that document('') is used to get the root node of the > stylesheet - what > would you do with that? Didn't he mean the root node of the xml file you're > applying the stylesheet to? No -- the stylesheet itself. If there is some static data, for instance US State name/abbreviation equivalencies to which you will be referring at various points, you can set up the following kind of system: <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform xmlns:lookup="lookup-place" exclude-result-prefixes="book"> <lookup:us> <lookup:state abbr="CA">California</lookup:state> <lookup:state abbr="NY">New York</lookup:state> ... </lookup:us> and then you know you have this information irrespective of the actual file you are processing, and can get at it anywhere within the style sheet with, for instance, <xsl:value-of select="document(' ')//lookup:state[@abbr=$myState]"> Stuart ============ Stuart Brown Text Encoding Initiative Oxford, UK XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] regd. Validating XML docu, Bill Han | Thread | Re: [xsl] Re: document(), Jonathan Perret |
[xsl] regd. Validating XML document, suresh . | Date | [xsl] determining position of a doc, Bryan Rasmussen |
Month |