Re: [xsl] XSLT 3.0 processor accepting non well-formed XML inputs

Subject: Re: [xsl] XSLT 3.0 processor accepting non well-formed XML inputs
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 1 Mar 2019 11:37:36 -0000
Am 01.03.2019 um 12:23 schrieb Mukul Gandhi gandhi.mukul@xxxxxxxxx:
Hi all,
B B I've got some chance to try XSLT 3.0's streaming features, and have found them useful. I've a slight question as below,


The XSLT 3.0 spec, in the section "2.12 Streamed Validation" says following,

<quote>
A streamed transformation that only accesses part of the input document (for example, a header at the start of a document) is not required to continue reading once the data it needs has been read. This means that XML well-formedness or validity errors occurring in the unread part of the input stream may go undetected.
</quote>


As per above quoted text, is it ethical for an XSLT (3.0) processor to provide a functionality that's based on a non well-formed input XML document?


If you use Saxon 9.8 or 9.9 EE and streaming and for instance an `xsl:iterate` with an `xsl:break` then you will find that it indeed abandons parsing the input so non-wellformedness violations can go unnoticed.


I am not sure other processors do that, I remember trying to exploit that Saxon feature and testing whether it worked with Exselt as well and Abel in https://www.w3.org/Bugs/Public/show_bug.cgi?id=29479 stated his concerns about that feature and interpretation of the spec.

As it seems so far there is no Exselt release that implements the final spec from 2017 and I think Altova never supported streaming I am not sure there is anything than Saxon 9 EE as a reference implementation for XSLT 3 and streaming.

Current Thread