[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Re: [xslt transform & grouping] Using the Muenchian Method?


Subject: Re: [xsl] Re: [xslt transform & grouping] Using the Muenchian Method?
From: "Michael PG" <xrow@xxxxxxx>
Date: Wed, 29 Sep 2004 21:02:42 +0000

Hello Anton,


Yeah. this solved a lot.


I've forgot one thing, :-(
I still get empty parent nodes that are not filtered, since I left out the info. that attribute filter is also present on the parent node. It can also be empty or contain information.


How can I filter that away as well.

<Documents>
  <Document id="0001" filter="">
      <Article title="Mr"/>
      <Article forename="John" filter="food"/>
      <Article surname="Smith" filter=""/>
  </Document>
  <Document id="0002" filter="food">
      <Article title="Dr"/>
      <Article forename="Amy" filter=""/>
      <Article surname="Jones" filter="food"/>
  </Document>
</Documents>


Anton, thank you a lot so far. Appreciate your help.


Regards,

Michael


From: Anton Triest <anton@xxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Re: [xslt transform & grouping] Using the Muenchian Method?
Date: Wed, 29 Sep 2004 22:34:01 +0200


Hi Michael,

Sorry, I was too quick in suggesting to add the filtering test to the grouping predicate:

<xsl:for-each select="Document/Article
  [count(.|key('by-info', @info)[1])=1 and (@filter='food')]">

That worked with my sample input, but more out of coincidence. The filter test actually belongs in the next statement:

<xsl:template match="Documents">
<Documents>
<xsl:for-each select="Document/Article[count(.|key('by-info', @info)[1])=1]">
<Document name="{@info}">
<xsl:copy-of select="key('by-info', @info)[@filter='food']"/>
</Document>
</xsl:for-each>
</Documents>
</xsl:template>


Hope that helps better :)

Anton


_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! hthttp://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



Current Thread