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 |