[Bug 29455] [xslt30ts] on-empty-113a

https://www.w3.org/Bugs/Public/show_bug.cgi?id=29455

Abel Braaksma <abel.braaksma@xs4all.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |abel.braaksma@xs4all.nl

--- Comment #6 from Abel Braaksma <abel.braaksma@xs4all.nl> ---
(In reply to Michael Kay from comment #5)
> PROPOSAL:
> <snip />
I think your proposal is actually better than what we conjured up during the
F2F. The noted differences with the CCC and CSC rules wrt spaces are an
understandable trade-off and may even lead to less surprises than the reverse
(i.e., where we had the rule that if a seqtor would get separators inserted, it
was considered non-empty).

I think it'd be a good idea to add the edge-case to the examples, for instance:

<xsl:value-of separator="|">
    <xsl:sequence select="foo/bar/normalize-space()" />
    <xsl:on-empty>No bars found!</xsl:on-empty>
</xsl:value-of>

with the following input:

<foo>
  <bar> </bar>
  <bar></bar>
  <bar>   </bar>
</foo>

this would create "||" without xsl:on-empty, and "No bars found!" with
xsl:on-empty. That is a "surprise effect", as in that a not-empty result is
"deemed empty" wrt our rules, which is why I suggest we include such, or a
similar, example.

----------------------

On the new rules themselves: since they no longer rely on CCC or CSC rules,
whether or not the include expansion of [xsl:]use-attribute-sets and literal or
AVT attributes in LRE's should be mentioned. My take would be to:

1) let the result of use-attribute-sets be part of significant items
2) let literal and AVT's *not* be part of the significant items

The reason behind this is that use-attribute-sets requires extra processing and
removal of duplicates, and they may have seqtors themselves (though in
streaming they are required to be motionless).

Literal attributes and AVT-attributes are not visually part of the sequence
constructor and should therefore not be part of it.

I think we should mention something similar to <xsl:copy
copy-namespaces="yes">, which I think should *not* be part of the significant
items, only xsl:namespace should.

xsl:attribute instructions are already mentioned as being significant, I think
that is a good thing.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Saturday, 20 February 2016 14:18:40 UTC