1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-24 03:35:53 +01:00

Map version 1.5 XSD

This commit is contained in:
Martin Tůma 2023-05-21 14:42:23 +02:00
parent 90c75aafe9
commit 96a4b30e3a
2 changed files with 151 additions and 0 deletions

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

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Map version 1.5 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.5 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.5/map.xsd">XSD
file</a>.</p>
<p>Changes since 1.4:</p>
<ul>
<li>Added support for custom HTTP request headers
(<code>header</code> element).</li>
</ul>
</body>
</html>

124
map/1.5/map.xsd Normal file
View File

@ -0,0 +1,124 @@
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.gpxsee.org/map/1.5"
xmlns="http://www.gpxsee.org/map/1.5"
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:enumeration value="QuadTiles"/>
</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:element name="header" minOccurs="0" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="type" type="mapType" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>