This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Muenchian method, and keys 'n stuff
- From: Jeni Tennison <jeni at jenitennison dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Tue, 22 Jan 2002 17:10:40 +0000
- Subject: Re: [xsl] Muenchian method, and keys 'n stuff
- Organization: Jeni Tennison Consulting Ltd
- References: <9B66BBD37D5DD411B8CE00508B69700FE7AA94@pborolocal.rnib.org.uk>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi Dave,
> the problem is now that the template below never
> fires the otherwise clause of the choose, and I can't see why.
The only reason I can see why the xsl:otherwise wouldn't be fired is
if the $auths variable always gets set to a node set that contains
some nodes. That would be true if within your document you have at
least one r element with a Ra/lett equal to each letter of the
alphabet. Which could be the case - it's impossible to tell without
seeing your document.
Note that the way you have it at the moment, it's perfectly possible
for the xsl:when clause to be selected but you to see no output from
it. When you do:
> <xsl:when test="$auths/node()">
> <xsl:apply-templates select="r[generate-id(.)=
> generate-id(key('auth',Ra/lett)[1])]"/>
> </xsl:when>
Then you're only applying templates to the r element children of the
current adventure that happen to be the first such r elements in the
document as a whole with that letter in their Ra/lett grandchild.
In fact, the path you're using there is exceedingly strange, since it
will give you the same thing on each recursion, but I guess you're
doing that on purpose?
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list