Subject: RE: 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: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
|