RE: [xsl] comparisons between strings have changed since XPath 1.0 warning

Subject: RE: [xsl] comparisons between strings have changed since XPath 1.0 warning
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Wed, 5 Oct 2005 09:32:18 +0300
Hi,

> I receive the below error message when I try to compile the
> below XML. I
> am using saxon7 and can trace my error to
>         <xsl:when test="$webs &gt; '3'">
> but I am not sure how to fix this. I found some info on the
> oasis list
> site, but nothing in the mulberry archives.
>
> Any help would be appreciated. Thanks in advance-troy
>
>
> ***********************Error********************************
>   Less-than and greater-than comparisons between strings have changed
> since XPath 1.0
>
>
> ***********************XSL********************************
>
> <xsl:if test="string-length(WebExtra) &gt; 1">
>         <xsl:variable name="webs">
>                 <xsl:number value="count(WebExtra)"/>
>         </xsl:variable>
>         <xsl:choose>
>                 <xsl:when test="$webs &gt; '3'">

Change the above to

  <xsl:variable name="webs" select="count(WebExtra)"/>
  <xsl:choose>
    <xsl:when test="$webs &gt; 3">

I.e. instead of trying to compare a document node to a string, compare a
number to a number. (In XPath 1.0 the variable was bound to a Result Tree
Fragment and for comparison it was first converted to a string and then to a
number.)
Cheers,

Jarno

--
Alek Szahala: Xochitlan

Current Thread