diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/docs/bug-221.xml | 9 | ||||
-rw-r--r-- | tests/general/bug-221.out | 2 | ||||
-rw-r--r-- | tests/general/bug-221.xsl | 15 |
3 files changed, 26 insertions, 0 deletions
diff --git a/tests/docs/bug-221.xml b/tests/docs/bug-221.xml new file mode 100644 index 00000000..d9d4bacf --- /dev/null +++ b/tests/docs/bug-221.xml @@ -0,0 +1,9 @@ +<model> + <resource> + <action name="one"/> + </resource> + <resource> + <action name="one"/> + <action name="two"/> + </resource> +</model> diff --git a/tests/general/bug-221.out b/tests/general/bug-221.out new file mode 100644 index 00000000..96c105e2 --- /dev/null +++ b/tests/general/bug-221.out @@ -0,0 +1,2 @@ +<?xml version="1.0"?> +<r>one</r><r>two</r> diff --git a/tests/general/bug-221.xsl b/tests/general/bug-221.xsl new file mode 100644 index 00000000..9b4af652 --- /dev/null +++ b/tests/general/bug-221.xsl @@ -0,0 +1,15 @@ +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:key name="actions" match="/model/resource/action" use="@name"/> + +<xsl:template match="action"> + <xsl:if test="generate-id(key('actions', @name)[1]) = generate-id(.)"> + <r><xsl:value-of select="@name"/></r> + </xsl:if> +</xsl:template> + +<xsl:template match="/"> + <xsl:apply-templates select="model/resource/action"/> +</xsl:template> + +</xsl:stylesheet> |