7df6daecefa702761bfc783a99685204a0d422b7
[routino] / xml / routino-tagging.xsd
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!-- ============================================================
4      $Header: /home/amb/routino/xml/RCS/routino-tagging.xsd,v 1.1 2010/05/18 18:35:01 amb Exp $
5
6      An XML Schema Definition for the Routino tagging rules 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 tagging rules -->
21
22   <xsd:element name="routino-tagging" type="RoutinoTaggingType"/>
23
24   <xsd:complexType name="RoutinoTaggingType">
25     <xsd:sequence>
26       <xsd:element name="node"        type="NodeType"/>
27       <xsd:element name="way"         type="WayType"/>
28       <xsd:element name="relation"    type="RelationType"/>
29     </xsd:sequence>
30   </xsd:complexType>
31
32   <!-- The second level node, way and relation tagging rules -->
33
34   <xsd:complexType name="NodeType">
35   </xsd:complexType>
36
37   <xsd:complexType name="WayType">
38     <xsd:sequence>
39       <xsd:element name="if" type="IfType" minOccurs="0" maxOccurs="unbounded"/>
40     </xsd:sequence>
41   </xsd:complexType>
42
43   <xsd:complexType name="RelationType">
44   </xsd:complexType>
45
46   <!-- The if tag and its contents -->
47
48   <xsd:complexType name="IfType">
49     <xsd:sequence>
50       <xsd:element name="set"      type="SetType"     minOccurs="0" maxOccurs="unbounded"/>
51       <xsd:element name="output"   type="OutputType"  minOccurs="0" maxOccurs="unbounded"/>
52     </xsd:sequence>
53     <xsd:attribute name="k" type="xsd:string"/>
54     <xsd:attribute name="v" type="xsd:string"/>
55   </xsd:complexType>
56
57   <xsd:complexType name="SetType">
58     <xsd:attribute name="k" type="xsd:string"/>
59     <xsd:attribute name="v" type="xsd:string"/>
60   </xsd:complexType>
61
62   <xsd:complexType name="OutputType">
63     <xsd:attribute name="k" type="xsd:string"/>
64     <xsd:attribute name="v" type="xsd:string"/>
65   </xsd:complexType>
66
67 </xsd:schema>