On Mon, 2008-01-07 at 12:10 +0100, David Delbecq wrote: > En l'instant précis du 07/01/08 11:58, R. Müller s'exprimait en ces termes: > > hallo group, > > > > i'm working with myfaces/tomahawk 1.1.5 & facelets 1.1.3 with tomcat > > 5.0.28 and mostly firefox-browsers (2.0.x) and trying to serve > > xhtml-compliant pages. i know that myfaces renders 'only' html 4.01. > > i'm forcing contentType 'text/xml' or 'application/xhtml+xml' by > > adding the contentType-attribute to the 'f:view'-tag : > > > > <f:view contentType="application/xhtml+xml"> > > > > most stuff works well. but sometimes firefox gets stuck on not > > well-formed parts of the page, mostly because the rendered > > javascript-code from varoius components is not embedded into a > > CDATA-section - just a plain script-tag : > > > > <script type="text/javascript"> > > > > so firefox checks this content as well and gets stuck. i.e. : > > > > > > if((typeof target!='undefined') && target != null) > > -------------------------------------------------^ > > > > from > > function oamSubmitForm(formName, linkId, target, params) > > > > > > > > is there any control on howto render javascript ? > Yes, for tomahawk parts at least. Most tomahawk component makes call to > AddRessource, using methods like 'insertScript(....)', you could > overrride those methods and recompile your tomahawk. As for myfaces, > most javascript rendering routines are in a few helper classes (you'll > have to dig your self). Same rule applie: change the code, recompile. > > is there an easy way to put these parts into CDATA-sections to get > > well-formed xml-pages ? > Your could write a filter that convert > <script (.*)>(.*)</script> > to > <script $1><[CDATA[$2]]></script> > > Or, as mentionned, patch the myfaces/tomhawk code?
In HTML, script tags are special, and the content within them is effectively automatically escaped. A lot of the myfaces/tomahawk components were written assuming this. It does appear that xhtml treats script tags just like any other tag, with no special rules, so CDATA really is necessary: http://www.w3.org/TR/xhtml1/#h-4.8 Patches to fix this would be gratefully received. Regards, Simon

