- From: <bugzilla@jessica.w3.org>
- Date: Sat, 18 Jun 2016 09:25:14 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29697 Bug ID: 29697 Summary: [XSLT30]With nested xsl:merge, should the current-merge-group() of outer merge be available for a merge group selection of inner merge? Product: XPath / XQuery / XSLT Version: Candidate Recommendation Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P2 Component: XSLT 3.0 Assignee: mike@saxonica.com Reporter: martin.honnen@gmx.de QA Contact: public-qt-comments@w3.org Target Milestone: --- Created attachment 1645 --> https://www.w3.org/Bugs/Public/attachment.cgi?id=1645&action=edit sample input data for test case The following code has two nested xsl:merge, where an xsl:merge-source/@select of the inner xsl:merge tries to select the current-merge-group() of the outer xsl:merge: <xsl:template match="root"> <xsl:copy> <xsl:merge> <xsl:merge-source select="item"> <xsl:merge-key select="foo"/> </xsl:merge-source> <xsl:merge-action> <group key="{current-merge-key()}"> <xsl:merge> <xsl:merge-source select="current-merge-group()"> <xsl:merge-key select="bar"></xsl:merge-key> </xsl:merge-source> <xsl:merge-action> <nested-group key="{current-merge-key()}"> <xsl:copy-of select="current-merge-group()/value"/> </nested-group> </xsl:merge-action> </xsl:merge> </group> </xsl:merge-action> </xsl:merge> </xsl:copy> </xsl:template> This works fine with Exselt, however Saxon (tested with 9.7.0.5 EE) complains Error in xsl:merge-source/@select on line 18 column 57 of test2016061801.xsl: XTDE3480: There is no current merge group So with Saxon I have to use a variable, as in <xsl:merge> <xsl:merge-source select="item"> <xsl:merge-key select="foo"/> </xsl:merge-source> <xsl:merge-action> <group key="{current-merge-key()}"> <xsl:variable name="group" select="current-merge-group()"/> <xsl:merge> <xsl:merge-source select="$group"> <xsl:merge-key select="bar"></xsl:merge-key> </xsl:merge-source> <xsl:merge-action> <nested-group key="{current-merge-key()}"> <xsl:copy-of select="current-merge-group()/value"/> </nested-group> </xsl:merge-action> </xsl:merge> </group> </xsl:merge-action> </xsl:merge> So I would like a clarification whether with nested xsl:merge the current-merge-group() of an outer xsl:merge should be accessible with an xsl:merge-source of a inner xsl:merge. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Saturday, 18 June 2016 09:25:17 UTC