- From: <bugzilla@jessica.w3.org>
- Date: Mon, 23 Sep 2013 13:40:53 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=23329
Bug ID: 23329
Summary: [xslt3.0] xsl:next-match and templates using union
patterns
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
Consider <xsl:template match="a[xx] | a[yy]">
For xsl:next-match we have a Note that says:
As explained in 6.4 Conflict Resolution for Template Rules, a template rule
whose match pattern contains multiple alternatives separated by | is treated
equivalently to a set of template rules, one for each alternative. This means
that where the same item matches more than one alternative, and the
alternatives have different priority, it is possible for an xsl:next-match
instruction to cause the current template rule to be invoked recursively. This
situation does not occur when the alternatives have the same priority.
(1) the reference to 6.4 is incorrect, it should be to 6.5.
(2) In the relevant rule in 6.5 it says "However, it is not an error if an item
matches more than one of the alternatives.". In 3.0 this would not be an error
anyway, so the sentence is obsolete.
(3) The sentence "This situation does not occur when the alternatives have the
same priority." appears unfounded. In the above example, the alternatives have
the same priority, and there doesn't seem to be any normative statement about
what xsl:next-match does in this case. I think we should say that the rule "the
template rule is treated equivalently to a set of template rules, one for each
alternative" applies only if there is no explicit priority and the alternatives
have different default priority. If they have the same (explicit or implicit)
priority, then we should behave as if there is only one template rule, which
means that next-match will not select the rule more than once.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Monday, 23 September 2013 13:40:57 UTC