Re: [xsl] XSL Java (&amp;lt; &lt; <) problem

Subject: Re: [xsl] XSL Java (&amp;lt; &lt; <) problem
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 6 Jan 2004 15:38:56 GMT
> It seems <![CDATA[ does the same as the htmlspecialchar 

<![CDATA is just a syntactic alternative to using &lt; and &amp;
It just makes all occurrences of < and & within its scope be
automatically taken as character data rather than markup (it _only_
affects these two characters).

> so this isn't java. (&lt;)

It is, as encoded in XML.
The character data in the XML consists of a single < character, if you
extract the text from a DOM, or for example look at string-length() in
Xpath, you will see that there is a single < character there, it is just
that the way to write a single < character in XML is &lt;.

Any application that extracts the text from the XMl file and passes it
to a program interpreter should pass the actual character data, not its
XML encoding, so java(script) will never see the &lt;.

this is exactly the same as in Xpath: the Xpath test is 1 < 2 but if you
use XPath in an XML context, you need eg <xsl:if test="1 &lt; 2">
The XPath interpretter is not confused by the entity reference as that
has been expanded by the XML parser before the Xpath system ever sees
the expression.

> PS. I use xml with xsl now in a php processor(this is a better
> processor than the one of the ie explorer + I get XHTML source back)
> instead of using the <?xml-stylesheet type="text/xsl"
> href="example.xsl"?> directive in the xml file. 

If you are producing html, then any < or & signs appearing as content of
a script element should appear in the result as < or & (even though they
are entered using &lt; and &amp;, or equivalently, <![CDATA).



This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

 XSL-List info and archive:

Current Thread