gmlxbt:OrdDate

GMLの日時形式

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

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

仕様書

gml:CalDate

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

gml:TimePositionUnion

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

gmlxbt:TimePositionUnion

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

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

[6] gmlxbt:WeekDate は ISO 8601:2004 の Week 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.0 の XML Schema暦に倣ったのでしょうか。

その他

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