This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: key definition


Steve,
1.
<xsl:key name="MyKey" match="/items/item" use="concat(data/@id,
data/text())" />
2.
<xsl:key name="MyKey" match="/items/item" use="concat(pad(data/@id),
data/text())" />
Where pad() is an extension function or concat(substring('000000', 7 -
string-length(data/@id), data/@id)

Ciao Chris

XML/XSL Portal
http://www.bayes.co.uk/xml


> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com 
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of 
> Steve Renshaw
> Sent: 28 October 2001 13:38
> To: xsl-list@lists.mulberrytech.com
> Subject: [xsl] key definition
> 
> 
> Given the following XML:
> 
>    <items>
>     <item>
>     <data id="1">alpha</data>
>     <data id="2">gamma</data>
>     </item>
>     <item>
>     <data id="1">alpha</data>
>     <data id="2">delta</data>
>     </item>
>     <item>
>     <data id="1">beta</data>
>     <data id="2">gamma</data>
>     </item>
>    </items>
> 
> I am searching for a key definition that will return the set 
> of <item>'s that have a given @id and <data> value. I want to 
> use key() in the following 
> manner:
> 
>    given variables $id and $value
>    select="key('MyKey',concat($id,$value))"
> 
>    examples
>    select="key('MyKey',concat('1','alpha'))
>    returns the first and second <item>'s
> 
>    select="key('MyKey',concat('2','gamma'))
>    returns the first and third <item>'s
> 
> Anyone know how to complete this definition (or suggest another)?
> 
>   <xsl:key name="MyKey" match="/items/item" use="?" />
> 
> Second question: What happens if I encounter markup that looks like
> this:
> 
>    <item>
>     <data id="1">01</data>
>     <data id="10">1</data>
>    </item>
> 
> in which case the usage of concat($id,$value) aliases into "101"
> 
> _________________________________________________________________
> Get your FREE download of MSN Explorer at 
> http://explorer.msn.com/intl.asp
> 
> 
>  XSL-List info and 
> archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]