Merge branch 'upstream'
[routino] / xml / routino-translations.xsd
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!-- ============================================================
4      $Header: /home/amb/routino/xml/RCS/routino-translations.xsd,v 1.3 2010/05/29 13:54:43 amb Exp $
5
6      An XML Schema Definition for the Routino translations XML format
7
8      Part of the Routino routing software.
9      ============================================================
10      This file Copyright 2010 Andrew M. Bishop
11
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      ============================================================ -->
17
18 <xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
19
20   <!-- The top level Routino translation -->
21
22   <xsd:element name="routino-translations" type="RoutinoTranslationsType"/>
23
24   <xsd:complexType name="RoutinoTranslationsType">
25     <xsd:sequence>
26       <xsd:element name="language" type="languageType" minOccurs="0" maxOccurs="unbounded"/>
27     </xsd:sequence>
28   </xsd:complexType>
29
30   <xsd:complexType name="languageType">
31     <xsd:sequence>
32       <xsd:element name="copyright"   type="CopyrightType" minOccurs="0"/>
33       <xsd:element name="turn"        type="TurnType"      minOccurs="0" maxOccurs="unbounded"/>
34       <xsd:element name="heading"     type="HeadingType"   minOccurs="0" maxOccurs="unbounded"/>
35       <xsd:element name="highway"     type="HighwayType"   minOccurs="0" maxOccurs="unbounded"/>
36       <xsd:element name="route"       type="RouteType"     minOccurs="0" maxOccurs="2"/>
37       <xsd:element name="output-html" type="HTMLType"      minOccurs="0"/>
38       <xsd:element name="output-gpx"  type="GPXType"       minOccurs="0"/>
39     </xsd:sequence>
40     <xsd:attribute name="lang"        type="xsd:string"/>
41   </xsd:complexType>
42
43   <!-- The copyright information (of the generated output, not of this file) -->
44
45   <xsd:complexType name="CopyrightType">
46     <xsd:sequence>
47       <xsd:element name="creator"   type="CopyrightCreatorType" minOccurs="0"/>
48       <xsd:element name="source"    type="CopyrightSourceType"  minOccurs="0"/>
49       <xsd:element name="license"   type="CopyrightLicenseType" minOccurs="0"/>
50     </xsd:sequence>
51   </xsd:complexType>
52
53   <xsd:complexType name="CopyrightCreatorType">
54     <xsd:attribute name="string"  type="xsd:string"/>
55     <xsd:attribute name="text"    type="xsd:string"/>
56   </xsd:complexType>
57
58   <xsd:complexType name="CopyrightSourceType">
59     <xsd:attribute name="string"  type="xsd:string"/>
60     <xsd:attribute name="text"    type="xsd:string"/>
61   </xsd:complexType>
62
63   <xsd:complexType name="CopyrightLicenseType">
64     <xsd:attribute name="string"  type="xsd:string"/>
65     <xsd:attribute name="text"    type="xsd:string"/>
66   </xsd:complexType>
67
68   <!-- The turn, heading, highway and route strings -->
69
70   <xsd:complexType name="TurnType">
71     <xsd:attribute name="direction" type="xsd:string"/>
72     <xsd:attribute name="string"    type="xsd:string"/>
73   </xsd:complexType>
74
75   <xsd:complexType name="HeadingType">
76     <xsd:attribute name="direction" type="xsd:string"/>
77     <xsd:attribute name="string"    type="xsd:string"/>
78   </xsd:complexType>
79
80   <xsd:complexType name="HighwayType">
81     <xsd:attribute name="type"      type="xsd:string"/>
82     <xsd:attribute name="string"    type="xsd:string"/>
83   </xsd:complexType>
84
85   <xsd:complexType name="RouteType">
86     <xsd:attribute name="type"      type="xsd:string"/>
87     <xsd:attribute name="string"    type="xsd:string"/>
88   </xsd:complexType>
89
90   <!-- The HTML output strings -->
91
92   <xsd:complexType name="HTMLType">
93     <xsd:sequence>
94       <xsd:element name="waypoint" type="HTMLWaypointType" maxOccurs="2"/>
95       <xsd:element name="title"    type="HTMLTitleType"/>
96       <xsd:element name="start"    type="HTMLStartType"/>
97       <xsd:element name="node"     type="HTMLNodeType"/>
98       <xsd:element name="segment"  type="HTMLSegmentType"/>
99       <xsd:element name="stop"     type="HTMLStopType"/>
100       <xsd:element name="total"    type="HTMLTotalType"/>
101     </xsd:sequence>
102   </xsd:complexType>
103
104   <xsd:complexType name="HTMLWaypointType">
105     <xsd:attribute name="type"   type="xsd:string"/>
106     <xsd:attribute name="string" type="xsd:string"/>
107   </xsd:complexType>
108
109   <xsd:complexType name="HTMLTitleType">
110     <xsd:attribute name="text"  type="xsd:string"/>
111   </xsd:complexType>
112
113   <xsd:complexType name="HTMLStartType">
114     <xsd:attribute name="string" type="xsd:string"/>
115     <xsd:attribute name="text"   type="xsd:string"/>
116   </xsd:complexType>
117
118   <xsd:complexType name="HTMLNodeType">
119     <xsd:attribute name="string" type="xsd:string"/>
120     <xsd:attribute name="text"   type="xsd:string"/>
121   </xsd:complexType>
122
123   <xsd:complexType name="HTMLSegmentType">
124     <xsd:attribute name="string" type="xsd:string"/>
125     <xsd:attribute name="text"   type="xsd:string"/>
126   </xsd:complexType>
127
128   <xsd:complexType name="HTMLStopType">
129     <xsd:attribute name="string" type="xsd:string"/>
130     <xsd:attribute name="text"   type="xsd:string"/>
131   </xsd:complexType>
132
133   <xsd:complexType name="HTMLTotalType">
134     <xsd:attribute name="string" type="xsd:string"/>
135     <xsd:attribute name="text"   type="xsd:string"/>
136   </xsd:complexType>
137
138   <!-- The GPX output strings -->
139
140   <xsd:complexType name="GPXType">
141     <xsd:sequence>
142       <xsd:element name="waypoint" type="GPXWaypointType" maxOccurs="4"/>
143       <xsd:element name="desc"     type="GPXDescType"/>
144       <xsd:element name="name"     type="GPXNameType"/>
145       <xsd:element name="step"     type="GPXStepType"/>
146       <xsd:element name="final"    type="GPXFinalType"/>
147     </xsd:sequence>
148   </xsd:complexType>
149
150   <xsd:complexType name="GPXWaypointType">
151     <xsd:attribute name="type"   type="xsd:string"/>
152     <xsd:attribute name="string" type="xsd:string"/>
153   </xsd:complexType>
154
155   <xsd:complexType name="GPXDescType">
156     <xsd:attribute name="text"  type="xsd:string"/>
157   </xsd:complexType>
158
159   <xsd:complexType name="GPXNameType">
160     <xsd:attribute name="text"  type="xsd:string"/>
161   </xsd:complexType>
162
163   <xsd:complexType name="GPXStepType">
164     <xsd:attribute name="text"  type="xsd:string"/>
165   </xsd:complexType>
166
167   <xsd:complexType name="GPXFinalType">
168     <xsd:attribute name="text"  type="xsd:string"/>
169   </xsd:complexType>
170
171 </xsd:schema>