XML Schema

XML Schema

[3] XML Schema は、XML文書が満たすべき制約 (スキーマ) を記述するための言語です。

[40] DTD にかわる XML におけるスキーマ言語大本命として90年代末から開発が続けられ、 00年代はじめに XML Schema 1.0、半ばに XML Schema 1.1W3C勧告となっています。 XML マーク付け言語の規定の方法として W3CXML 関連仕様や IETF の仕様などで採用されています。 色々な XML 製品で実装されていますが、 XML の衰退によりあまり見かけなくなってきました。

XML Schema の版

[7] XML Schema には、 1.0 と 1.1 の2つの版があります。

[8] 1.0 は第1版と第2版の2回 W3C勧告になっています。それぞれ、入門編の第0部、 スキーマ言語の第1部、データ型の第2部に分かれています。

[9] 1.1 は第1版が W3C勧告になっています。第2版が XML Core Working Group で準備中のようで、 それをその後 ISO に送付することになっているようですが、作業の進捗は芳しくないようです。

[26] スキーマ言語の第1部、データ型の第2部に分かれています。第0部は発行されていないようです。

[11] 素片識別子/XPointer に関する仕様 (>>10) は、2010年に CR になっており (>>12)、 XML Schema Working Group 終了後は XML Core Working Group に移されたようですが、 現状放置されているようです。

[28] XML Schema の開発は W3C XML Schema Working Group (議事非公開) が担当してきましたが、 開発完了により >>29 終了しました。 XML Schema 1.1XPointer 仕様 (>>10) は XML Core Working Group に引き継がれたようです >>27XML Schema 1.0 については明記されていません。

[48] 開発未完了のまま WG を閉鎖するということは、事実上の開発中止です。 XML Core Working Group に引き継がれたとはいえ、その後何の開発も継続されていません。 しかもその XML Core WG も閉鎖されてしまいました。

[36] XML Schema の版は、しばしば相互運用性の問題になります。

[37] RDFXML Schema の版を 1.0 と 1.1 のどちらでもよいとしています。

[38] なお、直交する問題として、 XML 1.0XML 1.1 のいずれを採用するか、 XML 1.0 4e 以前と XML 1.0 5e 以後のどちらを採用するかの問題もあります。

スキーマ言語としての XML Schema

XXX

XML Schema データ型

[30] XML Schemaデータ型を参照してください。

応用

[31] WSDL など WS-* 界は、 XML Schema に強く依存しています。

[32] IETFXML 関連仕様のほとんどは、スキーマ言語として XML Schema を採用しています。

[33] MicrosoftIBMXML Schema をよく用いているようです。

[34] Web では、旧 HTML WG が一時仕様書に XML Schema 含めていたことがあったくらいで、 XML Schema はほとんど用いられていません。

[46] XML Schemaデータ型の応用の項も参照。

[50] API として、 DOM ASXML Schema API が提案されていました。

関連

[4] よく対比される他の XMLスキーマ言語としては XML DTDRELAX NG があります。

[41] XML Schema の開発においては現在の RELAX NG の開発者らとスキーマ言語への要求に関して激しい議論になりました。 結局両陣営の溝は埋まらず XML SchemaRELAX NG の2つの大きく異なるスキーマ言語W3CISO/IEC で標準化されることになりました。

[42] この論争で RELAX NG 側は「ボヘミアンと貴族の階級闘争」 であるとして XML Schema 側を非難しています。

[43] スキーマに関しては対立する RELAX NGデータ型に関しては XML Schema のものを採用しています。

[44] XML 関連業界ではどちらもそれなりに支持者がおり、完全に切り捨てることはできなかったようです。 DSDL (や xml-model) のような形で両者を共存させる方法も模索されています。 いくつかの W3CXML 関連仕様は XML SchemaRELAX NG の両方 (場合によっては更に DTD) を提供しています。

[45] しかし Webブラウザーにはどちらも (そして DTD による妥当性検証すらも) 実装されないなど、 XML 関連業界以外ではそれほど関心を持たれていませんでした。 XML 全体の衰退により、どちらが勝者となることもなく、このままフェードアウトしていくものと思われます。

メモ

[1] Document Content Description for XML <http://www.w3.org/TR/NOTE-dcd>: XML Schema の源流なのかな?

[2] XML Schema Versioning Use Cases <http://www.w3.org/XML/2005/xsd-versioning-use-cases/>

[6] XQuery and XPath Data Model 3.0 ( ( 版)) <http://www.w3.org/TR/xpath-datamodel-3/#xml-and-xsd-versions>

[35] Processing XML 1.1 documents with XML Schema 1.0 processors <http://www.w3.org/TR/2005/NOTE-xml11schema10-20050511/> (名無しさん 2005-05-11 23:19:58 +00:00)

[39] Visual Studio .NET のスキーマ注釈 ( ( 版)) <http://msdn.microsoft.com/ja-jp/library/aa293094(v=vs.71).aspx>

[5] XML Core Working Group ( 版) <http://www.w3.org/XML/2015/05/xml-core-charter.html>

Take XML Schema 1.1 to ISO under the PAS mechanism; this may require publishing a second edition of XML Schema to include errata.

[47] Some New Year notes on XML Core WG issues (Paul Grosso 著, 版) <https://lists.w3.org/Archives/Public/public-xml-core-wg/2016Jan/0002.html>

I have left XML Schema 1.1, but if by the February 3 telcon

we have no more idea how to make progress on this, I plan to

delete this item from our running agenda.

[49] XQuery and XPath Data Model 3.1 () <https://www.w3.org/TR/2017/REC-xpath-datamodel-31-20170321/#xml-and-xsd-versions>

[51] XML Schema Part 2: Datatypes ( ()) <http://www.y-adagio.com/public/standards/tr_xml-schema2/toc.htm>

[52] XML Schema Part 1: Structures ( ()) <http://www.y-adagio.com/public/standards/tr_xml-schema1/toc.htm>

[53] XML Schema Part 0: Primer ( ()) <http://www.y-adagio.com/public/standards/tr_xml-schema0/toc.htm>