[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: xsl:import and use-when
On 16 May 2014, at 03:09, Abel Braaksma (Exselt) abel@xxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > On 16-5-2014 2:49, Rushforth, Peter peter.rushforth@xxxxxxxxxxxxxxxxx wrote: >> With regard to statically known available documents [2], the spec says that statically known documents [3] in the static context [4] are used to provide static type information, not to determine which documents are available. But if a document is statically known, it is potentially available using the doc() function, hence I think the use of doc-available() in use-when should be legal, although if it isn't it isn't. > > You are quoting the XPath spec here, which allows enough breath for host > languages to provide a list of statically available documents. However, > in the section that you also refered to, > http://www.w3.org/TR/xslt20/#conditional-inclusion, you should scroll > down until the bottom of the first table, there is says: > > Statically known documents None > Statically known collections None > Actually and rather confusingly, it's the "available documents" in the dynamic context that matters, not "statically known documents" in the static context. Use-when expressions (and in XSLT 3.0, other static expressions) are evaluated during stylesheet analysis, so their dynamic execution occurs during the XSLT static analysis (compilation) phase; their dynamic execution has a dynamic context, and it is this that determines the results of doc() and doc-available(). Saxon still implements the 2.0 restriction on using doc() in use-when expressions, despite the relaxation in the spec. I can't see any particular reason not to lift the restriction (which can be done by removing one line of code and adding a load of test cases....). Oh, looking at it more carefully, I see that there would be no document pool maintained across a compilation, so multiple calls on doc() to fetch the same document would be grossly inefficient. Michael Kay Saxonica
|
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
|