0

ページヘッドに次のコードがあります。

<!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"> -->

そして私の正しい文書型をコメントアウト...`

誰かが私に正しい文書型 (または正しい構文/回避策) を教えてくれますか?

4

1 に答える 1

0

次のようなより主流の RDFa doctype を使用しない理由はありますか?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">

または、より単純な HTML5 doctype:

<!DOCTYPE html>

于 2013-05-19T01:29:22.273 に答える