|
Subject: Re: [xsl] synthaxe pb with > in xsl From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Thu, 20 Mar 2003 14:13:03 +0000 |
Hi Lo,
> but when i create in java (with the dom libraries) the xsl dom tree,
> i don't succeed to write the xsl:if condition like this :
>
> .....
> If2.setAttribute("test","string-length('"+node+"') > '5' ");
> where node is the name of the current node.
You're mixing up the *string*value* of the attribute (which is what
you set with .setAttribute() with the *serialised* value of the
attribute.
When you create an attribute using .setAttribute(), the second
argument is a string that is the value of the attribute. In this case,
you're setting the attribute to the value:
string-length('Nuance') > '5'
(Note that I'm not sure why you have the single quotes in there; I
don't think that you want them.)
If you serialised this string value as XML, you'd get:
test="string-length('Nuance') &gt; '5'"
Or, equivalently:
test='string-length('Nuance' &gt; '5''
When an & in a string value is serialised as XML, it gets serialised
as &.
Consider the one that works:
> If2.setAttribute("test","string-length('"+node+"') > '5' ");
Here you're setting the value of the attribute to the string:
string-length('Nuance') > '5'
When that gets serialised as XML, you might get:
text="string-length('Nuance') > '5'
The > in a string value is serialised using the entity reference >.
(Note that this might not happen -- only &, < and whatever character
gets used as the quotes around the attribute value need to be
serialised using entity references. > never needs to be escaped,
though it can be.)
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] synthaxe pb with > in , Lionel Crine | Thread | RE: [xsl] synthaxe pb with > in , Michael Kay |
| RE: [xsl] synthaxe pb with > in , Jarno . Elovirta | Date | RE: [xsl] local extremums, Evgenia Firsova |
| Month |