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