[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Multi Level Grouping using Muenchian Grouping
Subject: Re: [xsl] Multi Level Grouping using Muenchian Grouping From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Thu, 1 Aug 2002 11:36:36 +0100 |
Hi Rob, > Thank you for your response. I in fact simplified things for posting > so the second part of your response applies. One small point I need > a bit of guidance on is that I need to drive this transform from a > value from a combo box, so I presume that I need to send the value > as a parameter to this transform. Given this what changes will i > need to make to the tranform (I've had problems with parameters > before :)) Without knowing how the parameter should affect the transformation, it's hard to say. One difficulty with parameters combined with Muenchian grouping is that you can't refer to a parameter (or global variable) from within the match or use attributes on xsl:key. You might want to only pick the assets whose name starts with the value in the $name parameter, for example, in which case you'd *like* to be able to do: <xsl:param name="name" /> <xsl:key name="assets-by-processarea" match="asset[starts-with(name, $name)]/processareas/processarea" use="." /> but because of the restriction on where parameter references can go, you can't do that. Instead, you have to use the same general key definitions as before: <xsl:key name="assets-by-processarea" match="processarea" use="." /> and then, when you *use* the key, filter the results so that it only includes the assets that you're interested in. For example: <xsl:variable name="process" select="key('assets-by-processarea', '2') [starts-with(../../name, $name)]" /> <xsl:template match="assets"> <xsl:for-each select="$process[generate-id() = generate-id(key('assets-by-level', concat(., ' ', ../../@level)) [starts-with(../../name, $name)][1])] /../.."> <xsl:sort select="@level" data-type="number" /> <h1> <xsl:choose> <xsl:when test="@level = 1">AS Policies:</xsl:when> <xsl:when test="@level = 2">General:</xsl:when> </xsl:choose> </h1> <a href="{url}"><xsl:value-of select="assetname"/></a> </xsl:for-each> </xsl:template> Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Multi Level Grouping usin, robert . parsons | Thread | [xsl] Can I diplay the <expression>, René de Vries |
Re: [xsl] How to test by nodename i, David Carlisle | Date | Re: [xsl] Having Tags when the outp, Jeni Tennison |
Month |