Subject: Re: xsl:if test = empty string, returns true
From: Jorge <chocolate.camera@xxxxxxxxx>
Date: Sun, 13 May 2012 22:43:08 +0200
|
> Try following::string instead.
Still evaluates to true.
> The node following the key element is a text node containing a newline and
some spaces before the <string> open tag.
That is what I initially thought, so I tried adding
<xsl:strip-space elements="plist dict"/>
and then
<xsl:strip-space elements="*"/>
Shouldn't that take care of any white-space-only text nodes? Adding those
lines does not change the result.
> Note, I'd use, e.g.
> <pair><key>testkey</key><value>....</value></pair><pair>...
> and then you don't need the [1].
The plist files follows http://www.apple.com/DTDs/PropertyList-1.0.dtd. It is
not a syntax that I can choose.
El 13/05/2012, a las 22:24, Liam R E Quin escribis:
> On Sun, 2012-05-13 at 22:03 +0200, Jorge wrote:
> [...]
>> $metadata/plist/dict/key[text()=$label]/following::node()[1]/text())
> [...]
>
>>> <dict>
>>> <key>testkey</key>
>>> <string></string>
>>> </dict>
>>> </plist>
>>
>> Any idea why the test evaluates to true?
> The node following the key element is a text node containing a newline
> and some spaces before the <string> open tag. Try following::string
> instead.
>
> Note, I'd use, e.g.
> <pair><key>testkey</key><value>....</value></pair><pair>...
> and then you don't need the [1].
>
> Liam
>
> --
> Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
> Pictures from old books: http://fromoldbooks.org/
|