ページヘッドに次のコードがあります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/html401-rdfa-1.dtd">
<html xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8">
このページを Validator.w3.org で検証し、自動 doctype 検出を使用すると、174 エラーが発生し、doctype は -//W3C//DTD HTML 4.01+RDFa 1.0//EN と表示されます。これが検証結果です。
次に、doctype を手動で HTML 4.01+RDFa 1.1 に設定してページを再検証すると、doctype は HTML 4.01 Transitional として表示され、2 つのエラーと 2 つの警告があります: 解析モードを決定できず、DOCTYPE オーバーライドが有効です! バリデータは私のdoctypeを理解していないようで、次のように書いています:
検出された DOCTYPE 宣言 >!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01+RDFa 1.0//EN" "hxxp://www.w3.org/MarkUp/DTD/html401-rdfa-1.dtd"<は抑制され、代わりに「HTML 4.01 + RDFa 1.1」の DOCTYPE が挿入されました...
ソースコードを表示するようにバリデーターを設定すると、ページにあるように、バリデーターには別のコードが少しあることがわかります。バリデーターは、コードの最初の行を次のように変更します。
<!DOCTYPE ><!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/html401-rdfa-1.dtd"> -->
そして私の正しい文書型をコメントアウト...`
誰かが私に正しい文書型 (または正しい構文/回避策) を教えてくれますか?