Xalan-Java extension with special chars

Nicolas Dubien <[email protected]> Fri, 28 Jun 2013 13:23:43 +0200
Newsgroups gmane.text.xml.xalan.java.user
Message-ID <CAFd_5NvF_DZBU8CW_MUPzG1n6DdhH_CM6d5uMrgyN8ff8c3UWQ@mail.gmail.com>
--089e0141a5e486c2a204e0351c1d
Content-Type: text/plain; charset=ISO-8859-1

Hi,

I would like to know how I can use Xalan-Java extensions to compute data
and return special chars like <, >.. without being escaped.

Actually, I'm using the following xsl instruction in my xsl file:
<xsl:value-of select="xalanexample:addcolor(@first)"/>

I would like a return like:
<fo:inline color="red">David</fo:inline>
But instead of that, the return is:
&lt;fo:inline color="red"&gt;David&lt;/fo:inline&gt;

My Java extension is:
public String addcolor(String name) {
        String result = ((name.compareTo("David") == 0) ? "<fo:inline
color=\"red\">" : "<fo:inline color=\"blue\">") + name + "</fo:inline>";
        return result;
}

How could I do?

I am looking forward to hearing from you,
Nicolas DUBIEN

--089e0141a5e486c2a204e0351c1d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div>Hi,<br><br>I would like to know how I can u=
se Xalan-Java extensions to compute data and return special chars like &lt;=
, &gt;.. without being escaped.<br><br>Actually, I&#39;m using the followin=
g xsl instruction in my xsl file:<br>
<div style=3D"margin-left:40px">&lt;xsl:value-of select=3D&quot;xalanexampl=
e:addcolor(@first)&quot;/&gt;<br></div><br>I would like a return like:<br><=
div style=3D"margin-left:40px">&lt;fo:inline color=3D&quot;red&quot;&gt;Dav=
id&lt;/fo:inline&gt;<br>
</div>But instead of that, the return is:<br><div style=3D"margin-left:40px=
">&amp;lt;fo:inline color=3D&quot;red&quot;&amp;gt;David&amp;lt;/fo:inline&=
amp;gt;<br></div><br></div><div>My Java extension is:<br><span style=3D"col=
or:rgb(56,118,29)"><font size=3D"1"><span style=3D"font-family:courier new,=
monospace">public String addcolor(String name) {<br>
=A0=A0=A0 =A0=A0=A0 String result =3D ((name.compareTo(&quot;David&quot;) =
=3D=3D 0) ? &quot;&lt;fo:inline color=3D\&quot;red\&quot;&gt;&quot; : &quot=
;&lt;fo:inline color=3D\&quot;blue\&quot;&gt;&quot;) + name + &quot;&lt;/fo=
:inline&gt;&quot;;<br>
=A0=A0=A0 =A0=A0=A0 return result;<br>}</span></font></span><br></div><div>=
<br></div>How could I do?<br><br></div>I am looking forward to hearing from=
 you,<br></div><div>Nicolas DUBIEN<br></div><div><div><div><span class=3D""=
></span><span class=3D""></span></div>
</div></div></div>

--089e0141a5e486c2a204e0351c1d--