W3C home > Mailing lists > Public > public-qt-comments@w3.org > May 2016

[Bug 29492] [XSLT30] streamability of xsl:attribute-set may not be complete

From: <bugzilla@jessica.w3.org>
Date: Thu, 12 May 2016 11:07:52 +0000
To: public-qt-comments@w3.org
Message-ID: <bug-29492-523-goXgE4a5qn@http.www.w3.org/Bugs/Public/>

--- Comment #1 from Michael Kay <mike@saxonica.com> ---
a) under 10.2.3 we say "considered as a seqtor" and then point to 19.8.6 where
this precondition seems not to apply anymore

Agreed. Delete "considered as a sequence constructor".

b) under 19.8.6 Classifying Attribute Sets we say "usage transmission", but
attribute sets are always grounded

Under the GSR, I think operand usage is irrelevant if the operand is grounded.
So this doesn't actually matter; but using "absorption" might be clearer.

c) under 19.8.6 we don't say anything about the context posture

True, and this could potentially be a difficulty, which your proposal

d) section on xsl:element classifies @use-attribute-sets with usage absorption,
this seems to not make sense

Again, the attribute set is grounded, so the operand usage does not make much

I think all of these can be fixed by treating the streamability similar to
other declarations (i.e., accumulators and stylesheet functions) where the
direction of streaming is not known beforehand.


1) Under 10.2.3. item (2): every xsl:attribute-set has motionless sweep and
grounded posture according to the rules in Classifying Attribute Sets


2) Under 19.8.6.: remove the reliability on the general streamability rules


3) Under 19.8.6.: Change the text to something like (all apply):
   i)   The posture of an attribute set is grounded
   ii)  The sweep of an attribute set is motionless if all xsl:attribute
instructions are motionless according to the streamability rules on
xsl:attribute with the context posture set to striding.
   iii) Otherwise free-ranging.

This drops the current possibility for an attribute-set to be consuming. I
think that's probably a useful simplification, since it's very hard to think of
practical use-cases where people would want this, and those use-cases can
always be achieved by replacing the attribute-set with a streamable template

4) Under 19.8.6: add in a Note that all referenced attribute sets must have
streamable="yes" and abide by those rules, and/or point back to 10.2.3.

5) Replace any place where @use-attribute-sets is mentioned in the
streamability rules and (perhaps) point to the section on Classifying Attribute
Sets. I don't think they should have a usage, but if any, the usage is
inspection and have themselves no additional operands, as they are not allowed
to "absorb" any node.

OK, I think that probably works.

You are receiving this mail because:
You are the QA Contact for the bug.
Received on Thursday, 12 May 2016 11:07:56 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 12 May 2016 11:07:56 UTC