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'?



----- Original Message -----
From: <TSchutzerWeissmann@uk.imshealth.com>
To: <xsl-list@lists.mulberrytech.com>
Sent: Wednesday, February 27, 2002 12:26 PM
Subject: [xsl] String comparisons fail unexpectedly: how can 'USA' not be
'USA'?


> Dear list,
>
> this is very frustrating! I want to pull out lots of records from a data
> source using a list. The data source has records that look like this:
> <Billcode corp="EvilEmpire" country="USA">
>
> and the list is an html table with rows like this:
>
> <tr><td>EvilEmpire</td><td>USA</td></tr>
>
> Initially I tried using a key with use="concat(@corp,'::',@country)" but
no
> joy, after a lot of trying things out very patiently or not so patiently I
> tried this:

hmmm, a key for sorting these values i suspect ?

look at www.dpawson.co.uk XSL faq area on keys for this...


> <xsl:value-of select="Billcode[2]/@country"/>
> <xsl:value-of select="'USA'=Billcode[2]/@country"/>
>

u need to put the current node test first

but in any event the following should be illustrative of how one would get
the right test ( i've used a for-each, but of course u could use templates )

xsl file
----------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:template match="root">
   <xsl:for-each select="//Billcode">

   <xsl:value-of select="@country='USA'"/>

   </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

xml file
----------------------------------------------------
<?xml version="1.0" ?>
<root>
<Billcode corp="EvilEmpire" country="USA"/>
<Billcode corp="FunEmpire" country="UK"/>
<Billcode corp="SunEmpire" country="BERMUDA"/>
</root>


> and got, to my surprise, "USAfalse".
>
> There must be something important I don't know about string comparisons!
>
> I've tried wrapping things in string( )s but to no avail.
> Any help much appreciated,

HTH, in the future i would include a slightly more defined example of 'what
u want to do' maybe in the form of desired results, also pls quote your XSLT
processor,

cheers, jim fuller

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


 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]