xsl-list
[Top] [All Lists]

Re: unix problems.. change of approach

2002-11-19 14:45:57
Dear people,
I have now decided that i will change my approach to solve this. I only need
your help.
I have xml structure like ..
<demoValues>
    <demoValue value = 'valid'>
        valid value
    </demoValue>
    <demoValue value = 'invalid'>
        invalid value
    </demoValue>
</demoValues>
The problem is  i need to set a variable to true or false based on the
following criteria.
if i find a  demovalue element with value attribute = "valid" and which is
not empty,
then the variable isCorrectValue should be "yes"

I do not want to use the approach as in ..

<xsl:variable name="isCorrectValue">
   <xsl:if test="not(string-length($demoValue[(_at_)value =
'valid'])=0)">
     <xsl:text>yes</xsl:text>
    </xsl:if>
   </xsl:variable>
Because this fails in UNIX.
so i thought i use something like.
<xsl:variable name="isCorrectValue"
select="normalize-space($demoValue[(_at_)value = 'valid'])"/>
which would give my "isCorrectValue" a boolean true or false.
this is not working..
If anyone can correct the above statement to get the boolean value as i
wanted , then  string($isCorrectValue) will give me literal true or false,
which i can make use later.

Can anyone help me please.



----- Original Message -----
From: "Laura" <xsl_list(_at_)hotmail(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Tuesday, November 19, 2002 9:06 PM
Subject: Re: [xsl] unix problems


so would this mean that this is a bug in XALAN??

----- Original Message -----
From: "Joerg Heinicke" <joerg(_dot_)heinicke(_at_)gmx(_dot_)de>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Tuesday, November 19, 2002 7:23 PM
Subject: Re: [xsl] unix problems


Seems to be a processor specific problem. The statement is correct. What
about test="string($demoValue[(_at_)value = 'valid'])" or
test="normalize-space($demoValue[(_at_)value = 'valid'])". Shorter and less
conversions in it.

Regards,

Joerg

Laura wrote:
sorry i meant
<xsl:if test="not(string-length($demoValue[(_at_)value = 'valid'])=0)">
This goes without errors in windows
but throws
java.lang.reflect.InvocationTargetException
when run on UNIX system


----- Original Message -----
From: "G. Ken Holman" <gkholman(_at_)CraneSoftwrights(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Tuesday, November 19, 2002 5:51 PM
Subject: Re: [xsl] unix problems



At 2002-11-19 17:32 +0000, Laura wrote:

<xsl:variable name="isCorrectValue">
   <xsl:if test="not(string-length($demoValue/value = 'valid')=0)">
     <xsl:text>yes</xsl:text>
    </xsl:if>
   </xsl:variable>
Works fine with Win2k but fails in UNIX.

I don't see how it would work meaningfully anywhere ... you are asking
for
the string length of a boolean value which when converted to a string
becomes either "true" or "false" which means the string length will
never
be zero, which means the comparison will always be false, which means
the
not() function will always return true, so you will always see "yes".

................ Ken


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


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


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



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