wiseml-ruby 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/version.rb +1 -1
- data/lib/wiseml/setup/capability.rb +1 -1
- data/lib/wiseml/setup/node.rb +3 -3
- data/lib/wiseml/setup/setup.rb +2 -2
- data/lib/wiseml/trace/message.rb +1 -1
- data/lib/wiseml/trace/trace.rb +1 -1
- data/lib/wiseml/wiseml.rb +18 -2
- data/test/test_xml.rb +9 -5
- data/test/wiseml.xsd +306 -0
- metadata +4 -4
- data/test/wiseml.model.xsd +0 -89
data/lib/version.rb
CHANGED
data/lib/wiseml/setup/node.rb
CHANGED
@@ -6,12 +6,12 @@ module WiseML
|
|
6
6
|
# properties of a node. Setters and getters are implicitly defined
|
7
7
|
# trough the accesors
|
8
8
|
|
9
|
-
xml_accessor :id, :
|
10
|
-
xml_accessor :capabilities, :as => [Capability]
|
9
|
+
xml_accessor :id, :from => "@id"
|
11
10
|
xml_accessor :position, :as => Position
|
11
|
+
xml_accessor :gateway
|
12
12
|
xml_accessor :nodeType
|
13
13
|
xml_accessor :description
|
14
|
-
xml_accessor :
|
14
|
+
xml_accessor :capabilities, :as => [Capability]
|
15
15
|
xml_accessor :programDetails
|
16
16
|
xml_accessor :data, :as => [Data]
|
17
17
|
xml_accessor :message, :as => Trace::Message
|
data/lib/wiseml/setup/setup.rb
CHANGED
@@ -6,12 +6,12 @@ module WiseML
|
|
6
6
|
# properties of a setup. Setters and getters are implicitly defined
|
7
7
|
# trough the accesors
|
8
8
|
|
9
|
-
xml_accessor :id
|
9
|
+
xml_accessor :id, :as => Integer
|
10
10
|
xml_accessor :origin, :as => Origin
|
11
11
|
xml_accessor :timeinfo, :as => TimeInfo
|
12
12
|
xml_accessor :interpolation
|
13
|
-
xml_accessor :description
|
14
13
|
xml_accessor :coordinateType
|
14
|
+
xml_accessor :description
|
15
15
|
xml_accessor :defaults, :as => Defaults
|
16
16
|
xml_accessor :nodes, :as => [Node]
|
17
17
|
xml_accessor :link, :as => [Link]
|
data/lib/wiseml/trace/message.rb
CHANGED
data/lib/wiseml/trace/trace.rb
CHANGED
data/lib/wiseml/wiseml.rb
CHANGED
@@ -7,11 +7,27 @@ module WiseML
|
|
7
7
|
|
8
8
|
include ROXML
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
NAMESPACE = "http://wisebed.eu/ns/wiseml/1.0"
|
11
|
+
|
12
|
+
xml_accessor :version, :from => "@version"
|
12
13
|
xml_accessor :setup, :as => Setup::Setup
|
13
14
|
xml_accessor :scenario, :as => Scenario::Scenario
|
14
15
|
xml_accessor :trace, :as => Trace::Trace
|
16
|
+
|
17
|
+
def to_xmldoc
|
18
|
+
doc = Nokogiri::XML::Document.new
|
19
|
+
doc.root = self.to_xml
|
20
|
+
doc.root.add_namespace_definition(nil, NAMESPACE)
|
21
|
+
doc
|
22
|
+
end
|
23
|
+
|
24
|
+
def write_to(string_or_io)
|
25
|
+
to_xmldoc.write_to(string_or_io, :encoding => 'UTF-8')
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_s
|
29
|
+
to_xmldoc.root.to_s
|
30
|
+
end
|
15
31
|
|
16
32
|
end
|
17
33
|
end
|
data/test/test_xml.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require "test/unit"
|
2
2
|
|
3
|
-
require File.dirname(__FILE__) + '/../lib/
|
3
|
+
require File.dirname(__FILE__) + '/../lib/wiseml.rb'
|
4
4
|
|
5
5
|
class TestXml < Test::Unit::TestCase
|
6
6
|
|
@@ -22,12 +22,16 @@ class TestXml < Test::Unit::TestCase
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def test_write_to_xml
|
25
|
-
# xsd file seems outdated and is itself invalid...
|
26
|
-
#xsd = Nokogiri::XML::Schema("wiseml.model.xsd")
|
27
25
|
|
28
|
-
|
29
|
-
|
26
|
+
# writes the xml document to a file
|
27
|
+
@wisexml.write_to(File.open("out.xml","w"))
|
30
28
|
|
29
|
+
# and read both schema and document to validate
|
30
|
+
xsd = Nokogiri::XML::Schema(File.read("wiseml.xsd"))
|
31
|
+
doc = Nokogiri::XML(File.read("out.xml"))
|
32
|
+
|
33
|
+
# empty as in not a single error -> validates
|
34
|
+
assert(xsd.validate(doc).empty?)
|
31
35
|
end
|
32
36
|
|
33
37
|
end
|
data/test/wiseml.xsd
ADDED
@@ -0,0 +1,306 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!--
|
3
|
+
W3C XML schema for WiseML, version 1.0
|
4
|
+
|
5
|
+
NOTE: This W3C XML schema is converted from the RELAX NG schema.
|
6
|
+
It is unsupported and unmaintained.
|
7
|
+
|
8
|
+
Created by Martin Bor (m.c.bor@tudelt.nl) on 2010-03-16.
|
9
|
+
Copyright 2010 TU Delft. All rights reserved.
|
10
|
+
-->
|
11
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
|
12
|
+
targetNamespace="http://wisebed.eu/ns/wiseml/1.0" xmlns:wiseml="http://wisebed.eu/ns/wiseml/1.0">
|
13
|
+
<!-- ROOT -->
|
14
|
+
<xs:element name="wiseml">
|
15
|
+
<xs:complexType>
|
16
|
+
<xs:sequence>
|
17
|
+
<xs:element ref="wiseml:setup" />
|
18
|
+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="wiseml:scenario" />
|
19
|
+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="wiseml:trace" />
|
20
|
+
</xs:sequence>
|
21
|
+
<xs:attribute name="version" use="required">
|
22
|
+
<xs:simpleType>
|
23
|
+
<xs:restriction base="xs:token">
|
24
|
+
<xs:enumeration value="1.0" />
|
25
|
+
</xs:restriction>
|
26
|
+
</xs:simpleType>
|
27
|
+
</xs:attribute>
|
28
|
+
</xs:complexType>
|
29
|
+
</xs:element>
|
30
|
+
<!-- SETUP -->
|
31
|
+
<xs:element name="setup">
|
32
|
+
<xs:complexType>
|
33
|
+
<xs:sequence>
|
34
|
+
<xs:group minOccurs="0" ref="wiseml:setup.properties" />
|
35
|
+
<xs:element minOccurs="0" ref="wiseml:defaults" />
|
36
|
+
<xs:group maxOccurs="unbounded" ref="wiseml:node" />
|
37
|
+
<xs:group minOccurs="0" maxOccurs="unbounded" ref="wiseml:link" />
|
38
|
+
</xs:sequence>
|
39
|
+
</xs:complexType>
|
40
|
+
</xs:element>
|
41
|
+
<xs:group name="setup.properties">
|
42
|
+
<xs:sequence>
|
43
|
+
<xs:element minOccurs="0" ref="wiseml:origin" />
|
44
|
+
<xs:element minOccurs="0" ref="wiseml:timeinfo" />
|
45
|
+
<xs:element minOccurs="0" ref="wiseml:interpolation" />
|
46
|
+
<xs:element minOccurs="0" ref="wiseml:coordinateType" />
|
47
|
+
<xs:element minOccurs="0" ref="wiseml:description" />
|
48
|
+
</xs:sequence>
|
49
|
+
</xs:group>
|
50
|
+
<xs:element name="origin" type="wiseml:coordinate" />
|
51
|
+
<xs:element name="timeinfo" type="wiseml:timeinfo" />
|
52
|
+
<xs:element name="interpolation" type="wiseml:interpolation" />
|
53
|
+
<xs:element name="coordinateType" type="xs:string" />
|
54
|
+
<xs:element name="description" type="xs:string" />
|
55
|
+
<xs:complexType name="timeinfo">
|
56
|
+
<xs:sequence>
|
57
|
+
<xs:element ref="wiseml:start" />
|
58
|
+
<xs:choice>
|
59
|
+
<xs:element ref="wiseml:end" />
|
60
|
+
<xs:element ref="wiseml:duration" />
|
61
|
+
</xs:choice>
|
62
|
+
<xs:element ref="wiseml:unit" />
|
63
|
+
</xs:sequence>
|
64
|
+
</xs:complexType>
|
65
|
+
<xs:element name="start" type="xs:dateTime" />
|
66
|
+
<xs:element name="end" type="xs:dateTime" />
|
67
|
+
<xs:element name="duration" type="xs:string" />
|
68
|
+
<xs:element name="unit" type="xs:string" />
|
69
|
+
<!-- DEFAULTS -->
|
70
|
+
<xs:element name="defaults">
|
71
|
+
<xs:complexType>
|
72
|
+
<xs:sequence>
|
73
|
+
<xs:element minOccurs="0" name="node" type="wiseml:node.properties" />
|
74
|
+
<xs:element minOccurs="0" name="link" type="wiseml:link.properties" />
|
75
|
+
</xs:sequence>
|
76
|
+
</xs:complexType>
|
77
|
+
</xs:element>
|
78
|
+
<!-- NODE -->
|
79
|
+
<xs:group name="node">
|
80
|
+
<xs:sequence>
|
81
|
+
<xs:element name="node">
|
82
|
+
<xs:complexType>
|
83
|
+
<xs:complexContent>
|
84
|
+
<xs:extension base="wiseml:node.properties">
|
85
|
+
<xs:attribute name="id" use="required" />
|
86
|
+
</xs:extension>
|
87
|
+
</xs:complexContent>
|
88
|
+
</xs:complexType>
|
89
|
+
</xs:element>
|
90
|
+
</xs:sequence>
|
91
|
+
</xs:group>
|
92
|
+
<xs:complexType name="node.properties">
|
93
|
+
<xs:sequence>
|
94
|
+
<xs:element minOccurs="0" ref="wiseml:position" />
|
95
|
+
<xs:element minOccurs="0" ref="wiseml:gateway" />
|
96
|
+
<xs:element minOccurs="0" ref="wiseml:programDetails" />
|
97
|
+
<xs:element minOccurs="0" ref="wiseml:nodeType" />
|
98
|
+
<xs:element minOccurs="0" ref="wiseml:description" />
|
99
|
+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="wiseml:capability" />
|
100
|
+
</xs:sequence>
|
101
|
+
</xs:complexType>
|
102
|
+
<xs:element name="position" type="wiseml:coordinate" />
|
103
|
+
<xs:element name="gateway" type="xs:boolean" />
|
104
|
+
<xs:element name="programDetails" type="xs:string" />
|
105
|
+
<xs:element name="nodeType" type="xs:string" />
|
106
|
+
<!-- LINK -->
|
107
|
+
<xs:group name="link">
|
108
|
+
<xs:sequence>
|
109
|
+
<xs:element name="link">
|
110
|
+
<xs:complexType>
|
111
|
+
<xs:complexContent>
|
112
|
+
<xs:extension base="wiseml:link.properties">
|
113
|
+
<xs:attribute name="source" use="required" />
|
114
|
+
<xs:attribute name="target" use="required" />
|
115
|
+
</xs:extension>
|
116
|
+
</xs:complexContent>
|
117
|
+
</xs:complexType>
|
118
|
+
</xs:element>
|
119
|
+
</xs:sequence>
|
120
|
+
</xs:group>
|
121
|
+
<xs:complexType name="link.properties">
|
122
|
+
<xs:sequence>
|
123
|
+
<xs:element minOccurs="0" ref="wiseml:encrypted" />
|
124
|
+
<xs:element minOccurs="0" ref="wiseml:virtual" />
|
125
|
+
<xs:element minOccurs="0" ref="wiseml:rssi" />
|
126
|
+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="wiseml:capability" />
|
127
|
+
</xs:sequence>
|
128
|
+
</xs:complexType>
|
129
|
+
<xs:element name="encrypted" type="xs:boolean" />
|
130
|
+
<xs:element name="virtual" type="xs:boolean" />
|
131
|
+
<xs:element name="rssi">
|
132
|
+
<xs:complexType>
|
133
|
+
<xs:attribute name="datatype" use="required" type="wiseml:dtypes" />
|
134
|
+
<xs:attribute name="unit" use="required" type="wiseml:units" />
|
135
|
+
<xs:attribute name="default" use="required" />
|
136
|
+
</xs:complexType>
|
137
|
+
</xs:element>
|
138
|
+
<!-- SETUP COMMON ELEMENTS -->
|
139
|
+
<xs:element name="capability">
|
140
|
+
<xs:complexType>
|
141
|
+
<xs:sequence>
|
142
|
+
<xs:element ref="wiseml:name" />
|
143
|
+
<xs:element ref="wiseml:datatype" />
|
144
|
+
<xs:element name="unit" type="wiseml:units" />
|
145
|
+
<xs:element ref="wiseml:default" />
|
146
|
+
</xs:sequence>
|
147
|
+
</xs:complexType>
|
148
|
+
</xs:element>
|
149
|
+
<xs:element name="name" type="xs:string" />
|
150
|
+
<xs:element name="datatype" type="wiseml:dtypes" />
|
151
|
+
<xs:element name="default" type="xs:string" />
|
152
|
+
<!-- SCENARIO -->
|
153
|
+
<xs:element name="scenario">
|
154
|
+
<xs:complexType>
|
155
|
+
<xs:group maxOccurs="unbounded" ref="wiseml:scenario.item" />
|
156
|
+
<xs:attribute name="id" use="required" />
|
157
|
+
</xs:complexType>
|
158
|
+
</xs:element>
|
159
|
+
<xs:group name="scenario.item">
|
160
|
+
<xs:sequence>
|
161
|
+
<xs:element ref="wiseml:timestamp" />
|
162
|
+
<xs:choice maxOccurs="unbounded">
|
163
|
+
<xs:element ref="wiseml:enableNode" />
|
164
|
+
<xs:element ref="wiseml:disableNode" />
|
165
|
+
<xs:element ref="wiseml:enableLink" />
|
166
|
+
<xs:element ref="wiseml:disableLink" />
|
167
|
+
<xs:group ref="wiseml:node.scenario" />
|
168
|
+
</xs:choice>
|
169
|
+
</xs:sequence>
|
170
|
+
</xs:group>
|
171
|
+
<xs:element name="enableNode">
|
172
|
+
<xs:complexType>
|
173
|
+
<xs:attribute name="id" use="required" />
|
174
|
+
</xs:complexType>
|
175
|
+
</xs:element>
|
176
|
+
<xs:element name="disableNode">
|
177
|
+
<xs:complexType>
|
178
|
+
<xs:attribute name="id" use="required" />
|
179
|
+
</xs:complexType>
|
180
|
+
</xs:element>
|
181
|
+
<xs:element name="enableLink">
|
182
|
+
<xs:complexType>
|
183
|
+
<xs:attribute name="source" use="required" />
|
184
|
+
<xs:attribute name="target" use="required" />
|
185
|
+
</xs:complexType>
|
186
|
+
</xs:element>
|
187
|
+
<xs:element name="disableLink">
|
188
|
+
<xs:complexType>
|
189
|
+
<xs:attribute name="source" use="required" />
|
190
|
+
<xs:attribute name="target" use="required" />
|
191
|
+
</xs:complexType>
|
192
|
+
</xs:element>
|
193
|
+
<xs:group name="node.scenario">
|
194
|
+
<xs:sequence>
|
195
|
+
<xs:element name="node">
|
196
|
+
<xs:complexType>
|
197
|
+
<xs:sequence maxOccurs="unbounded">
|
198
|
+
<xs:element minOccurs="0" ref="wiseml:position" />
|
199
|
+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="wiseml:data" />
|
200
|
+
</xs:sequence>
|
201
|
+
<xs:attribute name="id" use="required" />
|
202
|
+
</xs:complexType>
|
203
|
+
</xs:element>
|
204
|
+
</xs:sequence>
|
205
|
+
</xs:group>
|
206
|
+
<xs:element name="data">
|
207
|
+
<xs:complexType mixed="true">
|
208
|
+
<xs:attribute name="key" use="required" />
|
209
|
+
</xs:complexType>
|
210
|
+
</xs:element>
|
211
|
+
<!-- TRACE -->
|
212
|
+
<xs:element name="trace">
|
213
|
+
<xs:complexType>
|
214
|
+
<xs:group maxOccurs="unbounded" ref="wiseml:trace.item" />
|
215
|
+
<xs:attribute name="id" use="required" />
|
216
|
+
</xs:complexType>
|
217
|
+
</xs:element>
|
218
|
+
<xs:group name="trace.item">
|
219
|
+
<xs:sequence>
|
220
|
+
<xs:element ref="wiseml:timestamp" />
|
221
|
+
<xs:choice maxOccurs="unbounded">
|
222
|
+
<xs:group ref="wiseml:node.traceitem" />
|
223
|
+
<xs:group ref="wiseml:link.traceitem" />
|
224
|
+
</xs:choice>
|
225
|
+
</xs:sequence>
|
226
|
+
</xs:group>
|
227
|
+
<xs:element name="timestamp" type="xs:string" />
|
228
|
+
<xs:group name="node.traceitem">
|
229
|
+
<xs:sequence>
|
230
|
+
<xs:element name="node">
|
231
|
+
<xs:complexType>
|
232
|
+
<xs:sequence>
|
233
|
+
<xs:element minOccurs="0" ref="wiseml:position" />
|
234
|
+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="wiseml:data" />
|
235
|
+
</xs:sequence>
|
236
|
+
<xs:attribute name="id" use="required" />
|
237
|
+
</xs:complexType>
|
238
|
+
</xs:element>
|
239
|
+
</xs:sequence>
|
240
|
+
</xs:group>
|
241
|
+
<xs:group name="link.traceitem">
|
242
|
+
<xs:sequence>
|
243
|
+
<xs:element name="link">
|
244
|
+
<xs:complexType>
|
245
|
+
<xs:sequence>
|
246
|
+
<xs:element minOccurs="0" name="rssi" type="xs:string" />
|
247
|
+
<xs:element minOccurs="0" maxOccurs="unbounded" ref="wiseml:data" />
|
248
|
+
</xs:sequence>
|
249
|
+
<xs:attribute name="source" use="required" />
|
250
|
+
<xs:attribute name="target" use="required" />
|
251
|
+
</xs:complexType>
|
252
|
+
</xs:element>
|
253
|
+
</xs:sequence>
|
254
|
+
</xs:group>
|
255
|
+
<!-- DATA TYPES -->
|
256
|
+
<xs:simpleType name="dtypes">
|
257
|
+
<xs:restriction base="xs:token">
|
258
|
+
<xs:enumeration value="decimal" />
|
259
|
+
<xs:enumeration value="integer" />
|
260
|
+
</xs:restriction>
|
261
|
+
</xs:simpleType>
|
262
|
+
<xs:simpleType name="units">
|
263
|
+
<xs:restriction base="xs:token">
|
264
|
+
<xs:enumeration value="meters" />
|
265
|
+
<xs:enumeration value="centimeters" />
|
266
|
+
<xs:enumeration value="radians" />
|
267
|
+
<xs:enumeration value="degrees" />
|
268
|
+
<xs:enumeration value="seconds" />
|
269
|
+
<xs:enumeration value="milliseconds" />
|
270
|
+
<xs:enumeration value="dBm" />
|
271
|
+
<xs:enumeration value="kelvin" />
|
272
|
+
<xs:enumeration value="percentage" />
|
273
|
+
<xs:enumeration value="lux" />
|
274
|
+
<xs:enumeration value="raw" />
|
275
|
+
</xs:restriction>
|
276
|
+
</xs:simpleType>
|
277
|
+
<xs:simpleType name="interpolation">
|
278
|
+
<xs:restriction base="xs:token">
|
279
|
+
<xs:enumeration value="none" />
|
280
|
+
<xs:enumeration value="linear" />
|
281
|
+
<xs:enumeration value="polynomial" />
|
282
|
+
<xs:enumeration value="cubic" />
|
283
|
+
<xs:enumeration value="spline" />
|
284
|
+
</xs:restriction>
|
285
|
+
</xs:simpleType>
|
286
|
+
<xs:attributeGroup name="unit">
|
287
|
+
<xs:attribute name="unit" use="required" type="wiseml:units" />
|
288
|
+
</xs:attributeGroup>
|
289
|
+
<xs:attributeGroup name="dtype">
|
290
|
+
<xs:attribute name="datatype" use="required" type="wiseml:dtypes" />
|
291
|
+
</xs:attributeGroup>
|
292
|
+
<xs:complexType name="coordinate">
|
293
|
+
<xs:sequence>
|
294
|
+
<xs:element ref="wiseml:x" />
|
295
|
+
<xs:element ref="wiseml:y" />
|
296
|
+
<xs:element minOccurs="0" ref="wiseml:z" />
|
297
|
+
<xs:element minOccurs="0" ref="wiseml:phi" />
|
298
|
+
<xs:element minOccurs="0" ref="wiseml:theta" />
|
299
|
+
</xs:sequence>
|
300
|
+
</xs:complexType>
|
301
|
+
<xs:element name="x" type="xs:double" />
|
302
|
+
<xs:element name="y" type="xs:double" />
|
303
|
+
<xs:element name="z" type="xs:double" />
|
304
|
+
<xs:element name="phi" type="xs:double" />
|
305
|
+
<xs:element name="theta" type="xs:double" />
|
306
|
+
</xs:schema>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wiseml-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -89,7 +89,7 @@ files:
|
|
89
89
|
- test/test_xml.rb
|
90
90
|
- test/wisebed_uzl_demo.json
|
91
91
|
- test/wisebed_uzl_demo.xml
|
92
|
-
- test/wiseml.
|
92
|
+
- test/wiseml.xsd
|
93
93
|
- wiseml-ruby.gemspec
|
94
94
|
homepage: ''
|
95
95
|
licenses: []
|
@@ -119,4 +119,4 @@ test_files:
|
|
119
119
|
- test/test_xml.rb
|
120
120
|
- test/wisebed_uzl_demo.json
|
121
121
|
- test/wisebed_uzl_demo.xml
|
122
|
-
- test/wiseml.
|
122
|
+
- test/wiseml.xsd
|
data/test/wiseml.model.xsd
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://wiseml.model" xmlns:ns1="http://wiseml.model/setup" elementFormDefault="qualified" targetNamespace="http://wiseml.model">
|
2
|
-
<xs:import namespace="http://wiseml.model/setup" schemaLocation="setup.xsd"/>
|
3
|
-
<xs:element type="tns:wiseml" name="wiseml"/>
|
4
|
-
<xs:complexType name="wiseml">
|
5
|
-
<xs:sequence>
|
6
|
-
<xs:element name="setup" minOccurs="0">
|
7
|
-
<xs:complexType>
|
8
|
-
<xs:sequence>
|
9
|
-
<xs:element name="node" minOccurs="0" maxOccurs="unbounded">
|
10
|
-
<xs:complexType>
|
11
|
-
<xs:sequence>
|
12
|
-
<xs:element type="xs:string" name="id" minOccurs="0"/>
|
13
|
-
<xs:element type="ns1:capability" name="capability" minOccurs="0" maxOccurs="unbounded"/>
|
14
|
-
<xs:element name="position" minOccurs="0">
|
15
|
-
<xs:complexType>
|
16
|
-
<xs:sequence/>
|
17
|
-
<xs:attribute type="xs:float" use="required" name="x"/>
|
18
|
-
<xs:attribute type="xs:float" use="required" name="y"/>
|
19
|
-
<xs:attribute type="xs:float" use="required" name="z"/>
|
20
|
-
<xs:attribute type="xs:int" use="required" name="phi"/>
|
21
|
-
<xs:attribute type="xs:int" use="required" name="theta"/>
|
22
|
-
</xs:complexType>
|
23
|
-
</xs:element>
|
24
|
-
<xs:element type="xs:string" name="nodeType" minOccurs="0"/>
|
25
|
-
<xs:element type="xs:string" name="description" minOccurs="0"/>
|
26
|
-
<xs:element type="xs:string" name="programDetails" minOccurs="0"/>
|
27
|
-
</xs:sequence>
|
28
|
-
<xs:attribute type="xs:int" use="required" name="gateway"/>
|
29
|
-
</xs:complexType>
|
30
|
-
</xs:element>
|
31
|
-
<xs:element name="origin" minOccurs="0">
|
32
|
-
<xs:complexType>
|
33
|
-
<xs:sequence/>
|
34
|
-
<xs:attribute type="xs:float" use="required" name="x"/>
|
35
|
-
<xs:attribute type="xs:float" use="required" name="y"/>
|
36
|
-
<xs:attribute type="xs:float" use="required" name="z"/>
|
37
|
-
<xs:attribute type="xs:int" use="required" name="phi"/>
|
38
|
-
<xs:attribute type="xs:int" use="required" name="theta"/>
|
39
|
-
</xs:complexType>
|
40
|
-
</xs:element>
|
41
|
-
<xs:element name="timeinfo" minOccurs="0">
|
42
|
-
<xs:complexType>
|
43
|
-
<xs:sequence>
|
44
|
-
<xs:element type="xs:string" name="unit" minOccurs="0"/>
|
45
|
-
</xs:sequence>
|
46
|
-
<xs:attribute type="xs:dateTime" name="start"/>
|
47
|
-
<xs:attribute type="xs:dateTime" name="end"/>
|
48
|
-
<xs:attribute type="xs:int" use="required" name="duration"/>
|
49
|
-
</xs:complexType>
|
50
|
-
</xs:element>
|
51
|
-
<xs:element type="xs:string" name="interpolation" minOccurs="0"/>
|
52
|
-
<xs:element type="xs:string" name="description" minOccurs="0"/>
|
53
|
-
<xs:element name="link" minOccurs="0" maxOccurs="unbounded">
|
54
|
-
<xs:complexType>
|
55
|
-
<xs:sequence>
|
56
|
-
<xs:element type="xs:string" name="source" minOccurs="0"/>
|
57
|
-
<xs:element type="xs:string" name="target" minOccurs="0"/>
|
58
|
-
<xs:element type="ns1:capability" name="capability" minOccurs="0" maxOccurs="unbounded"/>
|
59
|
-
<xs:element name="rssi" minOccurs="0">
|
60
|
-
<xs:complexType>
|
61
|
-
<xs:sequence>
|
62
|
-
<xs:element type="xs:string" name="datatype" minOccurs="0"/>
|
63
|
-
<xs:element type="xs:string" name="unit" minOccurs="0"/>
|
64
|
-
</xs:sequence>
|
65
|
-
</xs:complexType>
|
66
|
-
</xs:element>
|
67
|
-
</xs:sequence>
|
68
|
-
<xs:attribute type="xs:boolean" use="required" name="encrypted"/>
|
69
|
-
<xs:attribute type="xs:boolean" use="required" name="virtual"/>
|
70
|
-
</xs:complexType>
|
71
|
-
</xs:element>
|
72
|
-
</xs:sequence>
|
73
|
-
</xs:complexType>
|
74
|
-
</xs:element>
|
75
|
-
<xs:element name="scenario" minOccurs="0">
|
76
|
-
<xs:complexType>
|
77
|
-
<xs:sequence/>
|
78
|
-
<xs:attribute type="xs:int" use="required" name="id"/>
|
79
|
-
</xs:complexType>
|
80
|
-
</xs:element>
|
81
|
-
<xs:element name="trace" minOccurs="0">
|
82
|
-
<xs:complexType>
|
83
|
-
<xs:sequence/>
|
84
|
-
<xs:attribute type="xs:int" use="required" name="id"/>
|
85
|
-
</xs:complexType>
|
86
|
-
</xs:element>
|
87
|
-
</xs:sequence>
|
88
|
-
</xs:complexType>
|
89
|
-
</xs:schema>
|