• 締切済み

[DTD]CDATA【要素】

HTML 4 DTDより <!ENTITY % Script "CDATA" -- script expression --> <!ENTITY % StyleSheet "CDATA" -- style sheet data --> <!ELEMENT STYLE - - %StyleSheet -- style info --> <!ELEMENT SCRIPT - - %Script; -- script statements --> だそうです。 さて、実際のHTMLのDTDには登場していませんが, これをベースに俺は勝手に STYLE要素とSCRIPT要素に子としてCDATA【要素】を取るDTDを作ることにしました。 ・・・・どうしたらいいのでしょう? #マーク区間使えよ、って話はおいておきます

みんなの回答

  • key-child
  • ベストアンサー率54% (25/46)
回答No.2

質問改訂版が何を意図しているのかよくわかりませんし、cdata要素を追加して何をしたいのかもよくわかりませんが。 style要素・script要素はcdata要素を必須とし、cdata要素の開始・終了タグは省略可とすればいいのでは? 書き方がよくわからないのであってるかどうかわかりませんが。 <!ELEMENT STYLE - - (CDATA) --> <!ELEMENT SCRIPT - - (CDATA) --> <!ELEMENT CDATA O O "CDATA" -->

noname#39970
noname#39970
回答No.1
himajin100000
質問者

補足

あ、良く考えたらCDATA中のマークアップは無視されるからどっちみち CDATAとオリジナルのCDATA要素はそもそも同時に出現できないや。(汗 質問改定。 <!DOCTYPE hoge SYSTEM "./himajin.dtd"> <hoge> <style> <CDATA> <!-- himajin.dtdではタグとして有効であってほしい --> </CDATA> </style> </hoge> <!DOCTYPE hoge SYSTEM "./himajin2.dtd"> <hoge> <!-- himajin2.dtdのstyleはCDATAなので<a>はタグとして解釈されない --> <style> <a> </style> </hoge> どうやって書き分けたらいいんだろう? #PCDATAは#がついているから問題ないと思うけど。

関連するQ&A