1 <?xml version="1.0" encoding="UTF-8"?>
3 Copyright (c) 2017 Politecnico di Torino and others.
5 All rights reserved. This program and the accompanying materials
6 are made available under the terms of the Apache License, Version 2.0
7 which accompanies this distribution, and is available at
8 http://www.apache.org/licenses/LICENSE-2.0
10 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
11 <xsd:simpleType name="functionalTypes">
12 <xsd:restriction base="xsd:string">
13 <xsd:enumeration value="FIREWALL" />
14 <xsd:enumeration value="ENDHOST" />
15 <xsd:enumeration value="ENDPOINT" />
16 <xsd:enumeration value="ANTISPAM" />
17 <xsd:enumeration value="CACHE" />
18 <xsd:enumeration value="DPI" />
19 <xsd:enumeration value="MAILCLIENT" />
20 <xsd:enumeration value="MAILSERVER" />
21 <xsd:enumeration value="NAT" />
22 <xsd:enumeration value="VPNACCESS" />
23 <xsd:enumeration value="VPNEXIT" />
24 <xsd:enumeration value="WEBCLIENT" />
25 <xsd:enumeration value="WEBSERVER" />
26 <xsd:enumeration value="FIELDMODIFIER" />
29 <xsd:simpleType name="protocolTypes">
30 <xsd:restriction base="xsd:string">
31 <xsd:enumeration value="HTTP_REQUEST" />
32 <xsd:enumeration value="HTTP_RESPONSE" />
33 <xsd:enumeration value="POP3_REQUEST" />
34 <xsd:enumeration value="POP3_RESPONSE" />
37 <xsd:element name="graphs">
40 <xsd:element ref="graph" maxOccurs="unbounded"
44 <xsd:unique name="uniqueGraph">
45 <xsd:selector xpath="graph" />
46 <xsd:field xpath="@id" />
49 <xsd:element name="graph">
52 <xsd:element ref="node" maxOccurs="unbounded"></xsd:element>
54 <xsd:attribute name="id" type="xsd:long" use="optional" />
56 <xsd:unique name="uniqueNodeId">
57 <xsd:selector xpath="node" />
58 <xsd:field xpath="@id" />
60 <xsd:key name="keyNode">
61 <xsd:selector xpath="node" />
62 <xsd:field xpath="@name" />
64 <xsd:keyref name="keyRefNodeSrc" refer="keyNode">
65 <xsd:selector xpath="node/neighbour" />
66 <xsd:field xpath="@name" />
69 <xsd:element name="node">
72 <xsd:element ref="neighbour" maxOccurs="unbounded"
74 <xsd:element ref="configuration" maxOccurs="1"
77 <xsd:attribute name="id" type="xsd:long" use="optional" />
78 <xsd:attribute name="name" type="xsd:string"
80 <xsd:attribute name="functional_type" type="functionalTypes"
83 <xsd:unique name="uniqueNeighbourId">
84 <xsd:selector xpath="neighbour" />
85 <xsd:field xpath="@id" />
87 <xsd:unique name="uniqueConfigurationId">
88 <xsd:selector xpath="neighbour" />
89 <xsd:field xpath="@id" />
92 <xsd:element name="neighbour">
94 <xsd:attribute name="id" type="xsd:long" use="optional" />
95 <xsd:attribute name="name" type="xsd:string"
99 <xsd:element name="configuration">
102 <xsd:element ref="firewall" />
103 <xsd:element ref="endhost" />
104 <xsd:element ref="endpoint" />
105 <xsd:element ref="antispam" />
106 <xsd:element ref="cache" />
107 <xsd:element ref="dpi" />
108 <xsd:element ref="mailclient" />
109 <xsd:element ref="mailserver" />
110 <xsd:element ref="nat" />
111 <xsd:element ref="vpnaccess" />
112 <xsd:element ref="vpnexit" />
113 <xsd:element ref="webclient" />
114 <xsd:element ref="webserver" />
115 <xsd:element ref="fieldmodifier" />
117 <xsd:attribute name="id" type="xsd:long" use="optional" />
118 <xsd:attribute name="name" type="xsd:string"
120 <xsd:attribute name="description" type="xsd:string"
124 <xsd:element name="paths">
127 <xsd:element name="message" type="xsd:string" />
128 <xsd:element name="path" type="xsd:string"
129 maxOccurs="unbounded" />
131 <xsd:attribute name="source" type="xsd:string"
133 <xsd:attribute name="destination" type="xsd:string"
135 <xsd:attribute name="direction" type="xsd:string"
139 <xsd:element name="firewall">
142 <xsd:element ref="elements" maxOccurs="unbounded" />
146 <xsd:element name="elements">
149 <xsd:element name="source" type="xsd:string" />
150 <xsd:element name="destination" type="xsd:string" />
154 <xsd:element name="endhost">
156 <xsd:attribute name="body" type="xsd:string" />
157 <xsd:attribute name="sequence" type="xsd:integer" />
158 <xsd:attribute name="protocol" type="protocolTypes" />
159 <xsd:attribute name="email_from" type="xsd:string" />
160 <xsd:attribute name="url" type="xsd:string" />
161 <xsd:attribute name="options" type="xsd:string" />
162 <xsd:attribute name="destination" type="xsd:string" />
165 <xsd:element name="endpoint">
168 <xsd:element name="name" type="xsd:string"
173 <xsd:element name="antispam">
175 <xsd:sequence minOccurs="1" maxOccurs="unbounded">
176 <xsd:element name="source" type="xsd:string" />
180 <xsd:element name="cache">
182 <xsd:sequence minOccurs="1" maxOccurs="unbounded">
183 <xsd:element name="resource" type="xsd:string" />
187 <xsd:element name="dpi">
189 <xsd:sequence minOccurs="1" maxOccurs="unbounded">
190 <xsd:element name="notAllowed" type="xsd:string" />
194 <xsd:element name="mailclient">
196 <xsd:attribute name="mailserver" type="xsd:string"
200 <xsd:element name="mailserver">
203 <xsd:element name="name" type="xsd:string"
208 <xsd:element name="nat">
210 <xsd:sequence minOccurs="1" maxOccurs="unbounded">
211 <xsd:element name="source" type="xsd:string" />
215 <xsd:element name="vpnaccess">
217 <xsd:attribute name="vpnexit" type="xsd:string"
221 <xsd:element name="vpnexit">
223 <xsd:attribute name="vpnaccess" type="xsd:string"
227 <xsd:element name="webclient">
229 <xsd:attribute name="nameWebServer" type="xsd:string"
233 <xsd:element name="webserver">
236 <xsd:element name="name" type="xsd:string"
241 <xsd:element name="fieldmodifier">
244 <xsd:element name="name" type="xsd:string"