|
タグと要素(エレメント)の違いを説明してください |
タグと要素(エレメント)は、正確には違うものなのでしょうか。意味の違いがよく分かりません。説明してください。 |
回答/富士ソフトABC株式会社 技術調査室
2001/6/28
タグと要素(エレメント)は、異なるものを指しています。W3Cの勧告「Extensible Markup Language (XML) 1.0
(Second Edition)」によると、それぞれは以下のように定義されています。
document ::= prolog element Misc*
element ::= EmptyElemTag | STag content ETag
STag ::= '<' Name (S Attribute)* S? '>'
ETag ::= '</' Name S? '>'
EmptyElemTag ::= '<' Name (S Attribute)* S? '/>'
content ::=
CharData? ((element | Reference | CDSect
| PI | Comment)
CharData?)* |
|
図1 上記のW3Cの定義を図にしたもの |
これでは分かりにくいでしょうから、一般的な言葉で説明してみましょう。
- 「要素」とは、マークアップしたい対象の文字列(要素の内容)を、「タグ」で囲んだ情報の単位を示す。
- 「タグ」とは、要素の境界を明示的に示したもので、「要素」の開始を「開始タグ」、「要素」の終わりを「終了タグ」と呼ぶ。
- 「開始タグ」は“<要素型>”、「終了タグ」は“</要素型>”と記述する。また「終了タグ」は、対応する「開始タグ」と同じ「要素型の名前」を持たなければならない。
- 要素の内容がない場合は、特に「空要素タグ」で示すことができる。
|
図2 要素とタグの関係 |
下記の例では、この行そのものが要素となります。「<name>」が開始タグ、「</name>」が終了タグになります。「山田太郎」は、この要素の内容を示します。
次のように要素の内容がない場合には、開始タグの直後に終了タグを記述します。
あるいは、空要素タグとして、次のように記述します。
注:この記事の内容は、2001/6/28に、より分かりやすく厳密なものに書き換えられました。