I'm using MSXML to write HTML5 output, which mostly works except in a few subtle ways where some genius has decided the new standard shouldn't follow the rules of XML.
One of which is to do with script tags. The problem I currently have is anything I write inside a <script> is encoded as markup, so this turns < into < and && into &&, but the browser interprets the contents of <script> as raw javascript rather than following the rules and decoding it.
The way to put raw unencoded text into XML is to use CDATA, which writes the script correctly, but then the browser tries to interpret the [CDATA tag as part of the script.
Does anyone know if there's a good answer to this problem? At the moment all I can think to do is post-process the produced HTML to either decode the contents of a script tag, or probably easier, remove the CDATA tag. I could write the script as an external file, but I'm trying to avoid that.
One of which is to do with script tags. The problem I currently have is anything I write inside a <script> is encoded as markup, so this turns < into < and && into &&, but the browser interprets the contents of <script> as raw javascript rather than following the rules and decoding it.
The way to put raw unencoded text into XML is to use CDATA, which writes the script correctly, but then the browser tries to interpret the [CDATA tag as part of the script.
Does anyone know if there's a good answer to this problem? At the moment all I can think to do is post-process the produced HTML to either decode the contents of a script tag, or probably easier, remove the CDATA tag. I could write the script as an external file, but I'm trying to avoid that.
Comment