Hello
Thanks to those who review/commit patches related with XHTML
validation (Adriam Crum, Bruno Busco and Jaques Le Roux)
Although there are still 15 patches waiting to be reviewed/committed
and probably I'll need to deliver 4 or 5 more, I think I've finished,
more or less, the validating and patching task.
Why validate against XHTML?
Markup validation is just another way to verify the result of a
program, and markup errors and warnings could be used just like compiler
warnings, as a help to avoid bugs.
Otherwise, markup could be more dangerous than a programming
language, you can make a mistake in markup and browsers will deal with
it, but each browser could do it in a different way and you can't
predict what you'll get.
I think it is a good idea to comply with standards or at least
follow it and decide when and why you will break it (f.i the
autocomplete attribute in input tags)
How do I validate against XHTML?
I validated the pages with the Firefox extension "HTML Validator",
which provide a very easy way to validate pages. By default it validates
automatically each page firefox loads and gives the result with a status
icon, which can be clicked to obtain a detailed report.
The HTML Validator allows to choose the validation method between
SGML / HTML Tidy / both. The SGML option is the one valid for XHTML,
since HTML Tidy is designed to verify HTML and no XHTML.
AFAIK the result of the SGML parser validation is equal to the one
from the W3C online validator.
The HTML Validator can be found at :
http://users.skynet.be/mgueury/mozilla/
Which are the results after the patches ?
I decided to ignore the complaint of the validator about the
autocomplete attribute in input tags, mainly because there is no
replacement for it, it is supported by all browsers and it is already
included in HTML5 draft
The results of the validation with my local copy of ofbiz (fully
patched) are the following:
Pages analyzed - 583 different pages of the ofbiz demo
Pass - 541 pages.
Fail - 30 pages.
Excluded - 12 pages (due to page errors, embedded xml, wrong
DOCTYPE, etc)
And the reason of the 30 failures are:
27 pages fail due to the use of a form with separate-columns="true"
and a inner(row) form.
3 pages with manual implementation of forms (ftl) which fails due to
forms directly inside tables or tr.
Both issues are about forms in tables, although the first one seem
more serious because happen in widget code which is generated and not
hand written.
I created a JIRA entry
(https://issues.apache.org/jira/browse/OFBIZ-3650) about the problem in
the form widget with separate-columns="true" which also contains a
solution proposal.
Regards
Blas