- From: Olivier Thereaux via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 15 Aug 2008 18:52:51 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/validator/httpd/cgi-bin
In directory hutz:/tmp/cvs-serv21523
Modified Files:
check
Log Message:
* making sure that automatic doctype detection does not overwite
the choice of HTML5 override
* preparing routine for the detection of HTML5 via <!DOCTYPE HTML>
Index: check
===================================================================
RCS file: /sources/public/validator/httpd/cgi-bin/check,v
retrieving revision 1.594
retrieving revision 1.595
diff -u -d -r1.594 -r1.595
--- check 15 Aug 2008 18:25:50 -0000 1.594
+++ check 15 Aug 2008 18:52:49 -0000 1.595
@@ -666,22 +666,21 @@
#
# Override DOCTYPE if user asked for it.
if ($File->{Opt}->{DOCTYPE}) {
- if ($File->{Opt}->{DOCTYPE} eq "HTML5") {
- $File->{DOCTYPE} = "HTML5";
- $File->{Version} = $File->{DOCTYPE};
- }
- elsif (not $File->{Opt}->{DOCTYPE} =~ /(Inline|detect)/i) {
- $File = &override_doctype($File);
- }
+ if (not $File->{Opt}->{DOCTYPE} =~ /(Inline|detect)/i) {
+ $File = &override_doctype($File);
+ }
}
-if ($File->{Opt}->{DOCTYPE} eq "HTML5") {
-
-}
-else {
- # Try to extract a DOCTYPE or xmlns.
- $File = &preparse_doctype($File);
+# Try to extract a DOCTYPE or xmlns.
+$File = &preparse_doctype($File);
+
+if ($File->{Opt}->{DOCTYPE}) {
+ if ($File->{Opt}->{DOCTYPE} eq "HTML5") {
+ $File->{DOCTYPE} = "HTML5";
+ $File->{Version} = $File->{DOCTYPE};
+ }
}
+
set_parse_mode($File, $CFG);
#
# Sanity check Charset information and add any warnings necessary.
@@ -701,8 +700,8 @@
if (&is_xml($File)) {
if ($File->{DOCTYPE} eq "HTML5")
{
- $File->{DOCTYPE} = "XHTML5";
- $File->{Version} = "XHTML5";
+ # $File->{DOCTYPE} = "XHTML5";
+ # $File->{Version} = "XHTML5";
}
else {
my $xmlparser = XML::LibXML->new();
@@ -2081,9 +2080,15 @@
my $declaration = shift;
my $doctype_type;
my $doctype_secondpart;
- ($File->{Root}, $doctype_type, $File->{DOCTYPE}, $doctype_secondpart) = $declaration =~ m(<!DOCTYPE\s+(\w[\w\.-]+)\s+(PUBLIC|SYSTEM)\s+(?:[\'\"])([^\"\']+)(?:[\"\'])(.*)>)si;
- if (($doctype_type eq "PUBLIC") and (($doctype_secondpart) = $doctype_secondpart =~ m(\s+(?:[\'\"])([^\"\']+)(?:[\"\']).*)si)){
- &match_DTD_FPI_SI($File, $File->{DOCTYPE}, $doctype_secondpart);
+ if ($declaration =~ m(<!DOCTYPE\s+HTML\s*>)si) {
+ $File->{Root} = "html";
+ $File->{DOCTYPE} = "HTML5";
+ }
+ else {
+ ($File->{Root}, $doctype_type, $File->{DOCTYPE}, $doctype_secondpart) = $declaration =~ m(<!DOCTYPE\s+(\w[\w\.-]+)\s+(PUBLIC|SYSTEM)\s+(?:[\'\"])([^\"\']+)(?:[\"\'])(.*)>)si;
+ if (($doctype_type eq "PUBLIC") and (($doctype_secondpart) = $doctype_secondpart =~ m(\s+(?:[\'\"])([^\"\']+)(?:[\"\']).*)si)){
+ &match_DTD_FPI_SI($File, $File->{DOCTYPE}, $doctype_secondpart);
+ }
}
};
Received on Friday, 15 August 2008 18:53:25 UTC