you can check for text, without turning the expression into a string ->
<xsl:variable name="isCorrectValue"
select="$demoValue[(_at_)value = 'valid']/text()"/>
that should work, unless some of your 'non-empty' demoValues also have
whitespace.
in that case, closer to your original ->
normalize-space($demoValue[(_at_)value = 'valid']) = ''
hth,
/m
On Tue, 19 Nov 2002, Laura wrote:
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.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list