通常のhtml検証では、ドキュメントの説明に拡張属性を記述することが決定されました。
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
[
<! ATTLIST input
lookup:url CDATA # IMPLIED
lookup:targets CDATA # IMPLIED
>
] >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" />
< title > test </ title >
</ head >
< body >
< input type ="text" maxlength ="50" size ="20" class ="lookup" name ="l1"
lookup:url ="/find.aspx?q="
lookup:targets ="id:MyHidden1, id:MySpan1.text, text:MySpan2.text" />
</ body >
</ html >
このHTML は検証に完全に合格し、プラグインに最適ですが、! ドキュメントの冒頭のブラウザ(Chrome、IE8、FF3)では、2つの文字「]>」が表示され、すべてが損なわれます。
外部dtdファイルなどのオプション 試行-検証は失敗します。
さらに掘り下げるか、高度な属性と有効なhtmlを使用してアイデアをスローする必要がありますか? それとも、誰かがこれを回避する方法を知っているでしょうか?
結果。 議論してくれた皆さんに感謝しますが、私は意図的にこのプロセスに参加しませんでした。 賢明なリンクを提供してくれたtenshiとSelenITに特に感謝します。私のバージョンでは、DTDをインポートするステップがありませんでした。
結果はこうなります:独自のDTDファイルを作成し、必要なDTDをインポートします
<!-- include XHTML1.1 -->
<! ENTITY % xhtml1t . dtd PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
%xhtml1t.dtd;
<!-- -->
<! ATTLIST input
lookup:url CDATA # IMPLIED
lookup:targets CDATA # IMPLIED
>
次に、ページでDoctypeを処方します
<! DOCTYPE html PUBLIC "-//My//DTD XHTML MyExt//RU" "http://my.site.ru/_static/test.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
...
検証に合格すると、ドキュメントは正常に見えます。 ただし、別の質問は、ブラウザーがそれをどのように認識するかです。
ちなみに、絶え間ない紛争については、ドキュメントが有効であるかどうかが必要です。検証は個人的に便利です。検証を使用してページコードを確認し、 生成された htmlの妨害を検索します。 多くの人が独自の確立した意見を持ち、説得し、この問題に関する論争に従事し、不要です。