- From: <bugzilla@jessica.w3.org>
- Date: Sat, 28 Dec 2013 17:32:13 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=24173 Bug ID: 24173 Summary: [xslt 3.0] Need more precise type information Product: XPath / XQuery / XSLT Version: Last Call 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 John Lumley writes: When working through the W3C test sets (fix one problem, open up another.....) I think I've discovered some cases where more precise type determination is required. This is typified in strm/sf-head/sf-head-A.xsl, test r-32 and the xsl:value-of/@select. The circumstances are: The argument to fn:head() has type attribute()*, climbing posture and consuming sweep. As the usage of that argument is transmission and it is the sole potential consumer, the call to fn:head() has climbing posture and consuming sweep. The functional signature type of fn:head() is item()? The (un-adjusted) usage of this call by xsl:value-of is absorption, which with a climbing posture gives the xsl:value-of a free-ranging sweep and thus a roaming posture. The issue is that of the type of fn:head() - in this case any of the members of the argument sequence have type attribute() and would be classed as childless-nodes. If in this circumstance we classify the type of fn:head() to be attribute()?, then the usage is this call by xsl:value-of is adjusted to inspection by rule 1.b.iii.A.I, and thus the sweep remains as consuming, the call is a single potentially consuming operand with inspection usage, so the xsl:value-of becomes grounded and motionless. So it appears that without a finer type determination, viz the type of fn:head() is effectively the (singular) type of its first argument, this example can't be guaranteed streamable. I think similar conditions would also apply to 'remove','head','tail','subsequence','unordered', 'outermost','innermost','exactly-one','zero-or-more','one-or-more','trace' - the tests fail without such type determination. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Saturday, 28 December 2013 17:32:15 UTC