This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: escaping from CDATA


Hi Steve,

> Question 1:
> You are using java - is there a way to do this in javascript
> in IE6? I am write javascript in the following context:

> <?xml version="1.0"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>                 xmlns:msxsl="urn:schemas-microsoft-com:xslt"
>                 xmlns:user="http://mycompany.com/mynamespace";
>                 version="1.0">
>
> <msxsl:script language="javascript" implements-prefix="user">
>   <![CDATA[
>    function Fun(arg) {
>
>    }
>   ]]>
> </msxsl:script>
>
> <xsl:template ...>
>   <xsl:value-of select="user:Fun($arg)"/>
> </xsl:template>
>
> </xsl:stylesheet>

Yes. Create a Document object and use the loadXML() method to parse
the XML string into a document. Return the Document object from the
function (this turns into a node set containing a single root node in
XPath terms). Then you probably want to *copy* that Document with
xsl:copy-of rather than get its value with xsl:value-of.

If the XML string isn't a well-formed XML document (e.g. it's got more
than one 'document element') then you can wrap a start tag and end tag
around it using JavaScript string manipulation.

> Question 2:
> I originally said the text was wrapped in CDATA:
>
>    <![CDATA[<element attr="100"><a>100</a><b>200</b></element>]]>
>
> Would it make any difference if the string was not wrapped in CDATA
> but just had the angle brackets represented as entities (which is
> the actual case):
>
>   &lt;element attr=&quot;100&quot;&gt; ... &lt;/element&gt;

No, none at all. An XSLT processor sees the two versions as being
exactly the same string.

I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]