qtspecs
qtspecs copied to clipboard
XSLT: names of functions in pattern
The spec says
In a [FunctionCallP], the EQName used for the function name must have local part doc, id, element-with-id, key, or root, and must use the [standard function namespace] either explicitly or implicitly.
But the grammar does not allow an EQName, it only allows:
[10] FunctionCallP ::= OuterFunctionName ....
[11] OuterFunctionName ::= "doc" | "id" | "element-with-id" | "key" | URIQualifiedName
For example the grammar does not allow fn:doc('a:xml')
when fn is bound to the conventional namespace.
Also: the XSLT 3.0 grammar allows the root()
pattern, but the 4.0 grammar does not.