RE: [xsl] Common Element Solution (XSL 2.0)

Subject: RE: [xsl] Common Element Solution (XSL 2.0)
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 23 Mar 2005 10:06:46 -0000
>  <tables>
>    <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="col6"/>
>    </table>
> 
> Yes, the basics are clear. Your last line(s) were
>   you want something like
> 
>    count(current-group()/parent::table) = $number-of-tables
> 
>   relying on the fact that "/" eliminates duplicates.
> 
> 
> 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.

Michael Kay
http://www.saxonica.com/

Current Thread