\r\n\r\n
DTDとXSDは、その複数の機能間でデータを転送するために使用されるXMLに関連しています。ほとんどのアプリケーションはデータ転送を必要とします。クライアントがサーバーからデータを取得する必要がある場合、データを取得するための効率的な方法が必要です。 このタスクにはXMLを使用することができます。Extensible Markup Languageの略。XMLを使用する最大の利点は、データの転送にあります。このほか、フレームワークの設定やアンドロイドアプリケーションのレイアウト設計にも利用できる。XMLで使われるマークアップは、あらかじめ定義されているものではない。プログラマーは用途に応じたタグを記述することができる。XMLでは、DTDはDocument Type Definition、XSDはXML Schema Definitionの略です。DTDは、マークアップ言語のSGMLファミリーのドキュメントタイプを定義するマークアップ宣言のセットです。XSDは、拡張可能なマークアップ言語のドキュメント内の要素がどのように正式に記述されているかを指定します。XSDは、構造と内容の両方を定義するために使用することができます。この記事では、DTDとXSDの違いについて説明します。
1. 概要と主な相違点 2. DTD とは 3. XSD とは 4. DTD と XSD の類似点 5. 横並び比較 - DTD と XSD の表形式 6. まとめ
DTDとは、Document Type Definitionの略で、文書型定義という意味です。DTDの主な目的は、XML文書の構造を定義することであり、XML言語を正確に記述するために使用される。一連の法的要素を含んでいます。また、バリデーションを行うためにも使用される。DTDには2つのタイプがある。内部か外部かです。DTD要素がXMLファイル内で宣言されているものを内部DTDと呼び、他のファイル内で宣言されているものを外部DTDと呼びます。
図01:内部DTD
以上により、XMLファイル内で要素が宣言されている。Studentの定義は、ID、Name、Emailの3つの要素で構成されています。ID、Name、Emailはそれぞれ個別に定義されています。これらはすべて解析可能なデータ型である。DTDは2行目から7行目の間に存在する。あとは、XMLです。
図02:外部DTDファイルの追加
DTDファイルをstudent.dtdとして別途保存する場合は、以下のようにXMLファイルに追加する。
<!DOCTYPE student system "student.dtd">.
XSDは、XML Schema Definitionの略です。XMLファイルの構造および内容を定義するために使用されます。XSDはDTDに似ていますが、XMLの構造をより詳細に制御できるようにするもので、XMLファイルの制約を表現する方法です。XSDファイルには2つのタイプがあります。simpleTypeとcomplexTypeがあります。simpleTypeでは、テキストベースの要素を使用することができます。complexType は複数の属性と要素を保持することができる。他の子要素を含み、空白とすることも可能である。
図03:new1.xsdファイル
上記のXSDファイルによると、定義要素はStudentという名前です。定義要素Studentは複合型です。複合型を一連の要素になるように定義する。要素IDを文字列またはテキストタイプで定義します。また、nameとemailは文字列またはテキスト型である。
図04:Student.xmlファイル
上記はXMLファイルですが、xsi:schemaLocationの中にnew1.xsdファイルの場所が含まれている必要があります。
DTDとXSD | |
DTDは、マークアップ言語のSGMLファミリーの文書型を定義するマークアップ宣言のセットです。 | XSDは、Extensible Markup Language文書内の要素をどのように正式に記述するかを規定する。 |
代表者 | |
DTDとは、Document Type Definitionの略で、文書型定義という意味です。 | XSDは、XML Schema Definitionの略です。 |
XML構造の制御 | |
DTDは、XMLの構造をあまり制御できない。 | XSDは、XMLの構造をより詳細に制御することができます。 |
対応するデータ型 | |
DTDはデータ型をサポートしない。 | XSDはデータ型をサポートしています。 |
シンプル | |
DTDはXSDより難しい。 | XSDはDTDよりシンプルである。 |
XMLはデータ転送技術です。dtdとxsdはXMLに関連しています。XML文書は構造と内容の両方を含んでいます。dtdはマークアップ言語のSGMLファミリーの文書型を定義する一連のマークアップ宣言です。xsdは拡張マークアップ言語の文書内の要素がどのように正式に記述されるかを指定します。dtdとxsdの違いは、dtdは構造を定義するのに、xsdは構造および内容を定義する。