|
Subject: RE: [xsl] Common Element Solution (XSL 2.0) From: "Pawson, David" <David.Pawson@xxxxxxxxxxx> Date: Wed, 23 Mar 2005 10:23:36 -0000 |
-----Original Message-----
From: Michael Kay
> My question was, how does the '/' eliminate duplicates?
> That's the bit I don't understand.
If the input is
> <table name="table1">
> <column name="col1"/>
> <column name="col2"/>
> <column name="col3"/>
> <column name="col4"/>
> </table>
> <table name="table2">
> <column name="col1"/>
> <column name="col2"/>
> <column name="col5"/>
> <column name="col5"/>
> </table>
then when processing col5, count(current-group()) will be 2, but
count(current-group()/parent::table) will be 1, because
both columns in the group have the same parent element.
Thanks Mike. Now I see it.
xslt 2.0 stylesheet below demonstrates it.
regards DaveP
<xsl:variable name="table-count" select="count(/tables/table)"/>
<xsl:template match="tables">
<xsl:for-each-group select="table/column" group-by="@name">
<xsl:if test="count(current-group())=$table-count">
<columnName><xsl:value-of
select="current-grouping-key()"/></columnName>
</xsl:if>
<p><i>count(current-group())<xsl:value-of
select="count(current-group()) "/></i></p>
<p><i>count(current-group())/parent::table <xsl:value-of
select="count(current-group()/parent::table) "/></i></p>
</xsl:for-each-group>
</xsl:template>
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Common Element Solution (, Michael Kay | Thread | Re: [xsl] "...how a few lines of XQ, David Carlisle |
| Re: [xsl] Unique IDs?, Sven Waibel | Date | RE: [xsl] Unique IDs?, Michael Kay |
| Month |