[Bug 1184] markup validator ignores SYSTEM doctypes

http://www.w3.org/Bugs/Public/show_bug.cgi?id=1184


ot@w3.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|link@pobox.com              |ot@w3.org
          Component|Parser                      |check
            Summary|Custom DTDs not recognized  |markup validator ignores
                   |                            |SYSTEM doctypes




------- Additional Comments From ot@w3.org  2005-05-09 05:49 -------
This bug was twofold:

1)- a recent modification in sgml.soc (the sgml catalog in the sgml-lib used by, and distributed with, 
the validator), aiming at giving warnings when a bogus FPI was use with a good system identifier, was 
in effect ignoring the system identifier, even when that should not be the case 

2)- the doctype detection code (currently in check, &preparse_doctype(), previously &preparse(), and 
before that probably in something named detect_doctype()...) never detected the presence of a doctype 
in the case of a SYSTEM declaration, only PUBLIC

3)- version 0.7.0 of check is stricter with its handling of documents without recognized doctypes, and 
forces the fallback to a known doctype instead of accepting documents as "valid <BLANK>". This new 
situation is not a bug per se, rather a bug fix, but it made the issue described in point 2)  apparent.


Suggested fixes:
- 1) was fixed by revision 1.16 of http://dev.w3.org/cvsweb/validator/htdocs/sgml-lib/sgml.soc

- the collision of 2) and 3) can be fixed by changing preparse_doctype to also recognise SYSTEM 
doctypes. I will commit such a patch later today.

- as also discussed earlier, changing the model from valid/invalid foo to no/n error(s) found would also 
avoid such issues, but this is not planned (yet).

Received on Monday, 9 May 2005 05:49:40 UTC