| 
 
Subject: Re: [xsl] Re: [xslt transform & grouping] Using the Muenchian  Method? From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 7 Oct 2004 13:13:10 +0100  | 
You get
$ saxon filter.xml filter.xsl
<?xml version="1.0" encoding="UTF-8"?>
<Documents>
   <Document name="sub">
      <Article title="1.1" info="sub" filter="food"/>
   </Document>
   <Document name="main">
      <Article title="1.2" info="main" filter="food"/>
      <Article title="2.2" info="main" filter="food"/>
   </Document>
   <Document name="child"/>
</Documents>
because of the different ways you filter.
on document you allow "" but in
<xsl:copy-of select="key('by-info',@info)[@filter=$filter]"/>
you don't.
I think that _is_ what you want, so in your for-each, 
<xsl:for-each select="Document[@filter='' or 
@filter=$filter]/Article[generate-id()=generate-id(key('by-info',@info)[@filter='' 
or @filter=$filter])]">
you want to make sure that you always have at least one eleemnt in the
key that really has the filter value and not just "" so that
<xsl:copy-of select="key('by-info',@info)[@filter=$filter]"/>
always produces something.
you can do that by making the filters on the key() match,
delete     @filter='' or 
<xsl:for-each select="Document[@filter='' or 
@filter=$filter]/Article[generate-id()=generate-id(key('by-info',@info)[@filter=$filter])]">
and you get
$ saxon filter.xml filter.xsl
<?xml version="1.0" encoding="UTF-8"?>
<Documents>
   <Document name="sub">
      <Article title="1.1" info="sub" filter="food"/>
   </Document>
   <Document name="main">
      <Article title="1.2" info="main" filter="food"/>
      <Article title="2.2" info="main" filter="food"/>
   </Document>
</Documents>
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
| Current Thread | 
|---|
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] Re: [xslt transform & gro, Michael PG | Thread | Re: [xsl] Re: [xslt transform & gro, Anton Triest | 
| RE: [xsl] XPATH problem with namesp, Michael Kay | Date | Re: [xsl] Re: [xslt transform & gro, Michael PG | 
| Month |