XML Schema 【XSD】 XML Schema Definition Language
概要
XML Schema(XSD)とは、XML文書の構造を定義するスキーマ言語の一つで、Web技術の標準化を進めるW3C(World Wide Web Consortium)が勧告したもの。XML自体を用いてスキーマを記述する。XML(Extensible Markup Language)はSGMLなどと同じ「マークアップ言語を作ることができるマークアップ言語」(メタ言語)であり、要素名や属性名、属性値などの体系を作成することにより、具体的な対象や目的のための独自のマークアップ言語やファイル形式を作成することができる。
元になるマークアップ言語の記法や文法を用いて応用言語を定義する枠組みを「スキーマ」(schema)と呼び、スキーマ言語を用いて定義される。例えば、SGMLを用いてHTMLを定義したときには、スキーマ言語としてDTD(Document Type Definition)が使われた。
XML SchemaはXMLのためのスキーマ言語として開発されたもので、主にDTDの欠点の克服を企図した仕様となっている。XML Schema自身がXML文法に従って記述される(DTDはSGMLとは全く異なる記法を用いる)ため、新たに構文規則を習得する必要がなく、XMLの解釈や処理のためのプログラムを使い回すことができる。
また、DTDにはない属性値のデータ型の指定が可能になったほか、名前空間(ネームスペース)に対応し、複数の異なるマークアップ言語を同じ文書内で共存させ、要素ごとに言語を切り替えて用いることができる。
XML Schemaの仕様は米マイクロソフト(Microsoft)社の「XML Data」や、米コマースワン(Commerce One/当時)社の「SOX」(Schema for Object-Oriented XML)などの提案が元になっており、2001年にW3Cが最初の標準を勧告した。
2012年のバージョン1.1からはXML向けスキーマ言語の総称との紛らわしさを解消するため「XML Schema Definition Language」(略称XSD)と呼ばれるようになった。XML向けのスキーマ言語には他にもDTDやRELAX NGなどの有力な選択肢がある。