<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GML</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 19108</anchor> モデルを 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schema</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>する方法を規定しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601:2004</anchor> に基づく <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 19108</anchor> モデルを採用しつつ、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601のプロファイル</anchor>でありながら独自定義を有し微妙に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601</anchor>
と異なる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schemaの日時形式</anchor>を使って記述されており、
理論上の両者の整合性には疑問が残ります。
(実際上そこまで厳密に扱われることは無いとは思われます。)</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GML</anchor><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> (<time>2018-05-30 22:45:22 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://schemas.opengis.net/gml/3.2.1/temporal.xsd">http://schemas.opengis.net/gml/3.2.1/temporal.xsd</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> (<time>2018-05-30 22:45:22 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://schemas.opengis.net/gml/3.2.1/temporalReferenceSystems.xsd">http://schemas.opengis.net/gml/3.2.1/temporalReferenceSystems.xsd</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> (<time>2018-05-30 22:45:22 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://schemas.opengis.net/gml/3.2.1/temporalTopology.xsd">http://schemas.opengis.net/gml/3.2.1/temporalTopology.xsd</anchor-external></li></ul></li></ul></refs></section><section><h1><code>gml:CalDate</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <code>TM_CalDate</code> に相当しそうな <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schemaデータ型</anchor>
<dfn><code>gml:CalDate</code></dfn>
は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601のプロファイル</anchor>であり、
<code>xs:date</code>,
<code>xs:gYearMonth</code>,
<code>xs:gYear</code>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">和集合</anchor>となっています。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> 6.3</src></p></section><section><h1><code>gml:TimePositionUnion</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 
<code>TM_Position</code> に相当しそうな <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schemaデータ型</anchor>
<dfn><code>gml:TimePositionUnion</code></dfn>
は 
<code>gml:CalDate</code>,
<code>xs:time</code>,
<code>xs:dateTime</code>,
<code>xs:anyURI</code>,
<code>xs:decimal</code>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">和集合</anchor>となっています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> 6.3</src></p></section><section><h1><code>gmlxbt:TimePositionUnion</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> また別の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schemaデータ型</anchor>
<dfn><code>gmlxbt:TimePositionUnion</code></dfn>
は 
<code>gml:CalDate</code>,
<code>gmlxbt:OrdDate</code>,
<code>gmlxbt:WeekDate</code>,
<code>xs:time</code>,
<code>xs:dateTime</code>,
<code>xs:anyURI</code>,
<code>xs:decimal</code>
の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">和集合</anchor>となっています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> 6.3</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 
<dfn><code>gmlxbt:OrdDate</code></dfn>
は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601:2004</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Ordinal Date</anchor> です。
構文は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規表現</anchor>
<code>-?[0-9]{4}-[0-9]{3}</code>
です。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> 6.3</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 
<dfn><code>gmlxbt:WeekDate</code></dfn>
は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601:2004</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Week Date</anchor>
です。
構文は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規表現</anchor>
<code>-?[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])(-[1-7])?</code>
です。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> 6.3</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> この2つのデータ型の最初の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">年</anchor>の部分は、
4桁<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以上</anchor>で、4桁を越える場合<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">先導0</anchor>は禁止、
<code>0000</code> も禁止、
とされています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> 6.3</src>
この規定は示されている<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規表現</anchor>と矛盾する上、
現在の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 8601</anchor> とも整合しません。
0年を使わないとしていることから、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schema 1.0</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schema暦</anchor>に倣ったのでしょうか。</p></section><section><h1>その他</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO 19108</anchor> の各項を参照。</p></section></body></html>