Grouping by attribute
Hi,
I am trying to create a key and group by attribute matching. The XML file is as follows;
<view>
<name>TEST</name>
<sort order="0" col="col1" visible="1">asc</sort>
<filter>
<condition>
<column>col1</column>
<comparison>=</comparison>
<value>dat1</value>
</condition>
<condition>
<column>col2</column>
<comparison>=</comparison>
<value>dat2</value>
</condition>
</filter>
<column name="col1">Column1</column>
<column name="col2">Column2</column>
<column name="col3">Column3</column>
<column name="col4">Column4</column>
<line>
<value name="Column1">dat1</value>
<value name="Column2">dat2</value>
<value name="Column3">dat3</value>
<value name="Column4">dat4</value>
</line>
<line>
<value name="Column1">dat1</value>
<value name="Column2">dat2</value>
<value name="Column3">dat3</value>
<value name="Column4">dat4</value>
</line>
</view>
I am trying to use the key as :==
<xsl:key name="mkt" match="view" use="concat(value[name='Column1'], '~', value[name='Column2'])"/>
And, then I tried to display for each as below :-
xsl:for-each select="line[count(. | key('mkt', concat(value[name='Column1'], '~', value[name='Column2]))[1]) = 1]">
<tr>
<td align="middle"><xsl:value-of select='value name="Column1"]'/></td>
<td align="middle"><xsl:value-of select='value name="Column2"]'/></td>
<td align="middle"><xsl:value-of select='value name="Column3"]'/></td>
<td>
I know the above is not correct but not sure if this is syntactically correct. Please advise.
Thanks,
|