Subject: Re: [xsl] Recursive counting From: Steve <subsume@xxxxxxxxx> Date: Wed, 19 Jul 2006 14:10:47 -0400 |
Grrrrrrrr should have mentioned the <people> tree is actually a variable, so the simplicity of using a prefs key is out the window....
generate-id(key('options',@type)[1])]">One more edit ... no need for the current() function ... that was left over from the variable version I posted.
. . . . . . . . Ken
T:\ftemp>type steve.xml <?xml version="1.0" encoding="US-ASCII"?> <data> <options> <o type="A">who</o> <o type="A">what</o> <o type="A">when</o> <o type="B">how</o> <o type="B">nexus</o> <o type="B">triumph</o> <o type="C">alligator</o> <o type="C">spurn</o> </options> <people> <person pref="who" /> <person pref="nexus" /> <person pref="how" /> <person pref="alligator" /> <person pref="spurn" /> <person pref="triumph" /> .... etc .... </people> </data>
T:\ftemp>type steve.xsl <?xml version="1.0" encoding="US-ASCII"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output indent="yes"/>
<xsl:key name="options" match="o" use="@type"/> <xsl:key name="prefs" match="person" use="@pref"/>
<xsl:template match="/data"> <output> <xsl:for-each select="options/o[generate-id(.)=
count="{count(key('prefs',key('options',@type)))}"/><xsl:sort select="@type"/> <out type="{@type}"
</xsl:for-each> </output> </xsl:template>
</xsl:stylesheet> T:\ftemp>xslt steve.xml steve.xsl con <?xml version="1.0" encoding="utf-8"?> <output> <out type="A" count="1"/> <out type="B" count="3"/> <out type="C" count="2"/> </output> T:\ftemp>
-- Registration open for UBL training: Montrial, Canada 2006-08-07 Also for XSL-FO/XSLT training: Minneapolis, MN 2006-07-31/08-04 Also for UBL/XML/XSLT/XSL-FO training: Varo,Denmark 06-09-25/10-06 World-wide corporate, govt. & user group UBL, XSL, & XML training. 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 (F:-0995) Male Cancer Awareness Aug'05 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Recursive counting, G. Ken Holman | Thread | RE: [xsl] Recursive counting, Michael Kay |
Re: [xsl] Recursive counting, Steve | Date | [xsl] templates with modes., Webmaster |
Month |