鑑定家にとって興味深い仕事

jQueryのプラグインを作成する過程で、よく知られているタグに高度な属性を追加して、プラグインへのパラメーターの受け渡しを容易にする必要がありました(美しく簡単になりました)が、ページ検証も問題なく渡すことができます。 ちょっとした実験で選択肢がありました:有効なHTMLまたは高度な属性...



通常の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を使用してアイデアをスローする必要がありますか? それとも、誰かがこれを回避する方法を知っているでしょうか?



結果。 議論してくれた皆さんに感謝しますが、私は意図的にこのプロセスに参加しませんでした。 賢明なリンクを提供してくれたtenshiSelenITに特に感謝します。私のバージョンでは、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の妨害を検索します。 多くの人が独自の確立した意見を持ち、説得し、この問題に関する論争に従事し、不要です。



All Articles