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

Added map schema version 1.3

This commit is contained in:
Martin Tůma 2018-12-08 11:03:18 +01:00
parent 84b9743d80
commit e6c81b80c7
2 changed files with 141 additions and 0 deletions

27
map/1.3/index.html Normal file
View File

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Map version 1.3 XML file format</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style>
body {
max-width: 50em;
}
</style>
</head>
<body>
<h1>Map version 1.3 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.3/map.xsd">XSD
file</a>.</p>
<p>Changes since 1.2:</p>
<ul>
<li>Replaced the <b>tilePixelRatio</b> element with the more general
<b>tile</b> element.</li>
</ul>
</body>
</html>

114
map/1.3/map.xsd Normal file
View File

@ -0,0 +1,114 @@
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.gpxsee.org/map/1.3"
xmlns="http://www.gpxsee.org/map/1.3"
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:simpleType name="tileType">
<xs:restriction base="xs:string">
<xs:enumeration value="raster"/>
<xs:enumeration value="vector"/>
</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="tile" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="size" type="xs:nonNegativeInteger"/>
<xs:attribute name="pixelRatio" type="xs:decimal"/>
<xs:attribute name="type" type="tileType"/>
</xs:complexType>
</xs:element>
<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>