|
Subject: Re: [xsl] For-each and keys() From: Steve <subsume@xxxxxxxxx> Date: Wed, 2 Aug 2006 11:17:28 -0400 |
> XSL goes something like:
>> <xsl:for-each select="$Definitions"> >> <xsl:value-of select="count(key('oldID',$current))" /> >> </xsl:for-each> >I really don't understand this.
key() returns all the nodes that match the key _in the current document_ so if you want to look up keys in a different document then (in xslt1) you need touse xsl:for-each to make that document current. In XSLT2 you could equivalently go <xsl:value-of select="$Definitions/count(key('oldID',$current)) or <xsl:value-of select="count(key('oldID',$current,$Definitions))
Ahh, if only. The for-each you mention is what I am attempting, however, I've gotten no better idea than that (The How gets me, not the What).
> I really don't understand this. I should mention there are many other > branches within $Definitions besides /disabilities. If $Definitions is defined using document() then it will represent a well formed document so there can be at most one top level element (presumably <disabilities>) so I do not see what you can mean by "other branches"
You seem to know, given the way you mention for-each. Perhaps then you can tell me where the code I have errs.
<xsl:key name="options" match="option" use="@type" />
<xsl:key name="oldID" match="option" use="@oldID" />
<xsl:template match="Record" mode="x">
<xsl:param name="type" />
<tr>
<td>
<xsl:value-of select="$type" />
</td>
<td>
<xsl:variable name="current" select="disabPrimary" />
<xsl:for-each select="$cilDefinitions">
<xsl:value-of select="count(key('oldID',$current))" />
</xsl:for-each>
</td>
</tr>
</xsl:template>
<xsl:template match="/" >
<table>
<xsl:for-each
select="$Definitions/disabilities/option[generate-id(.)=generate-id(key('options',@type)[1])]">
<xsl:sort select="@type"/>
<xsl:apply-templates mode="x" select="$vP2/Records/Record">
<xsl:with-param name="type" select="@type" />
</xsl:apply-templates>
</xsl:for-each>
</table>
</xsl:template>| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] For-each and keys(), David Carlisle | Thread | Re: [xsl] For-each and keys(), Steve |
| Re: [xsl] Re: Querying an Active Di, Wendell Piez | Date | Re: [xsl] For-each and keys(), Steve |
| Month |