1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-27 21:24:47 +01:00

Map version 1.2

This commit is contained in:
Martin Tůma 2018-09-23 16:18:05 +02:00
parent 4e672c08c5
commit 962d8ea26d
3 changed files with 123 additions and 1 deletions

View File

@ -102,7 +102,7 @@
<h3 id="online">Online maps</h3> <h3 id="online">Online maps</h3>
<p>The mapsource definition file format is based on XML and is fairly simple. <p>The mapsource definition file format is based on XML and is fairly simple.
For the formal map source file syntax see the <a href="map/1.1/map.xsd">mapsource For the formal map source file syntax see the <a href="map/1.2/map.xsd">mapsource
XSD file</a>. The paragraphs below are a "human-readable" summary of the XSD XSD file</a>. The paragraphs below are a "human-readable" summary of the XSD
syntax/semantics divided by map type.</p> syntax/semantics divided by map type.</p>

21
map/1.2/index.html Normal file
View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Map version 1.2 XML file format</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Map version 1.2 XML file format</h1>
<p>For human-readable Map format description, see the
<a href="http://www.gpxsee.org/doc#online">GPXSee documentation page</a>, for
XML validation use the <a href="http://www.gpxsee.org/map/1.2/map.xsd">XSD
file</a>.
<p>Changes since 1.1:</p>
<ul>
<li>Added <b>TMS</b> map type attribute option.</li>
</ul>
</body>
</html>

101
map/1.2/map.xsd Normal file
View File

@ -0,0 +1,101 @@
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.gpxsee.org/map/1.1"
xmlns="http://www.gpxsee.org/map/1.1"
elementFormDefault="qualified">
<xs:simpleType name="mapType">
<xs:restriction base="xs:string">
<xs:enumeration value="OSM"/>
<xs:enumeration value="WMTS"/>
<xs:enumeration value="WMS"/>
<xs:enumeration value="TMS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="urlType">
<xs:restriction base="xs:string">
<xs:enumeration value="REST"/>
<xs:enumeration value="KVP"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="axisOrder">
<xs:restriction base="xs:string">
<xs:enumeration value="xy"/>
<xs:enumeration value="yx"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="map">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="url" minOccurs="1" maxOccurs="1">
<xs:complexType mixed="true">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="urlType"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="tilePixelRatio" type="xs:float" minOccurs="0" maxOccurs="1"/>
<xs:element name="zoom" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="min" type="xs:nonNegativeInteger"/>
<xs:attribute name="max" type="xs:nonNegativeInteger"/>
</xs:complexType>
</xs:element>
<xs:element name="bounds" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="top" type="xs:decimal"/>
<xs:attribute name="bottom" type="xs:decimal"/>
<xs:attribute name="left" type="xs:decimal"/>
<xs:attribute name="right" type="xs:decimal"/>
</xs:complexType>
</xs:element>
<xs:element name="copyright" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="format" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="layer" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="style" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="crs" minOccurs="0" maxOccurs="1">
<xs:complexType mixed="true">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="axis" type="axisOrder"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="set" minOccurs="0" maxOccurs="1">
<xs:complexType mixed="true">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="axis" type="axisOrder"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="dimension" minOccurs="0" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="authorization" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="username" type="xs:string" use="required"/>
<xs:attribute name="password" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="type" type="mapType" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>