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

Reply via email to