技術コラム
XML Schema(スキーマ)について
XML Schemaとは、XML文書の構造を定義する仕様です。2001年5月2日にW3Cより勧告(Recommendation)として公開されました。
「スキーマ」とは、データベースなどで内部に持つデータの構成を意味します。XMLでも、要素の入れ子などの文書構造を「スキーマ」として定義し、その構造を「スキーマ言語」で表記します。
スキーマの必要性は、たとえば企業間の電子取引を考えてみれば、すぐにわかります。ある企業で納期日を<日付>タグで表しても、他の企業では<Date>で表すかもしれません。また、日本では日付を「2001/05/02」と書き表しますが、海外では「02/05/2001」と書くかもしれません。こういった問題を解決するのが「スキーマ」による文書構造の統一です。
1998年に勧告になったXML 1.0においても、単純なスキーマ言語として、DTD(Document Type Definition)が規定されていました。2001年に勧告されたXML
Schemaには、DTDにない以下のような特徴があります。
- データ型の導入
文字列しか扱えなかったDTDに対して、数値や日付といったデータ型が導入されました。企業間の伝票のXMLによる電子化が、容易になります。 - より高度な構造のサポート
同じタグ名でも、異なる文脈では違う用途に使うなど、高度な構造記述が可能になりました。 - 名前空間のサポート
DTDでは、名前空間の利用は事実上不可能でした。名前空間のサポートにより、さまざまな種類のXML文書を、統合的に利用できるようになります。 - XMLによる記述
DTDは、タグを使った書式ではありませんでしたが、XML Schemaでは、XML文書と同じ記述方法を使うことができます。
