|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: xslt 2 grouping
At 2002-07-11 15:31 +0100, DPawson@xxxxxxxxxxx wrote:
With the following XML I'm trying to group and find uniques Why discount keys? I want to find all the el elements with content 'a' which have *different* att attribute values, Below is a solution that doesn't use keys. I've added this technique to the Sorting/Grouping section of my XSLT training and the students have found it useful. I.e. list x, together with all the attributes att which are different. Are you required to use XSLT-2? I hope this helps. ................... Ken T:\ftemp>type dave.xml <p> <el att='a'>x</el> <el att='b'>x</el> <el att='c'>x</el> <el att='d'>y</el> </p> T:\ftemp>type dave.xsl
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"><xsl:output indent="yes"/> <xsl:template match="/">
<xsl:variable name="allnames" select="/p/el"/>
<xsl:for-each select="$allnames">
<xsl:if test="generate-id(.)=generate-id($allnames[.=current()])">
<el name="{.}">
<xsl:variable name="allatts" select="$allnames[.=current()]"/>
<xsl:for-each select="$allatts">
<xsl:if test="generate-id(.)=
generate-id($allatts[@att=current()/@att])">
<xsl:value-of select="@att"/>
<xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
</el>
</xsl:if>
</xsl:for-each>
</xsl:template></xsl:stylesheet> T:\ftemp>xt dave.xml dave.xsl <?xml version="1.0" encoding="utf-8"?> <el name="x">a b c </el> <el name="y">d </el> T:\ftemp>
G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (Fax:-0995) ISBN 0-13-065196-6 Definitive XSLT and XPath ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath ISBN 1-894049-07-1 Practical Formatting Using XSLFO XSL/XML/DSSSL/SGML/OmniMark services, books (electronic, printed), articles, training (instructor-live,Internet-live,web/CD,licensed) Next public training: 2002-08-05,26,27,09-30,10-03 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|

Cart








