Re: [xsl] String comparisons fail unexpectedly: how can 'USA' not be 'USA'?

Subject: Re: [xsl] String comparisons fail unexpectedly: how can 'USA' not be 'USA'?
From: Joerg Pietschmann <joerg.pietschmann@xxxxxx>
Date: Wed, 27 Feb 2002 16:37:57 +0100
TSchutzerWeissmann@xxxxxxxxxxxxxxxx wrote:
> tried this:
>   <xsl:value-of select="Billcode[2]/@country"/>
>   <xsl:value-of select="'USA'=Billcode[2]/@country"/> 
> and got, to my surprise, "USAfalse".

Did you type in both your XML and XSL with the same editor
on the same machine? If not, dump both with the same encoding
and examine the hexadecimal values of the relevant character
codes. There are for example several Unicode characters which
could give you the glyph "A" on display.

There are further possibilities, like a bug in your processor.
A behaviour change for example if unrelated parts of the XML
are deleted would hint in this direction.
What does your processor produce on
  <?xml version="1.0"?>
  <test>USA</test>
transformed by
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    version="1.0">
    <xsl:template match="test">
     <xsl:value-of select="'USA'=."/> 
    </xsl:template>
  </xsl:stylesheet>

Saxon produces
  <?xml version="1.0" encoding="utf-8"?>true

HTH
J.Pietschmann

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


Current Thread