[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: xsl:import and use-when

Subject: Re: xsl:import and use-when
From: "Rushforth, Peter peter.rushforth@xxxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 16 May 2014 11:54:30 -0000
Re:  xsl:import and use-when
Cheers,
Peter

> -----Original Message-----
> From: Michael Kay mike@xxxxxxxxxxxx [mailto:xsl-list-
> service@xxxxxxxxxxxxxxxxxxxxxx]
> Sent: May 16, 2014 03:59
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: 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

I see that now, thanks.

> >
>
> 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().

I see, thanks.

>
> 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.

But useful!


I guess I will try an extension function.

Thanks
Peter

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.