- From: <bugzilla@jessica.w3.org>
- Date: Wed, 30 Jul 2014 11:03:11 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26469 Bug ID: 26469 Summary: [xslt 3.0] Streamed validation Product: XPath / XQuery / XSLT Version: Working drafts Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: XSLT 3.0 Assignee: mike@saxonica.com Reporter: mike@saxonica.com QA Contact: public-qt-comments@w3.org In looking at the streamability of the xsl-to-json() we found that it is difficult to see how to validate the streamed input without creating an in-memory copy. If the stylesheet did the xsl:stream instruction itself then it could invoke validation at this point, but if it accepts streamed input from its caller then it cannot do this. Also, xsl:stream can only validate the entire input stream, not selected parts of it. Apart from xsl:stream, the only way to invoke validation is <xsl:variable name="x"> <xsl:copy-of select="..." validation="strict"/> </xsl:variable> and this creates a grounded (in-memory) copy. A possible solution might be a validate() function with the property that if the input is a streamed document, then the output is a streamed document, so one could do for example xsl:apply-templates select="validate(.)" to apply validation to a stream without grounding it. Another solution might be a more general mechanism for multi-phase streamed processing, this might allow something like <xsl:flow> <xsl:document> <xsl:copy-of select="." validation="strict"/> </xsl:document> <xsl:apply-templates select="."/> </xsl:flow> where each child instruction of xsl:flow takes the result of the previous instruction as its input (i.e. as the context item) -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Wednesday, 30 July 2014 11:03:13 UTC