2012-04-09 18 views
0

このサンプルコードでは、w3cバリデータは渡されません。XHTML5とカスタム名前空間が検証をパスしない

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:foo="http://foo.com/fooxml"> 
<head> 
    <title>Foo</title> 
</head> 
<body> 
    <foo:TabControl> 

    </foo:TabControl> 
</body> 
</html> 

何が欠けていますか?ネームスペースを作成し、検証に合格するために必要なことは何ですか?

答えて

2

あなたのDTD(http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)は、 "XHTML 1.0 Strict + Foo"ではなく "XHTML 1.0 Strict"です。

妥当性を確認するには、使用しているすべての要素と属性を含むDTDを検索または作成し、Doctypeをそれを指すように変更する必要があります。

W3Cのrecommended Doctypesのリストには、独自の作成用の例として使用できる多数の名前空間ドキュメント(XHTML + MathML + SVGなど)が含まれています。

+0

既存のHTML DTD(html、head、body、div、ulなど)に基づいたXHTML文書を作成し、この名前空間を追加して 'foo:TabControl'を使用できますか?私はすべての要素とともにHTML全体を再作成したくないでしょう。ハイブリッド型を作ることはできますか? – Tower

+0

XHTMLはモジュールで表現されているので、混在した名前空間文書を簡単に作成できます。私の答えの例として私が提案したDTDを見てください。 – Quentin

+0

ああ、私は参照してください。だから私は自分の選択した要素、例えば 'TabControl'を使って独自のDTDを作成し、XHTML + Fooと呼ばれる結合DTDを作成します。 – Tower

関連する問題