[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Key function using key strings from msxsl:node-set

Subject: Re: Key function using key strings from msxsl:node-set generated node. Doesn't work?
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Fri, 15 Mar 2002 10:49:10 +0000
msxsl node set javascript
Hi Gennady,

> Actually it gives Person by Address node-set, not a string. If you
> use this key, you must supply an Address **element**, which is a
> child of the Person element you are looking for. You are supplying a
> string and therefore getting nothing (as it should be).

That's not exactly true. If the expression that you use in the use
attribute of xsl:key evaluates to a node set, then you get a number of
entries for the matched node, one for each node in the node set. The
*value* for these keys is still a string value, just a string value of
the node.

So in:

<xsl:key name="PersonByAddress" match="/People/Person"
         use="Address" />

then given that each Person has just one Address, the use attribute
returns a single Address element. The Person element's key value is
the string value of that Address element. It's exactly the same as
defining the key as:

<xsl:key name="PersonByAddress" match="/People/Person"
         use="string(Address)" />

Likewise, when you access a key with the key() function, the second
argument always gets converted to a string. There's no need to make
sure that the two expressions (when defining the key and when using
the key) have the same object type.
         
Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.