- 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