http://www.wapforum.org/DTD/xhtml-mobile10.dtd
このファイルの中に
<!ENTITY % sub.element "IGNORE">
<!ENTITY % sub.attlist "IGNORE">
<!ENTITY % sup.element "IGNORE">
<!ENTITY % sup.attlist "IGNORE">
<!ENTITY % tt.element "IGNORE">
<!ENTITY % tt.attlist "IGNORE">
<!ENTITY % xhtml-inlpres.mod PUBLIC "-//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN"
"http://www.w3.org/TR/xhtml-modularization/DTD/xh …
%xhtml-inlpres.mod;
の部分があります。
http://www.w3.org/TR/xhtml-modularization/DTD/xh …
では、
<!ENTITY % sup.element "INCLUDE" >
<![%sup.element;[
<!ENTITY % sup.content
"( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % sup.qname "sup" >
<!ELEMENT %sup.qname; %sup.content; >
<!ENTITY % sup.attlist "INCLUDE" >
<![%sup.attlist;[
<!ATTLIST %sup.qname;
%Common.attrib;
>
などと書かれています。
このDTDを使ってホームページを作ったときにsupの子供要素に文字又は%Inline.mixに含まれる要素が0回以上出現でき、supの属性には、%Common.attribに含まれる属性が使えると解釈するのが正しいのでしょうか?
No.1ベストアンサー
- 回答日時:
【sup 要素が使えるとすれば】,おおむね質問者様の理解で正しいかと思います。
「%...;」はパラメータ実体参照(PE)といって,「&...;」に似て(まったく同じではありません)名前を別の文字列などに置き換えます。
問題は,
- なぜこのようなまだるこしい定義をしているのか
- 同じ名前に 2 つ以上の定義があったらどうするのか
でしょう。
前者は,たとえば,
<!ELEMENT sup (#PCDATA | %Inline.mix;)* >
と書けばいいのに,ということです。
これは,複数回の定義で上書きを容易にするためです。どこかで %sup.qname などの定義を書き換えれば,sup 要素相当の要素の種類名が変更されます。おそらく関係する DTD で,これを書き換えている箇所があると思われます。
また,この記法は XHTML を始めとする XML で多用されます。モジュール化を円滑にする手段でもあります。XML の運用において,通常の DTD の記法を超えてしまう部分を,PE を使って巧妙に実現しています。
後者は,これは,「より先に出てきた定義を優先する」というものです。
たとえば,お掲げの DTD 部分では,「%sup.element」が「IGNORE」「INCLUDE」2 回定義されています。ここで,先に出てきたほう,「IGNORE」が有効になります。すると,sup 要素の定義部分は IGNORE のセクションになるので,お掲げの DTD の範囲では,【sup 要素は使用できない】ことになります。
この DTD は,前述のように,モジュール化や XML としての運用のため,複雑な記法になっています。たとえば HTML 4 の DTD
http://www.w3.org/TR/html4/strict.dtd
は素直に書かれていますので,基本的な事項をこちらで確認なさるとよろしいかと思います。
初歩的な質問にご回答して頂き、ありがとうございます。
>より先に出てきた定義を優先する
パラメータ実体定義と呼ばれるものは、JavaScriptなどの変数に値を代入する感覚とは違うんですね。
これですっきりしました。
HTMLのDTDは読みやすかったのですが、XHTMLは解らない部分が多くて苦戦しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- 数学 ガチ急ぎです!【大学数学】【解析】 有界な数列{a_n}について、k>0として ①lim sup k 1 2022/11/25 07:45
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- 英語 Aim: Sup-epithelial connective tissue graft (SCTG) 1 2022/09/19 19:56
- 数学 集合列と上限 4 2023/04/24 00:23
- 数学 解析学 質問です。 lim a_n=α(n→∞)のとき有界な数列{b_n}について lim (a_n 2 2022/11/25 07:47
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- YouTube 女子の○○系Youtuber 1 2022/08/22 21:55
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
超音波で洗脳。
-
【ヒトの神秘】美男美女から何...
-
質問1.
-
input type="hidden"で取得した...
-
【C++】Vector、listの要素比較...
-
2個のFormを横並びにしたい
-
smallにtext-allignが効かない
-
textareaの幅を画面と合わせたい
-
<object>
-
親要素・子要素
-
CSSのa:hoverが急に一部だけ効...
-
含む含まないという概念自体の...
-
NからZへの全単射を具体的に構...
-
角丸画像の背景色を透明にした...
-
imgタグをそのまま使うことは正...
-
border: noneでボタンの境界線...
-
HTMLです
-
ホームページビルダー16の属...
-
その要素がjQueryでremove()済...
-
CSSのセレクタに指定するbodyと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ヒトの神秘】美男美女から何...
-
smallにtext-allignが効かない
-
含む含まないという概念自体の...
-
還暦を過ぎた方々に質問です。
-
「諸要素」とはどういう意味で...
-
質問1.
-
textareaの幅を画面と合わせたい
-
角丸画像の背景色を透明にした...
-
2個のFormを横並びにしたい
-
テキストボックスの中にリンク...
-
HTMLです 四角みたいにして中に...
-
CSS:overflow要素の印刷について
-
input type="hidden"で取得した...
-
tdに対してmin-heightの定義、...
-
HTMLページ上でiframeを最前面...
-
タグは大文字と小文字どちらが...
-
HTMLです
-
2行にしたい要素、改行か分割...
-
改行ほどは行かないけど、若干...
-
H1タグを画像にしたい
おすすめ情報