Subject: Re: [xsl] XSLT 3.0 processor accepting non well-formed XML inputs|
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 3 Mar 2019 11:14:20 -0000
Am 03.03.2019 um 06:35 schrieb Mukul Gandhi gandhi.mukul@xxxxxxxxx: > > On Fri, Mar 1, 2019 at 5:07 PM Martin Honnen martin.honnen@xxxxxx > <mailto:martin.honnen@xxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx > <mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>> wrote: > > 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 tried this with Saxon 9.9 EE, and observed results (for small enough > input XMLs) contrary to your claim. I am kind of sure I exploited the claimed behaviour of Saxon in the past to extract data from documents that were not well-formed; however, I can't get your example to work either so my claim was wrong or at least too general. In the W3C test suite for XSLT 3 (https://dvcs.w3.org/hg/xslt30-test/file/tip/tests/strm/si-iterate, if you can get through to it which has been a challenge at least for me today) there is at least one test case (si-iterate-094.xsl) where xsl:iteral/xsl:break is used and where Saxon (tested here with 9.8 EE) outputs a message saying "early exit" (if run with "-t" option) to indicate it abandoned parsing before reading through to the end of the file.