On 17.03.2007 16:43, Jason Johnston wrote:

If by "the lazy guys" you also mean Cocoon itself. For instance, the CForms forms-field-styling.xsl creates all its output in the null namespace, which is fine for regular HTML delivery but if for some reaason you do want to deliver as XHTML you have to set the proper namespace somehow.

A most trivial XSLT can do this.

To interject a counter-opinion, there is a well-established precendent on the Web today for delivering XHTML in ways that are consumable by current-day user agents but without sacrificing the well-formedness or validity of the XML. True, you have to control certain aspects of the serialization to avoid tripping up certain browsers, which can be a bit of a pain.

This can be easily reached by using BrowserSelector.

I think there's a lot of value in having the tool handle these things
transparently rather than making users figure out workarounds themselves.

That's the point where I don't agree. By delivering XHTML while the browser can't understand it you force it into the quirks mode - and that's more or less unpredictable. If you deliver standard conform HTML instead the browser will behave (probably also more or less) standard conform.

Just an example, probably everybody who has been working with CSS knows the box model bug in IE. Since IE6 this one is fixed and you will get expected behaviour IF you are in standard compliance mode [1]. Otherwise, with the one fits all solution, you have to cope with that bug [2].

Despite this being just an example which I generalize IMO there is not lot of value doing such things transparently. Once again problems should get fixed where they arise. This means using HTMLSerializer here when necessary and not create one workaround (additional stuff in XHTMLSerializer) which leads to the next one (e.g. fixing IE box model) both bloating the code. That's just paradoxical. Documenting it is much more appropriate.

Regards
Jörg

[1] http://msdn2.microsoft.com/en-us/library/bb250395.aspx#cssenhancements_topic3 [2] http://www.456bereastreet.com/archive/200612/internet_explorer_and_the_css_box_model/

Reply via email to