XML Schema 1.0

XML Schema

[3] XML Schema (エックスエムエルスキーマ) は、 XML文書が満たすべき制約 (スキーマ) を記述する言語 (スキーマ言語) でした。

[40] DTD にかわる XML におけるスキーマ言語大本命として90年代末から開発が続けられ、 00年代はじめに XML Schema 1.0、半ばに XML Schema 1.1W3C勧告となりました。

[56] XML マーク付け言語を規定する方法として W3CXML 関連仕様や IETF の仕様などで採用されました。

[57] 色々な 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 のどちらでもよいとしています。

XML の版と XML Schema

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

[58] 非常に紛らわしいですが、 XML 本体と XML名前空間は 1.0/1.1 の版が同期していて、 XML Schema の 1.0/1.1 とは同期していません。 XML 1.0 - XML名前空間 1.0 - XML Schema 1.1 はあり得ますが、 XML 1.1 - XML名前空間 1.0 - XML Schema 1.1 はあり得ません。

[59] XMLの名前の定義などで、 XML の版が XML Schema の規定にも影響してきます。

スキーマ言語としての 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 が提案されていました。

[54] X.694

関連

[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 全体の衰退により、どちらが勝者となることもなく、このままフェードアウトしていくものと思われます。

歴史

[60] SGML の時代はほぼ唯一のスキーマ言語 SGML DTDSGML というマーク付け言語自体に組み込まれていました。 スキーマ構文解析に作用することや、 スキーマの記述と文書本体の記述の構文が違うことなど、 (SGML の設計思想からすれば妥当であったとしても) XML の開発者達には不満が多くありました。 SGML DTD を簡易化した XML 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

[55] KS X 6042:2014

XML Schemaデータ型 (1.0)