DTDとは?でぃーてぃーでぃー
DTD(Document Type Definition:文書型定義)は、XMLやSGML(XMLの元になったマーク付け言語)の文書について、使ってよい要素(タグで囲んだ部分)と属性、要素を書く順序や回数を定めた決まり。例えば「<!ELEMENT 学生 (学籍番号, 氏名, 学部?)>」は、要素「学生」の中に学籍番号と氏名をこの順で1回ずつ、学部を0回か1回書くことを表す(? は0回か1回、* は0回以上、+ は1回以上)。文書の先頭の <!DOCTYPE …> で、使うDTDを指定するか、DTDをそこに直接書き込む。DTDに合っている文書を「妥当な(valid)」文書という。DTDはSGMLから引き継いだ独自の書き方で書き、値のデータ型(整数・日付など)はほとんど決められないため、XMLではその点を補うXMLスキーマ(XML Schema)も使われる。
最終更新:2026-10-10
この語が出る過去問を解く →背景
SGMLは、マニュアルや公文書のような大量の文書を、見た目ではなく「章・節・段落」といった構造で書き表すために作られた。構造で書くなら、どんな構造が許されるかを先に決めておかないと、書き手ごとにばらばらになる。その決まりを書く仕組みがDTDで、SGMLを簡単にして作られたXMLにも引き継がれた。
具体例
HTML 4.01で書かれたWebページの先頭には「<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" …>」と書かれ、W3C(Webの標準を決める団体)が公開するHTML 4.01のDTDに従っていることを示していた。HTML5では先頭が「<!DOCTYPE html>」だけになり、DTDを参照しなくなった。研究室の論文リストをXMLで管理するなら、「<!ELEMENT 論文 (題名, 著者+, 発表年)>」と書いておけば、著者が1人もいない論文や、題名より前に発表年を書いた論文は、DTDに合わない文書として検査で見つかる。
試験での引っ掛け
DTDに書くのは文書の構造(使える要素・属性と、その順序・回数)であり、文字の大きさや色などの表示形式でも、データの中身そのものでもない。文字コード(UTF-8など)の指定も、DTDではなく文書の先頭のXML宣言「<?xml version="1.0" encoding="UTF-8"?>」で行う。また、DTDはXMLの書き方で書かれていない。XMLの書き方で書き、データ型も指定できるのはXML Schemaである。
関連用語
出た過去問
出典:平成30年度 春期 基本情報技術者試験 午前 問8(IPA)
XML文書のDTDに記述するものはどれか。
正解:文書型の定義
要点:DTDはXMLの文書型(要素・属性の構造)を定義するもの
DTD(Document Type Definition)は、XML文書がどんな要素・属性をどんな順序や個数で持てるかという文書構造の決まりを定義するものである。実際の値であるデータ本体はXML文書の側に書かれ、文字コードやXMLのバージョンはXML宣言に書かれる。つまりDTDが担うのは文書型の定義であり、妥当性検証の基準になる。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。