| Subject: [xsl] key declarations (using a sequence constructor) From: Andy Chambers <achambers.home@xxxxxxxxxxxxxx> Date: Tue, 6 Oct 2009 18:22:04 +0100 | 
Hi,
I'm playing around with the added features available in key
declarations but I think I must be misunderstanding
something.  Here's my key declaration (I realize that this particular
example would be better as a simple
@use but I want to understand how it works to see if it might make
some of my other keys look a little
better)....
  <xsl:key name="keyNames"
		   match="name | mdv">
	<lookup oid="{@oid}"/>
  </xsl:key>
and an example input document is something like...
<timaeus-names xmlns:odm="http://www.cdisc.org/ns/odm/v1.3">
  <mdv oid="TEST/M/oids" name="TESTMOIDS">
    <name oid="S001" parent-oid="" name="S001" />
    <name oid="F001" parent-oid="S001" name="F001" />
    <name oid="IG001" parent-oid="F001" name="IG001" />
    <name oid="AA.AA" parent-oid="IG001" name="AAAA" />
    <name oid="AA..AA" parent-oid="IG001" name="AAAA2" />
    <name oid="AA...AA" parent-oid="IG001" name="AAAA3" />
  </mdv>
</timaeus-names>
I thought that to use this key to lookup the @name associated with
@oid="AA.AA" for example, I'd do
	<xsl:variable name="lookup">
	  <lookup oid="AA.AA"/>
	</xsl:variable>
        <xsl:sequence select="key('keyNames', $lookup)/@name"/>
But this actually returns a sequence containing all the @names.
I seek enlightenment as to why this is so :-)
--
Andy
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] sorting into a tree struc, Martin Honnen | Thread | Re: [xsl] key declarations (using a, G. Ken Holman | 
| Re: [xsl] sorting into a tree struc, Martin Honnen | Date | Re: [xsl] key declarations (using a, G. Ken Holman | 
| Month |