﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="kml" targetNamespace="http://www.opengis.net/kml/2.2" xmlns:mstns="http://www.opengis.net/kml/2.2" xmlns="http://www.opengis.net/kml/2.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
  <xs:element name="kml" msdata:IsDataSet="true" msdata:Locale="en-US" msdata:Prefix="kml" type="kmlType" />
  <!-- ComplexType -->
  <xs:complexType name="kmlType">
    <xs:sequence>
      <xs:element name="Document" type="kmlDocType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlDocType">
    <xs:sequence>
      <xs:element name="name" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
      <xs:element name="Style" type="kmlStyleType" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="StyleMap" type="kmlStyleMapType" minOccurs="0" />
      <xs:element name="Placemark" type="kmlPlacemarkType" minOccurs="0" />
      <xs:element name="Folder" type="kmlFolderType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlFolderType">
    <xs:sequence>
      <xs:element name="Placemark" type="kmlPlacemarkType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlPlacemarkType">
    <xs:sequence>
      <xs:element name="name" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
      <xs:element name="description" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
      <xs:element name="styleUrl" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
      <xs:element name="Polygon" type="kmlPolygonType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlPolygonType">
    <xs:sequence>
      <xs:element name="outerBoundaryIs" type="kmlBoundaryType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlBoundaryType">
    <xs:sequence>
      <xs:element name="LinearRing" type="kmlLinearRingType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlLinearRingType">
    <xs:sequence>
      <xs:element name="coordinates" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <!-- スタイル関係  -->
  <xs:complexType name="kmlStyleType">
    <xs:sequence>
      <xs:element name="IconStyle" type="kmlIconStyleType" minOccurs="0" />
      <xs:element name="LineStyle" type="kmlLineStyleType" minOccurs="0" />
      <xs:element name="PolyStyle" type="kmlPolyStyleType" minOccurs="0" />
    </xs:sequence>
    <xs:attribute name="id" form="unqualified" type="xs:string" />
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlIconStyleType">
    <xs:sequence>
      <xs:element name="scale" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
      <xs:element name="Icon" type="kmlIconType" minOccurs="0" />
      <xs:element name="hotSpot" type="kmlHotSpotType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="kmlIconType">
    <xs:sequence>
      <xs:element name="href" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="kmlHotSpotType">
    <xs:attribute name="x" form="unqualified" type="xs:string" />
    <xs:attribute name="y" form="unqualified" type="xs:string" />
    <xs:attribute name="xunits" form="unqualified" type="xs:string" />
    <xs:attribute name="yunits" form="unqualified" type="xs:string" />
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlLineStyleType">
    <xs:sequence>
      <xs:element name="color" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
      <xs:element name="width" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlPolyStyleType">
    <xs:sequence>
      <xs:element name="color" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlStyleMapType">
    <xs:sequence>
      <xs:element name="Pair" type="kmlPairType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
    <xs:attribute name="id" form="unqualified" type="xs:string" />
  </xs:complexType>
  <!-- ComplexType -->
  <xs:complexType name="kmlPairType">
    <xs:sequence>
      <xs:element name="key" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
      <xs:element name="styleUrl" msdata:Prefix="kml" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>
