Re: A little cross referencing problem
Hi Steven, >> Of course the only slight drawback is that the document('') call >> will only get the current stylesheet document, and therefore won't >> search for keys defined in imported or included stylesheets (or >> indeed stylesheets in which this one is imported or included). > > Couldn't you, potentially, write a called template which would > recursively open included or imported stylesheets and check in them > as well? Yes, although a named template would only be able to return a result tree fragment rather than the actual nodes. Extension functions like saxon:closure() (suggested by Christian Nantwich, I believe) would help a lot here. However, you couldn't do the same thing to access the stylesheets in which this one is included/imported. Say A.xsl includes B.xsl or C.xsl. There's no way from within B.xsl to test whether the keys and decimal formats available in A.xsl and C.xsl exist, unless of course you know through some other means that B.xsl is being used as part of A.xsl rather than standing on its own. The references that build include/import trees only point down, not up. This kind of split between stylesheets could happen if the constructs were divided up by type, so B.xsl holds all the named templates while C.xsl holds all the keys and decimal formats and A.xsl holds all the matching templates, for example. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ 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