タグと要素(エレメント)の違いを説明してください
タグと要素(エレメント)は、正確には違うものなのでしょうか。意味の違いがよく分かりません。説明してください。

回答/富士ソフト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>」が終了タグになります。「山田太郎」は、この要素の内容を示します。

<name>山田太郎</name>

 次のように要素の内容がない場合には、開始タグの直後に終了タグを記述します。

<br></br>

 あるいは、空要素タグとして、次のように記述します。

<br/>

注:この記事の内容は、2001/6/28に、より分かりやすく厳密なものに書き換えられました。

「Ask XML Expert」


XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間