xsl-list
[Top] [All Lists]

RE: grouping by unique...

2003-06-17 15:22:22

Here is the code.
<xsl:template match="report">
      <xsl:variable name="unique-solutions" 
            select="item[not(metadata/solution = 
preceding-sibling::metadata/solution)]/metadata/solution"     />

Your items do not have a preceding-sibling::metadata element.

You should write preceding-sibling::item/metadata/solution.

Even then, with multiple solutions in one item, it's wrong. It will
select all the solutions in one item if none of them is the same as a
solution in a previous item; but if one solution is the same and others
are different, none of them will be selected.

I recommend you use the Muenchian technique instead.

Michael Kay

                                      
      <xsl:for-each select="$unique-solutions">
              <xsl:sort select="." />
              <xsl:value-of select="." />
      </xsl:for-each>                         
</xsl:template>


Here is the XML file.
<report>
      <item>
              <content>
                      ....
              </content>
              <metadata>
                      <solution>A</solution>
                      <solution>B</solution>
                      <solution>C</solution>
              </metadata>
      </item>
      <item>
              <content>
                      .....
              </content>
              <metadata>
                      <solution>A</solution>
                      <solution>B</solution>
                      <solution>D</solution>
              </metadata>
      </item>

</report



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>