This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


TSchutzerWeissmann@uk.imshealth.com 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]