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

Re: Pattern: Replicating Key Table Construction for De

Subject: Re: Pattern: Replicating Key Table Construction for Debugging
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 20 Feb 2002 10:09:01 +0000
table construction
W. Eliot Kimber wrote:
> There's no direct way to see what the entries in a table are (e.g.,
> the equivalent of Hastable.getKeySet() in Java). However, you can
> easily replicate what the key table is doing and sanity check what's
> happening. All you do is a for-each from the root that uses the same
> select rule as the key.
>
> For example, if your key declaration is:
>
> <xsl:key name="primary" 
>   match="index.marker" 
>   use="normalize-space(concat(primary/@sortas,
> primary[not(@sortas)]))"/>
>
> Then to see what is actually going into the table, just do this:
>
> <xsl:for-each select="//index.marker">
>  <xsl:message>key='<xsl:value-of 
>   select="normalize-space(concat(primary/@sortas, 
> primary[not(@sortas)]))"/>'</xsl:message>
> </xsl:for-each>

Just to add to this... In some cases, the key declaration may actually
be adding several entries to the table for each matched node. For
example:

<xsl:key name="keywords" match="article" use="keywords/keyword" />

If the use attribute evaluates to a node set, then you get one entry
per node in that node set (all pointing to the same matched article).
So this key indexes each article against each of its keywords.

Therefore in these cases, the xsl:for-each you need is:

  <xsl:for-each select="//article/keywords/keyword">
    <xsl:message>key='<xsl:value-of select="." />'</xsl:message>
  </xsl:for-each>

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.