1 <?xml version="1.0" encoding="utf-8"?>
3 <!-- ============================================================
6 An XML Schema Definition for the Routino profile XML format
8 Part of the Routino routing software.
9 ============================================================
10 This file Copyright 2010 Andrew M. Bishop
12 This program is free software: you can redistribute it and/or modify
13 it under the terms of the GNU Affero General Public License as published by
14 the Free Software Foundation, either version 3 of the License, or
15 (at your option) any later version.
16 ============================================================ -->
18 <xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
20 <!-- The top level Routino profiles -->
22 <xsd:element name="routino-profiles" type="RoutinoProfilesType"/>
24 <xsd:complexType name="RoutinoProfilesType">
26 <xsd:element name="profile" type="profileType" minOccurs="0" maxOccurs="unbounded"/>
30 <xsd:complexType name="profileType">
32 <xsd:element name="speeds" type="speedsType" />
33 <xsd:element name="preferences" type="preferencesType" />
34 <xsd:element name="properties" type="propertiesType" />
35 <xsd:element name="restrictions" type="restrictionsType"/>
37 <xsd:attribute name="name" type="xsd:string"/>
38 <xsd:attribute name="transport" type="xsd:string"/>
41 <!-- The second level preferences, speed, properties and restrictions -->
43 <xsd:complexType name="speedsType">
45 <xsd:element name="speed" type="speedType" maxOccurs="unbounded"/>
49 <xsd:complexType name="preferencesType">
51 <xsd:element name="preference" type="preferenceType" maxOccurs="unbounded"/>
55 <xsd:complexType name="propertiesType">
57 <xsd:element name="property" type="propertyType" maxOccurs="unbounded"/>
61 <xsd:complexType name="restrictionsType">
63 <xsd:element name="oneway" type="onewayType"/>
64 <xsd:element name="weight" type="weightType"/>
65 <xsd:element name="height" type="heightType"/>
66 <xsd:element name="width" type="widthType"/>
67 <xsd:element name="length" type="lengthType"/>
71 <!-- The lowest level elements containing the real information -->
73 <xsd:complexType name="speedType">
74 <xsd:attribute name="highway" type="xsd:string"/>
75 <xsd:attribute name="kph" type="xsd:string"/>
78 <xsd:complexType name="preferenceType">
79 <xsd:attribute name="highway" type="xsd:string"/>
80 <xsd:attribute name="percent" type="xsd:string"/>
83 <xsd:complexType name="propertyType">
84 <xsd:attribute name="type" type="xsd:string"/>
85 <xsd:attribute name="percent" type="xsd:string"/>
88 <xsd:complexType name="onewayType">
89 <xsd:attribute name="obey" type="xsd:string"/>
92 <xsd:complexType name="weightType">
93 <xsd:attribute name="limit" type="xsd:string"/>
96 <xsd:complexType name="heightType">
97 <xsd:attribute name="limit" type="xsd:string"/>
100 <xsd:complexType name="widthType">
101 <xsd:attribute name="limit" type="xsd:string"/>
104 <xsd:complexType name="lengthType">
105 <xsd:attribute name="limit" type="xsd:string"/>