マナビング基本情報技術者

XMLのDTDに記述する内容はどう見分ける?

基本情報技術者試験 平成30年度春期 午前 問8 / アルゴリズムとプログラミング › その他の言語

過去問にチャレンジ

平成30年度春期 午前 問8

XML文書のDTDに記述するものはどれか。

  1. ア

    使用する文字コード

  2. イ

    データ

  3. ウ

    バージョン情報

  4. エ

    文書型の定義

会話形式の解説

講師講師
この問題では、DTDの役割と、XML宣言や文書の内容との違いに注目します。
受験者受験者
文字コードも文書に関わる決まりなので、DTDに書くのかと思いました。
講師講師
文字コードは、文書をどう読み取るかに関わる指定です。どこに記述するものでしたか。
受験者受験者
XML宣言です。バージョン情報も同じ場所ですか。
講師講師
はい。XMLのバージョン情報もXML宣言で指定します。どちらもDTDに記述するものではありません。
受験者受験者
では、データは文書の一部なので、DTDに含めるのでしょうか。
講師講師
データはXML文書の内容そのものです。DTDは内容を書く場所ではなく、文書の構造に関する規則を定めます。
受験者受験者
構造に関する規則とは、要素や属性についての決まりですか。
講師講師
そのとおりです。DTDは要素や属性の規則を定め、文書型を定義します。したがって、正解は文書型の定義です。
受験者受験者
文字コードとバージョンはXML宣言、データは文書内、文書型の定義はDTDと分けて考えればよいのですね。
講師講師
はい。読み取り方やバージョンの指定か、実際の内容か、構造の規則かを確かめると見分けられます。

まとめ

DTDは、XML文書の要素や属性に関する規則を定め、文書型を定義します。文字コードとXMLのバージョン情報はXML宣言で指定します。実際のデータはXML文書内に記述します。

解答・解説

正解はエです

この問題のテーマ

XML文書のDTDに何を記述するかを問う問題です。

解き方の考え方

DTDは、XML文書で使う要素や属性の規則を定めます。文書の構造を定義するものと、文字コードやバージョンを指定するもの、実際のデータを記述する場所を区別して判断します。

選択肢ごとの解説

  1. ×ア  使用する文字コード
    使用する文字コードは、XML文書の読み取り方に関する指定です。これはXML宣言に記述するため、DTDに記述するものには当たりません。
  2. ×イ  データ
    データはXML文書の内容そのものです。DTDはその内容を書く場所ではなく、文書の構造に関する規則を定めるものです。
  3. ×ウ  バージョン情報
    XMLのバージョン情報はXML宣言で指定します。文書型を定義するDTDの記述内容ではありません。
  4. ○エ  文書型の定義
    文書型の定義はDTDに記述します。要素や属性についての規則を定める、というDTDの役割に合っているため、エが正解です。

POINT

  • DTDは、XML文書の文書型を定義します。
  • 要素や属性の規則はDTDで定めます。
  • 文字コードとXMLのバージョンはXML宣言で指定します。
  • 実際のデータはXML文書内に記述します。

※出典:平成30年度春期 基本情報技術者試験 午前 問8