[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] XSLT 3.0: Dynamic Evaluation -- inconsistency about treating the document() function


Subject: [xsl] XSLT 3.0: Dynamic Evaluation -- inconsistency about treating the document() function
From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 8 Feb 2015 23:02:31 -0000

The 6th bullet in Section "10.4.1 Static context for the target
expression " of the 2nd Last Call of the W3C XSLT 3.0 Specification:
    http://www.w3.org/TR/2014/WD-xslt-30-20141002/#evaluate-static-context

says:

"Function signatures: All core functions; constructor functions for
named simple types included in the in-scope schema definitions; all
user-defined functions and accumulator functions present in the
containing package provided their visibility is not hidden or private;
and an implementation-defined set of extension functions.

Note that this set deliberately excludes XSLT-defined functions in the
standard function namespace including for example, key, current-group,
and system-property A list of these functions is in G List of
XSLT-defined functions."

Looking in the above-mentioned Appendix G
(http://www.w3.org/TR/2014/WD-xslt-30-20141002/#XSLT-defined-functions),
we find the document() function there.

Therefore, the document function is one of the "deliberately-excluded
XSLT-defined functions" mentioned above, and isn't allowed to be
called inside a dynamically-evaluated XPath expression.

Further in the specification, in section "10.4.2 Dynamic context for
the target expression", at:
http://www.w3.org/TR/2014/WD-xslt-30-20141002/#evaluate-dynamic-context

it is said:

"Note:

For example, a processor may disallow access using the doc or document
functions to documents in local filestore"


Current Thread
Keywords