- PR -

平成16年 春 基本情報技術者 午前 問47

1
投稿者投稿内容
hiro-kim
会議室デビュー日: 2004/04/30
投稿数: 3
投稿日時: 2004-04-30 12:34
XMLについて,基本的なことを教えていただけないでしょうか。

------------------------------------------------------------------------
平成16年度 春期 基本情報技術者 午前 問題

問47 XML文書を構成する最小単位である要素の定義方法に関する記述のうち,
   適切なものはどれか。

ア 開始タグと終了タグが対になって構成され,どちらのタグも省略できない。
イ データを開始タグと終了タグで囲んで構成するが,データがないこともある。
ウ 一つのXML文書には,階層構造を表すために複数のルート要素を定義できる。
エ 要素の種別を表すために注釈情報を付加して,これを要素名として識別する。
------------------------------------------------------------------------

情報処理技術者試験センターから公表された解答例では「イ」が正解とのこと。
http://www.jitec.jp/1_05goukaku/goukaku_kydo.html

しかし,Googleして見つけた次のWebページを参考にすると,
http://www.asahi-net.or.jp/~ps8a-okzk/xml/xml_1/tag_rule_1.html

・データがないときは空要素タグ。この形式は,終了タグの省略とは別物
・開始タグと終了タグが対になって構成される,という原則はそのとおり

というように理解でき,「ア」の方が正解としてふさわしいようにも思えます。

開始タグ または 終了タグが省略された書式が実際に存在するため,
アは不適切なのでしょうか。どなたかご意見をお聞かせ願えませんか。
hiro-kim
会議室デビュー日: 2004/04/30
投稿数: 3
投稿日時: 2004-04-30 12:59
スレッドを立てた直後に気づいたのですけれど,もしかして,
もともと要素内容が存在しない・指定できない場合のタグが <tag /> で,
要素内容を指定できるけれど今回は空文字列だというのが <tag></tag>
ということなのでしょうか?
tricolo
会議室デビュー日: 2004/04/11
投稿数: 4
投稿日時: 2004-04-30 13:21
おっしゃる通りかと。

>ア 開始タグと終了タグが対になって構成され,どちらのタグも省略できない。
<br /> のように、終了タグが同一の物(対ではない)が存在できるので間違い。

>イ データを開始タグと終了タグで囲んで構成するが,データがないこともある。
開始タグと終了タグで囲んで構成というのは正しい。<data>ほげほげ</data>
要素が存在し、データが無い場合はあり得る。<br />

最近の2種にはこんなのが出てくるんですねぇ。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-04-30 13:50
全くの余談ですが、この手の選択式問題は、大学入試の受験勉強で培ったテクニックが未だに有効ですね
#10年以上前だ・・・

曰く、「正解を探すのではなく、間違いを探せ」

4つから正しいものを1つ探す場合は、直接その1つを探すのではなく、間違ってる3つを探して、残った1つが正解ということです。

こう考えると、ア.は「どちらのタグも省略できない」が明らかに間違いですが、イ.は明らかな間違いと言える部分がないので、正解はイ.でしょうね。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-04-30 16:19
引用:

Clusterさんの書き込み (2004-04-30 13:50) より:
こう考えると、ア.は「どちらのタグも省略できない」が明らかに間違いですが、イ.は明らかな間違いと言える部分がないので、正解はイ.でしょうね。


<タグ名 />という形式は「終了タグが省略された」といえるのでしょうか。
#終了タグを「省略できない」のがXMLの特徴の一つだと思うのですが
間違いを探すのであれば、「対になって」だと思うのですが、どちらにしてもわかりにくい
ですね。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-04-30 17:31
引用:

ukさんの書き込み (2004-04-30 16:19) より:

<タグ名 />という形式は「終了タグが省略された」といえるのでしょうか。
#終了タグを「省略できない」のがXMLの特徴の一つだと思うのですが
間違いを探すのであれば、「対になって」だと思うのですが、どちらにしてもわかりにくい
ですね。



なるほど、おっしゃる通りですね
<タグ名 />という形式を「終了タグが省略された」と呼ぶかは曖昧な気がしますが、
「対になって」は明らかにおかしいですね。
(<タグ名 />は、どう考えても「対になったタグ」ではない)
hiro-kim
会議室デビュー日: 2004/04/30
投稿数: 3
投稿日時: 2004-04-30 18:35
引用:

hiro-kimさんの書き込み (2004-04-30 12:59) より:
もともと要素内容が存在しない・指定できない場合のタグが <tag /> で,
要素内容を指定できるけれど今回は空文字列だというのが <tag></tag>


書店で XMLの入門書を拾い読みしてきたところ,

  <tag></tag> の省略形が <tag />

だと書いてありました。どちらも同じ意味だということですね。

ということは,上に引用した,私の思いこみはまだ間違っていて,
<!ELEMENT name EMPTY> のDTD形式になっているHTML要素:

  <br /> と <br></br>
  <hr /> と <hr></hr>
  <img src="foo.jpg" /> と <img src="foo.jpg"></img>

左と右はどちらも同じ意味,どちらも正しい書式ということになります。

私のこの理解で正しいでしょうか,どなたかコメントをいただけませんか。
1

スキルアップ/キャリアアップ(JOB@IT)