TimePositionUnion

GMLの日時形式

[18] GMLISO 19108 モデルを XML Schema符号化する方法を規定しています。

[19] ISO 8601:2004 に基づく ISO 19108 モデルを採用しつつ、 ISO 8601のプロファイルでありながら独自定義を有し微妙に ISO 8601 と異なる XML Schemaの日時形式を使って記述されており、 理論上の両者の整合性には疑問が残ります。 (実際上そこまで厳密に扱われることは無いとは思われます。)

仕様書

gml:CalDate

[27] TM_CalDate に相当しそうな XML Schemaデータ型 gml:CalDateISO 8601のプロファイルであり、 xs:date, xs:gYearMonth, xs:gYear和集合となっています。 >>1 6.3

gml:TimePositionUnion

[3] TM_Position に相当しそうな XML Schemaデータ型 gml:TimePositionUniongml:CalDate, xs:time, xs:dateTime, xs:anyURI, xs:decimal和集合となっています。 >>1 6.3

gmlxbt:TimePositionUnion

[4] また別の XML Schemaデータ型 gmlxbt:TimePositionUniongml:CalDate, gmlxbt:OrdDate, gmlxbt:WeekDate, xs:time, xs:dateTime, xs:anyURI, xs:decimal和集合となっています。 >>1 6.3

[5] gmlxbt:OrdDateISO 8601:2004Ordinal Date です。 構文は正規表現 -?[0-9]{4}-[0-9]{3} です。 >>1 6.3

[6] gmlxbt:WeekDateISO 8601:2004Week Date です。 構文は正規表現 -?[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])(-[1-7])? です。 >>1 6.3

[7] この2つのデータ型の最初のの部分は、 4桁以上で、4桁を越える場合先導0は禁止、 0000 も禁止、 とされています。 >>1 6.3 この規定は示されている正規表現と矛盾する上、 現在の ISO 8601 とも整合しません。 0年を使わないとしていることから、 XML Schema 1.0XML Schema暦に倣ったのでしょうか。

その他

[2] ISO 19108 の各項を参照。