This has been an issue for a while, it turns out. I found this message on the www-validator mailing list archives, dated over two years ago. http://lists.w3.org/Archives/Public/www-validator/2000JanMar/0082.html http://lists.w3.org/Archives/Public/www-validator/2000JanMar/0068.html ...etc... (search for '<base') I don't know what the right answer here is. XHTML is not HTML. They're really close and browsers should be able to render either but, when you get down to it they just aren't the same. Zope's position of assuming XHTML forces people (sort-of) to use XHTML if they want to use a validator. Perhaps another option would be to make zope have an option to spit out the ' /' or not rather than requiring source code changes. Alas, this would also affect other products. Image, for example, also spits out ' />'. I'm assuming the Zope position must be that it is targeting XHTML and developers should do likewise if they want to get validated. I've never noticed such a message anywhere but that seems to be the case.
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Dan Jacobs Sent: Monday, September 23, 2002 8:43 AM To: Martijn Pieters Cc: zope@zope.org Subject: Re: [Zope] w3c validation and <base .../> tag
Martijn,
That's a good point, perhaps someone from zopecorp could drop them an e-mail about this?
Regards,
Dan
On Mon, 23 Sep 2002, Martijn Pieters wrote:
On Mon, Sep 23, 2002 at 05:10:05PM +0200, Ulrich Wisser wrote:
Zope inserts this <base href="http://zope.website/" /> which maybe is valid xhtml but not HTML 4.01.
At most the validator should tell you the '/' is not a valid attribute. The base element *is* a legal element in the HTML 4.01 spec:
http://www.w3.org/TR/html401/struct/links.html#edef-BASE
As it is impossible to detect when you are trying to generate XHTML and when HTML in all cases, Zope *has* to include the additional slash.
In my opinion, the W3C validtor is broken in the face of their own recommendation for transisition from HTML to XHTML; it is the W3C recommendation to use ' /' (with the space) at the end of empty XHTML tags to avoid breakage in non-XHTML browsers.