Subject: Re: [xsl] Error: sequence of more than one item not allowed From: Michael Kay <mike@xxxxxxxxxxxx> Date: Tue, 04 Oct 2011 11:09:05 +0100 |
Michael Kay Saxonica
Of the two nearly parallel statements below, (2) raises the error: "Sequence of more than one item not allowed as the second operand of 'eq'."
(1) groups-by the attribute ($format) and (2) by all the not ($format) attributes found in <Formats>. My thinking was that in (2) the 'group-by' would return a current-group() resolved to a single attribute by the <xsl:for-each select"current()> statement, but if so, I am clearly addressing that single attribute incorrectly. On the other hand, no error is reported when in (2) the group-by="@*[not(name(.)=$format)] resolves to a single attribute. Can I specify the <xsl:if test="$item eq ???"/> to avoid this error in (2) and still test against all of the not($format) attributes?
Thanks, Mark
(1)
<xsl:for-each-group select="../../Stamp/Formats" group-by="@*[name(.)=$format]">
<xsl:for-each select="current-group()">
<xsl:if test="$item eq @*[name(.)=$format]"> <!--No error -->
(2)
<xsl:for-each-group select="../../Stamp/Formats" group-by="@*[not(name(.)=$format)]">
<xsl:for-each select="current-group()">
<xsl:if test="$item eq @*[not(name(.)=$format)]"> <!-- Error -->
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Error: sequence of more t, Mark | Thread | Re: [xsl] Identifying unique attrib, Mark |
Re: [xsl] Error: sequence of more t, Andrew Welch | Date | Re: [xsl] Error: sequence of more t, Mark |
Month |