先に述べたように、現在XMLのスキーマの表現方法として存在しているものはひとつではありません。ここでは現在存在する3つの主な仕様‐DTD、XML Schema、Relaxを紹介してみます。
① DTD(Document Type Definition:文書型定義)
名称 |
説明 |
例 |
要素型宣言 |
XMLインスタンスで使用できる要素を定義する部分です。要素の名前、要素の階層構造(親子関係、兄弟関係)、要素の出現ルールなどを規定します。 |
<! ELEMENT para (#PCDATA) > |
属性リスト宣言 |
要素の不可情報としての属性を定義します。どの要素にどんな属性がつくか、属性名はなにか、属性値としてどんなものを指定できるか、属性の指定は必須か任意か、デフォルト値は何かといったことを規定します。 |
<! ATTLIST id ID #IMPLIED> |
エンティティ宣言 |
XMLインスタンス中やDTDで使用したいエンティティの定義。置き換えたい文字列や取り込みたい外部ファイルはなにか、それを参照するときに使用するエンティティ名はなにか、といった情報を規定します。 |
<! ENTITY chapA SYSTEM "http://www.utj.co.jp/chapA.xml"> |
記法宣言 |
外部のファイルとして参照するエンティティがXML以外の記法(BMPやTeXなど)を使用している場合、その記法を識別するための名前を指定。 |
<! NOTAION CGM PUBLIC "ISO 8632/4//NOTATION clear text encoding//EN …"> |