<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 targetNamespace="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app"
 xmlns:xlink="http://www.w3.org/1999/xlink"
 xmlns:jps="http://www.gsi.go.jp/GIS/jpgis/standardSchemas"
 xmlns:ksj="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app"
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="unqualified" attributeFormDefault="unqualified">
  <xs:annotation>
    <xs:appinfo>KsjAppSchema-W05-v2_0.xsd</xs:appinfo>
    <xs:documentation>国土数値情報（流域メッシュ）第1.1 応用スキーマのXMLスキーマ文書</xs:documentation>
  </xs:annotation>
  <!-- include and import -->
  <xs:import namespace="http://www.gsi.go.jp/GIS/jpgis/standardSchemas" schemaLocation="jpsRoot.xsd" />
  <xs:import namespace="http://www.gsi.go.jp/GIS/jpgis/standardSchemas" schemaLocation="jpsGrid.xsd" />
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlinks.xsd" />
  <!-- GI -->
  <xs:element name="GI">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="exchangeMetadata" type="jps:ExchangeMetadata" minOccurs="0" />
        <xs:element name="dataset" type="ksj:Dataset" minOccurs="0" />
      </xs:sequence>
      <xs:attribute name="version" type="jps:CharacterString" use="required" fixed="1.0" />
      <xs:attribute name="timeStamp" type="jps:DateTime" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:complexType name="Dataset">
    <xs:sequence>
      <xs:element name="crs" type="jps:ref_RS_CRS" minOccurs="0" maxOccurs="2" />
      <xs:element ref="ksj:object" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="object">
    <xs:complexType>
      <xs:group ref="ksj:Object" minOccurs="0" maxOccurs="unbounded" />
      <xs:attributeGroup ref="jps:IM_ObjectReference" />
    </xs:complexType>
  </xs:element>
  <xs:group name="Object">
    <xs:sequence>
      <xs:any namespace="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app http://www.gsi.go.jp/GIS/jpgis/standardSchemas" />
    </xs:sequence>
  </xs:group>

  <!-- ================================================================ -->
  <!-- 			データ集合,国土数値情報地物,国土情報メッシュ			-->
  <!-- ================================================================ -->
  <!-- ====国土数値情報データ集合パッケージ==== -->
  <!-- 国土数値情報データ集合 -->
  <xs:element name="AA01" type="ksj:AA01" />
  <xs:complexType name="AA01">
    <xs:complexContent>
      <xs:extension base="jps:IM_Object">
        <xs:sequence>
          <xs:element ref="ksj:RES" />
          <xs:element ref="ksj:OBJ" minOccurs="0" maxOccurs="unbounded" />
          <xs:element ref="ksj:OBJ-m" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="RES" type="jps:ref_RS_CRS" />
  <xs:element name="OBJ">
    <xs:complexType>
      <xs:annotation>
        <xs:documentation>国土数値情報データ集合の地物への関連</xs:documentation>
      </xs:annotation>
      <xs:choice maxOccurs="unbounded">
        <xs:any namespace="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app http://www.gsi.go.jp/GIS/jpgis/standardSchemas" />
      </xs:choice>
      <xs:attributeGroup ref="jps:IM_ObjectReference" />
    </xs:complexType>
  </xs:element>
  <xs:element name="OBJ-m">
    <xs:complexType>
      <xs:annotation>
        <xs:documentation>国土数値情報データ集合のメッシュへの関連</xs:documentation>
      </xs:annotation>
      <xs:choice maxOccurs="unbounded">
        <xs:any namespace="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app http://www.gsi.go.jp/GIS/jpgis/standardSchemas" />
      </xs:choice>
      <xs:attributeGroup ref="jps:IM_ObjectReference" />
    </xs:complexType>
  </xs:element>
  <!-- 国土数値情報地物 -->
  <xs:element name="AA02" type="ksj:AA02" abstract="true" />
  <xs:complexType name="AA02" abstract="true">
    <xs:annotation>
      <xs:documentation>type of 国土数値情報地物</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="jps:IM_Object" />
    </xs:complexContent>
  </xs:complexType>
  <!-- 国土数値情報メッシュ -->
  <xs:element name="mAA02" type="ksj:mAA02" abstract="true" substitutionGroup="jps:JP_Grid" />
  <xs:complexType name="mAA02" abstract="true">
    <xs:annotation>
      <xs:documentation>type of 国土数値情報メッシュ</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="jps:JP_Grid" />
    </xs:complexContent>
  </xs:complexType>
  <!-- 70 流域メッシュ -->
  <xs:element name="mHA02" type="ksj:mAA02" abstract="true" substitutionGroup="jps:JP_Grid" />
  <xs:complexType name="mHA02">
    <xs:annotation>
      <xs:documentation>type of 流域メッシュ</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ksj:mAA02" />
    </xs:complexContent>
  </xs:complexType>  
  

  <!-- ================================================================ -->
  <!-- 			コードリスト											-->
  <!-- ================================================================ -->
  <!-- 水系コード WaterSystemCode -->
  <xs:element name="WaterSystemCode" type="ksj:WaterSystemCode" />
  <xs:complexType name="WaterSystemCode">
	<xs:complexContent>
	  <xs:extension base="jps:codelist"/>
	</xs:complexContent>
  </xs:complexType>
  <!-- 河川コード RiverCode -->
  <xs:element name="RiverCode" type="ksj:RiverCode" />
  <xs:complexType name="RiverCode">
	<xs:complexContent>
	  <xs:extension base="jps:codelist"/>
	</xs:complexContent>
  </xs:complexType>
  
  <!-- ==================================================== -->
  <!--              （メッシュデータ） 外部ファイル用スキーマ                    -->
  <!-- ==================================================== -->
  <xs:element name="TableData" type="ksj:TableData"/>
  <xs:complexType name="TableData">
	<xs:complexContent>
	  <xs:extension base="jps:IM_Object">
		<xs:sequence>
		  <xs:element name="description" type="jps:CharacterString" minOccurs="0"/>
		  <xs:element name="Item_value" type="ksj:Item_value" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	  <xs:attributeGroup ref="xlink:simpleLink"/>
	  </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="Item_value">
	<xs:complexContent>
	  <xs:extension base="jps:IM_Object">
	    <xs:sequence>
	      <xs:element name="item" type="jps:CharacterString"/>
	      <xs:element name="value" type="xs:anyType" minOccurs="0"/>
	      <xs:element name="sub_Item_value" type="ksj:sub_Item_value" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="sub_Item_value">
    <xs:complexContent>
	  <xs:extension base="jps:IM_Object">
		<xs:sequence>
		  <xs:element name="Item_value" type="ksj:Item_value" maxOccurs="unbounded"/>
	    </xs:sequence>
	  </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ======================================== -->

</xs:schema>

