技術コラム

技術コラム

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にない以下のような特徴があります。

  1. データ型の導入
  2. 文字列しか扱えなかったDTDに対して、数値や日付といったデータ型が導入されました。企業間の伝票のXMLによる電子化が、容易になります。
  1. より高度な構造のサポート
  2. 同じタグ名でも、異なる文脈では違う用途に使うなど、高度な構造記述が可能になりました。
  1. 名前空間のサポート
  2. DTDでは、名前空間の利用は事実上不可能でした。名前空間のサポートにより、さまざまな種類のXML文書を、統合的に利用できるようになります。
  1. XMLによる記述
  2. DTDは、タグを使った書式ではありませんでしたが、XML Schemaでは、XML文書と同じ記述方法を使うことができます。