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 |