xsl-list
[Top] [All Lists]

Re: [xsl] Understanding why <tag></tag> is the way it is (was Re: [xsl] IE Client side transformation issue)

2007-08-03 09:46:23

This is rather interesting, because in XHTML <script> has become a 
PCDATA element.

yes because CDATA elements don't exist in XML.

Note however that this means that if you go

<script><![CDATA[some script]]></script>

then if the element is parsed as X(HT)ML the content of the element is
"some script"
so that is what the javascript sees.
If on the other hand you send it as text/html then the content of the
element is
"<![CDATA[some script]]>"
so that gets sent to javascript and generates javscript errors.

99 times out of 100 users blame this on IE not understanding <![CDATA
but there is no CDATA section in the script element as < is not special
within that scope.  that is, it's user error, not a broken browser.

So people end up doing 

<script>
//<![CDATA[
some script
//]]>
</script>

so that the content of the element is

"//
some script
//
"
if parsed as XML and

"
//<![CDATA[
some script
//]]>
"

if parsed as HTML, both being valid javascript (with comments)

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>