[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Variable scope when using imported stylesheets
Hi,
I'm a bit at a loss how I can use variables in the context of imported stylesheets. I have a stylesheet A that worked standalone up to now, but now needs to import templates from a stylesheet B. I had defined global variables in A to save myself some typing: they selected some nodesets *deep* in the source tree that I needed very often in the processing, e.g. (simplified) <xsl:variable name="VehData" select="/root/data/baseDboFileRef/FileRefEval/FileRefVehData" /> I used $VehData whenever I needed to access the "vehicle data". Fine as long as there is only one baseDboFileRef. But my *new* source tree is going to have several ones, which are treated with the templates from the imported stylesheet: <xsl:for-each select="/root/data/baseDboFileRef"> <xsl:call-template name="[...]" /> ... many more templates from B called ... </xsl:for-each> I would like to define variables again to save the typing, so I thought I would need relative paths in the variable to make the access independent of the changing context (baseDboFileRef). First, I tried defining global variables in the imported stylesheet that were an abbreviated version, as a tribute to the changed context: <xsl:variable name="ImpVehData" select="FileRefEval/FileRefVehData" /> I didn't have much hope that that would work and indeed it didn't... Now I could define my variables within each of the templates that get imported and I guess that would work. But since there are so many templates I'm wondering if there is a more elegant way to do this? Thanks, Ralph
|
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
|