RE: [xsl] xsl:key composite keys

Subject: RE: [xsl] xsl:key composite keys
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 10 Nov 2003 19:10:58 -0000
You can define a composite key using concat() with a suitable separator.

Michael Kay

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Latham, SE (Sue) 
> Sent: 10 November 2003 17:29
> To: 'XSL-List@xxxxxxxxxxxxxxxxxxxxxx'
> Subject: [xsl] xsl:key composite keys
> 
> 
> I am performing xml-to-xml transformations(XSLT/XPATH V1.0) 
> using xsl:key definitions to cross-refer within a document. 
> Is it possible to define composite keys using xsl:key? For 
> example I can define a key thus:- 
> <xsl:key name="Personkey" match="//Metadata/Person" 
> use="MetadataID/LocalID"/> Where the MetadataID part of the 
> document looks like this:- <MetadataID>
> 	<ServerID>server1</ServerID>
> 	<PersonID>Person1</PersonID>
> </MetadataID>
> Which I can then use OK like this:- 
> <xsl:variable name="Pkey"  select="somewhere/someID"/> 
> <xsl:for-each select="key('Personkey', $Pkey)"> ... do something...
> 
> But what I really want is the key to use eveything under 
> 'MetadataID'. So the key would be the concatenation of 
> ServerID & LocalID. e.g. in the case above a string "server1Person1".
> 
> Is this possible in XSLT/XPATH version 1.0? Will it be 
> possible in version 2.0? 
> 
> Regards,
> Sue Latham
> -----------
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread