Issues running 9.9 SEFs with Saxon-JS 1.1.0
There are some differences in SEFs generated by 9.9 compared to 9.8, which the current Saxon-JS release 1.1.0 cannot handle. Use this bug to keep track of problems with running SEFs generated by Saxon-EE 9.9 (with -export:JS) with Saxon-JS 1.1.0.
#1 Updated by Debbie Lockett 6 months ago
- Running XsltTestSuiteDriverJS in 9.9, a number of XSLT 3.0 tests fail with "Undeclared prefix", e.g. -s:attribute -t:attribute-0001 This is due to the fact that with 9.9, namespace declarations are no longer exported inside SEFs.
e.g. 9.8 SEF:
<att xmlns:p="http://ns.p.com/" name="p:local" nsuri="http://ns.p.com/" flags="l">
<att name="p:local" nsuri="http://ns.p.com/" flags="l">
When processing the "att" expression, Saxon-JS 1.1.0 ignores
att/@nsuri, and just attempts to use namespace declarations to resolve lexical QNames.
It was a design decision to remove the namespace declarations inside 9.9 SEFs; so this requires a fix in Saxon-JS. When
att/@nsuri is available, it should be used (note that 9.7 SEFs do not include
att/@nsuri, so we still need to handle this case).
#2 Updated by Debbie Lockett 6 months ago
.2. A couple of XSLT 3.0 tests fail with "Undeclared prefix: err" e.g. -s:maps -t:maps-009
In 9.9, "err" has been added to the list of commonly-used conventional prefixes; see NamespaceConstant.getUriForConventionalPrefix. So when outputting the in-scope namespaces in the 9.9 SEF, we now get
In Saxon-JS 1.x, KNOWN_URI (in Expr.js) should be updated to realign with this list.
Please register to edit this issue