Bug #3852
closedNo failure when fn:transform() requests streaming and streaming not available
100%
Description
The fn:transform() function has the opporunity to request an XSLT processor with support for particular optional features. If it requests a processor that supports streaming then the request should fail FOXT0001 if no streaming XSLT processor is available (for example, under Saxon-HE). Currently it is not failing, but rather falls back to non-streaming mode, which is not conformant.
Updated by Michael Kay over 5 years ago
Similar considerations apply when the request is for higher-order-function or dynamic-evaluation support.
Updated by Michael Kay over 5 years ago
- Category set to XPath conformance
- Status changed from New to Resolved
- Priority changed from Low to Normal
- Applies to branch 9.8, trunk added
- Fix Committed on Branch 9.8, trunk added
We now fail the fn:transform call if a requested feature is not available because it requires PE/EE and/or a license key. For requests such as dynamic evaluation, schema awareness, and streaming, if the request is to have the feature OFF, we disable it in the target configuration when the target configuration would otherwise allow it.
Updated by Michael Kay over 5 years ago
The changes caused a regression for test fn-transform-71 which requests a non-schema-aware processor and then tries to do a schema-aware transformation. This is because setting SCHEMA_AWARE = false on the processor doesn't have the expected effect of disabling schema awareness - in fact, it is the default. The meaning of the flag is explained in CompilerInfo.setSchemaAware: "Say that the stylesheet must be compiled to be schema-aware, even if it contains no xsl:import-schema declarations." In the presence of xsl:import-schema, as in this test case, the flag is ignored.
So a request for is-schema-aware=false will be rejected if the processor is EE.
Updated by Debbie Lockett over 5 years ago
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
- Fixed in Maintenance Release 9.8.0.14 added
Bug fix applied in the Saxon 9.8.0.14 maintenance release.
Please register to edit this issue