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> |