|
Subject: Re: [xsl] Setting flags ? From: "Carsten Klein" <carstenklein@xxxxxxxx> Date: Tue, 30 Jul 2002 07:12:45 +0200 |
Hi John,
the problem with the variable, is that is out of scope. It is valid only
within the <xsl:for-each/> loop or from within
templates being called either by <xsl:call-template/> or
<xsl:apply-templates/> with additional <xsl:with-param/>
instructions.
It is not valid when being used inside the <xsl:choose/> at the end of your
stylesheet.
One question: the <option/> nodes, which you intentionally left empty, are
they the same for all
of the matches/tests inside the <xsl:for-each/> loop ?
If so, then why don't you just rewrite the whole bunch of <xsl:when/>'s and
the likes to match the following, selecting
all the nodes you want to match into a node-set contained in a variable:
<xsl:variable name="matches"
select="index/indexitem[contains(@text,$searchValue1)
or contains(@text,translate($searchValue1,'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'))
or
contains(@text,concat(translate(substring($searchValue1,1,1),'abcdefghijklmn
opqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'),substring($searchValue1,2)))"/>
This should result in the variable $matches containing a node-set which
contains the nodes which match your query or
the empty node-set.
You would then be able to
<xsl:choose>
<xsl:when test="$matches">
<!-- there were some matches...-->
<xsl:for-each select="$matches/*">
<!-- ... -->
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<!-- no matches found -->
</xsl:otherwise>
Haven't tested this though, but it should give you a hint into the right
direction, I suppose.
Bye
Carsten
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Setting flags ?, john . gough | Thread | [xsl] Re: XSL-List Digest V4 #579, Joseph Kesselman |
| [xsl] (No Subject), ashwati s | Date | [xsl] Passing Command line params, Kalyan Kumar Mudumba |
| Month |