W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes

データ型 (XML Schema)

[32] XML Schema では、文字列に対する制約とそれによって表される値、 それに対する演算などにより構成されるものをデータ型 (datatype) と呼んでいます。

仕様書

[31] XML Schema には1.0と1.1があり、それぞれの仕様書にもいくつかの版があります。 詳しくは XML Schema の項を参照してください。

データ型 (XML Schema)

[1] XMLSchema では、データ型 (datatype) は次の3つから構成されます:

値空間 (value space)
互いに異なる値の集合
字句空間 (lexical space)
字句表現の集合
面相 (facet)
値空間, 個々の値又は字句項目を特徴付ける特性

[21] XML Schema 仕様書はいくつか組み込みのデータ型を定義しています。 (XML Schema組み込み型を参照。) その他に XML Schema を使って独自のデータ型を定義することができます。

文脈

[19] XML Schemaデータ型は、 XML Schema に限らず色々な技術で採用されています。

[34] XML Schemaデータ型の採用例
[22] このように W3C が力を入れている仕様では採用されているようですが、 それ以外の世界ではなかなか採用されないようです。 Webブラウザーで実装されている技術にも採用されていません。

データ型 (RDF)

[13] データ型 (datatype) は、字句空間値空間字句から値への写像によって構成され、1つ以上の IRI によって表されます >>12

[14] この定義は XML Schema と互換性があり >>12、多くの XML Schema データ型RDF でも採用しています。しかし、 XML Schema によって定義されているものでなくても、 この定義に従っていれば、用いることができます >>12

[9] RDFリテラルは、字句形データ型IRI言語タグで構成されます >>8

[10] 詳しくは RDFリテラルの項を参照。

[11] データ型IRI (datatype IRI) は、字句形の解釈を決める IRI です。 言語タグ付き文字列以外では、これがデータ型を表す IRI のいずれかです。

[20] 言語タグ付き文字列データ型IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#langString によって表されますが、これは >>13 の定義に沿っておらず、データ型ではない >>12 とされています。 (字句空間中に言語タグが含まれていません。)

[24] ある IRIデータ型を参照するのに使うものであるとき、 これを認識されるデータ型IRI (recognized datatype IRI) といいます。 >>23

[27] >>24 の定義だけ読むとそのような固定された IRI の集合がありそうですが、 以降のような規定から推測すると実装依存の集合のようです。

[25] 認識されるデータ型IRIreferent は固定されています。 http://www.w3.org/2001/XMLSchema# から始まる IRI が認識される場合には、RDF互換XSD型を指すものでなければなりません>>23

[26] RDF処理器データ型IRIを認識しなければならないわけではありません。 認識できないデータ型IRIは、未知の IRI として扱います。 IRIreferent が決定できないときには警告を出しても構いませんが、 構文的あるいは意味的な誤りとして拒絶するべきではありません>>23

[28] ということは xs:string も認識しなくても良いということでしょうか。 (それがどのような実装なのかはわかりませんが・・・。)

[29] データ型に対する著者の適合性は、少なくても RDF 1.1RDF/XML は言及していません。字句形データ型の定義に沿っていないことを ill-typed と呼んでおり、リテラル値は存在しません。その場合でも実装はRDF三項組を生成しなければならないとされていますが、 著者がそのような三項組を生成することが認められているともいないとも言及されていません。

[30] ということは適合性には影響しないのでしょうか。

演算

[35] XML Schema 自体は構文の制約と構文と値の対応関係しか規定していませんが、 XDM一族によりデータ型に属する値同士の演算が規定されています。

[37] R2RMLSQLデータ型の値から RDFXML Schemaデータ型の値への変換方法を定めています >>36

歴史

[15] XHTML2 第6次案で RDFa の一部として大域属性 datatype が追加されました。

[6] XHTML+RDFa 1.1 - Second Edition ( ( 版)) <http://www.w3.org/TR/2013/REC-xhtml-rdfa-20130822/#A_datatype>

[7] HTML+RDFa 1.1 ( ( 版)) <http://www.w3.org/TR/2013/REC-html-rdfa-20130822/#extensions-to-the-html5-syntax>

[2] RDFa Core 1.1 - Second Edition ( ( 版)) <http://www.w3.org/TR/rdfa-core/#A-datatype>

[3] RDFa Core 1.1 - Second Edition ( ( 版)) <http://www.w3.org/TR/rdfa-core/#h4_use-of-curies-in-specific-attributes>

[4] RDF Schema 1.1 ( ( 版)) <https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-schema/index.html#h3_ch_datatype>

[5] RDF 1.1 Concepts and Abstract Syntax ( 版) <https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#dfn-datatype-iri>

[17] OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema ( 版) <http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a19_907xhtml_datatype>

[18] Generating JSON from Tabular Data on the Web ( 版) <http://www.w3.org/TR/2015/REC-csv2json-20151217/#h-datatypes>

Cell values are expressed in the JSON output according to the cell value's datatype. The relationship between the base annotation value of the cell value's datatype and the primitive types supported by JSON (as specified in [RFC7159]) is provided below: