I have contacted the ZoomIn developers regarding the issue where a static page containing the HTML generated by SilverStripe works but the dynamically generated GTML does not. This was the reply:
Hmmm, tricky. I don't know much about how SilverStripe works, but there are
two differences between the page source of the SilverStripe version and the
static version you pasted: the former starts with an XML tag (<?xml
version="1.0" encoding="UTF-8"?>), and the html tag include xml namespace
attributes (<html xmlns="http://www.w3.org/1999/xhtml xml:lang="en" >).
Looking at the way the syntax is highlighted in the two versions by
Firefox's source viewer, I'd surmise that those changes are causing Firefox
to parse the CDATA block (containing our script) in a different way, which
causes an error (not a very meaningful one: "An invalid or illegal string
was specified"). Is there any way that you can configure SilverStripe to not
make those XML settings?
Thanks for the reply. I removed the code from the default template as indicared by ZoomIn and this addressed the issue. Is this an issue that I should address with ProjectX and what would I tell them they should change?
I guess by removing this code, the generated code is no longer fully compliant.
It's still compliant, but it's compliant HTML 4.01 instead of compliant XHTML. Strictly speaking, IE doesn't support XHTML and most browsers interpret XHTML provided to them as HTML 4.01.