RE: [xsl] synthaxe pb with > in xsl

Subject: RE: [xsl] synthaxe pb with > in xsl
From: Jarno.Elovirta@xxxxxxxxx
Date: Thu, 20 Mar 2003 16:12:59 +0200
Hi,

> in my xsl file the following condition id well tested and works fine :
> <xsl:if  test="string-length(Nuance) &gt;= 5">
> ....
> </xsl:if>

You can write

  <xsl:if  test="string-length(Nuance) >= 5">

as GREATER-THAN SIGN character needs not be escaped in XML.

> 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+"') &gt; '5' ");
> where node is the name of the current node.

That's because you're creating an attribute with a string "&gt;" in it, not GREATER-THAN SIGN character. You don't need to escape XML delimiters, if you're not actually writing an XML document. If the DOM tree is serialized, the serializer will take care of neccessary escaping.

> I don't understand the pb. Moreover the following synthaxe works :
> 
> If2.setAttribute("test","string-length('"+node+"') > '5' ");

As it should. When writing XML, escape XML delimiters; likewise, when writing Java, escape Java delimiters, e.g. REVERSE SOLIDUS character is escaped with two REVERSE SOLIDUS characters.
 
Hope I didn't make things worse...

Cheers,

Jarno - Grendel: End of Ages

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


Current Thread