xsl-list
[Top] [All Lists]

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

2004-09-29 14:02:42
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(_at_)cking(_dot_)be>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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="{(_at_)info}">
<xsl:copy-of select="key('by-info', @info)[(_at_)filter='food']"/>
               </Document>
           </xsl:for-each>
       </Documents>
   </xsl:template>

Hope that helps better :)

Anton

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--


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