[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Re: [xslt transform & grouping] Using the Muenchia
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 xsltproc, XMLSpy's internal processor and msxml 3.0 yield the following result (differing only in whitespace) using the files in your last mail: <Documents> ~ <Document name="sub"/> ~ <Document name="main"> ~ <Article title="1.2" info="main" filter="food"/> ~ <Article title="2.2" info="main" filter="food"/> ~ </Document> </Documents> So perhaps it's a bug in msxml 4.0, as Michael suggested. Wolfgang Michael PG wrote: | Hi Anton, | | | Here's the XSL stylesheet: | | <?xml version="1.0" encoding="UTF-8"?> | | <xsl:stylesheet version="1.0" | xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | | <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/> | | <xsl:key name="by-info" match="Article" use="@info"/> | | <xsl:param name="filter" select="'food'"></xsl:param> | | <xsl:template match="Documents"> | | <!-- @filter='' will be true if it is there and empty or if it | is not there at all) --> | <xsl:apply-templates select="*[@filter='' or @filter=$filter]"/> | | <Documents> | <xsl:for-each select="Document[@filter='' or | @filter=$filter]/Article[count(.|key('by-info',@info)[@filter='' or | @filter=$filter][1])=1]"> | <Document name="{@info}"> | <xsl:copy-of | select="key('by-info',@info)[@filter=$filter]"/> | </Document> | </xsl:for-each> | </Documents> | | </xsl:template> | | </xsl:stylesheet> | | | The line proposed by David C. gives an exception. | | <xsl:for-each select="Document[@filter='' or | @filter=$filter]/Article[count(.|key('by-info',@info)[@filter='' or | @filter=$filter][1])=1]"> | | | The XML looks like: | | <?xml version="1.0" encoding="utf-8"?> | | <Documents> | <Document chapter="1" title="title 1" href="file1.xml" filter=""> | <Article title="1.1" info="sub" filter="drink"/> | <Article title="1.2" info="main" filter="food"/> | </Document> | <Document chapter="2" title="title 2" href="file2.xml" filter="drink"> | <Article title="2.1" info="sub" filter="drink"/> | <Article title="2.2" info="main" filter="food"/> | </Document> | </Documents> | | | Thanx. | | -M | | |> From: Anton Triest <anton@xxxxxxxx> |> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx |> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx |> Subject: Re: Re: [xslt transform & grouping] Using the Muenchian |> Method? |> Date: Wed, 06 Oct 2004 00:47:56 +0200 |> |> Michael PG wrote: |> |>> After adding the suggested line I got an exception lake it last case. |>> |>> select="Document[@filter='' or |>> @filter=$filter]/Article[count(.|key('by-info',@info)[@filter='' or |>> @filter=$filter][1])=1]"> |> |> |> |> Hi Michael (I'm jumping in again, was away yesterday) |> |> did you define the key in this template? (that caused the exception |> last time, didn't it) |> if so, maybe you'll better post the complete stylesheet once more... |> (+ exception details) |> |> Anton |> |> |> | | _________________________________________________________________ | On the road to retirement? Check out MSN Life Events for advice on how | to get there! http://lifeevents.msn.com/category.aspx?cid=Retirement | | | | -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (Cygwin) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFBY6VPqjaicDyx8o8RAny+AJ4lFZyTIZAW9QenrIJvgFMEPAtqJQCdHetL V5eR7aTRjDw/XcDP6T5kdDY= =rLp6 -----END PGP SIGNATURE-----
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|