プロが教えるわが家の防犯対策術!

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を作ることにしました。
・・・・どうしたらいいのでしょう?

#マーク区間使えよ、って話はおいておきます

A 回答 (2件)

質問改訂版が何を意図しているのかよくわかりませんし、cdata要素を追加して何をしたいのかもよくわかりませんが。



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

http://www.kanzaki.com/docs/html/read-dtd.html

ええと「|」か「&」?

この回答への補足

あ、良く考えたら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は#がついているから問題ないと思うけど。

補足日時:2007/06/25 14:23
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!