xsl-list
[Top] [All Lists]

Re: Using a parameter in a condition

2004-02-24 10:32:58
That's what I thought.  So I added a <xsl:message> to
see what the result of the look up was and realized
that the logic to check for missing value was messing
up the whole thing:

  <xsl:template name="getLocalizedString">
    <xsl:param name="key"/>
    <xsl:variable name="lookupString"
select="$stringTable/strings/string[(_at_)key=$key]"/>
    <xsl:message><xsl:text>   In getLocalizedString
value of lookupString is: '</xsl:text><xsl:value-of
select="$lookupString"></xsl:value-of><xsl:text>'</xsl:text></xsl:message>
    <xsl:choose>
      <xsl:when test="lookupString != ''">
        <!-- Return the found string -->
        <xsl:value-of select="$lookupString"/>
      </xsl:when>
      <xsl:otherwise>
        <!-- Return a string indicating what key could
not be found -->
        <xsl:text>!</xsl:text><xsl:value-of
select="$key"/><xsl:text>!</xsl:text>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

Notice the lack of a '$' in front of what I meant to
be a variable name in the test:
      <xsl:when test="lookupString != ''">
changing to
      <xsl:when test="$lookupString != ''">
makes it all work.

Thanks for the help,

IL

David wrote on
2004-02-24 08:43:21:

         <xsl:with-param name="key"
select="'String.One'"/>

That should work

       <xsl:with-param
name="key"><xsl:text>String.One</xsl:
text></xsl:with-param>

That should work as well, although it's less
efficient, forces the
creation of a result tree fragment which then has
to be coerced back to
a string when you use it in a string context
within the template.

       <xsl:with-param name="key"
select="String.One"/>

that will set the param to the node set consisting
of all child elements
with name String.One, this is probably an empty
node set and so will act
as the string "" when you use the param in a
string context.


David


__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools

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



<Prev in Thread] Current Thread [Next in Thread>