タイトル
TOP → This Page

XML > XML Schema > 概要

XML Schema とは


XML 文章のスキーマ設計を行うためのスキーマ言語の1つで W3C によって勧告された。

同様のものとして DTD があるが、DTD には以下のような欠点がある。
・XML とは異なる文法
・データ型の表現が少ない
・継承がない
・名前空間の仕様との整合性がとれていない

そこで DTD の欠点を解決し、なおかつ機能追加がされた XML Schema が考案された。
ただし、DTD よりも仕様が複雑になってしまっている。


XML Schema のバージョン


勧告日 勧告内容 リンク 別窓
2001/05/02 XML Schema Part 0:Primer http://www.w3.org/TR/2001/REC-xmlschema-0-20010502 OPEN
2004/10/28 XML Schema Part 0:Primer Second Edition http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/ OPEN
2004/05/02 XML Schema Part 1:Structures http://www.w3.org/TR/2001/REC-xmlschema-1-20010502 OPEN
2004/10/28 XML Schema Part 1:Structures Second Edition http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/ OPEN
2004/05/02 XML Schema Part 2:Datatypes http://www.w3.org/TR/2001/REC-xmlschema-2-20010502 OPEN
2004/10/28 XML Schema Part 2:Datatypes Second Edition http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/ OPEN


DTD との違い


・XML 形式で記述可能
・データ型や制約を定義することが可能
・名前空間を利用可能
・定義済みのものを拡張可能
・実体や記法の定義が不可能

XML Schema の構造


以下のような形で構成される。

構成部分 内容
XML 宣言 XML 文書のXML 宣言と同等(ただし省略不可)
スキーマ宣言 XML 文書としてのルート要素(省略不能)
定義内容 各要素、属性の定義内容

XML 宣言 <?xml version="1.0" encoding="Shift_JIS" ?>
スキーマ宣言 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.aaa.bbb/ccc"
            xmlns="http://www.xxx.yyy/zzz"
            elementFormDefault="qualified">
定義内容 <xsd:element name="社員">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="氏名">
      <xsd:element name="年齢">
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
<xsd:element name="氏名" type="xsd:string"/>
</xsd:schema>


TOP → This Page