09.03.2012
Seite 4 von 6
Eine beispielhafte generische Datenstruktur für einen Gerätestatusdienst könnte wie folgt aus-
sehen
3
:
00
<s:Status xmlns:s="http://medical.devices.net/DeviceStatus">
01
<s:Icons>
02
[<s:Icon>
03
<s:Image lowResolution="xs:anyURI" highResolution="xs:anyURI"
xml:lang="..."? />?
04
<s:Caption value="xs:string" xml:lang="xs:string"? />?
05
</s:Icon>]*
06
</s:Icons>
07
<s:States>
08
[<s:State model="xs:anyURI" schema="xs:anyURI"? >
09
...
10
</s:State>]*
11
</s:States>
12
<dpws:ThisModel
xmlns:dpws="http://docs.oasis-open.org/ws-dd/ns/dpws/2009/01">
13
<dpws:Manufacturer xml:lang="..."? >xs:string</dpws:Manufacturer>+
14
<dpws:ManufacturerUrl>xs:anyURI</dpws:ManufacturerUrl>?
15
<dpws:ModelName xml:lang="..."? >xs:string</dpws:ModelName>+
16
<dpws:ModelNumber>xs:string</dpws:ModelNumber>?
17
<dpws:ModelUrl>xs:anyURI</dpws:ModelUrl>?
18
<dpws:PresentationUrl>xs:anyURI</dpws:PresentationUrl>?
19
</dpws:ThisModel>
20
</s:Status>
Die Datenhierarchie erlaubt die Codierung mehrerer Gerätepiktogramme über die Icons-
Struktur (vgl. Zeile 01 bis 06). Dabei sollten jeweils niedrig und hoch aufgelöste Bilder zur
Verfügung stehen. Die Metadaten des Gerätes lassen sich über die DPWS-This-Model-
Struktur einsehen, wie in Zeile 12 bis 19 dargestellt. In den Zeilen 07 bis 11 können Status-
meldungen hinterlegt werden. Damit ein Gerät nicht auf eine feste Anzahl bestimmter Status-
informationen angewiesen ist, sollte die Modellierung der Datenstruktur generisch erfolgen.
An dieser Stelle tritt der Erweiterbarkeitsmechanismus von XML in Kraft. Über eine Status-
Modellkennung können Dienstkonsumenten verschiedene Modelle auslesen (vorausgesetzt,
diese werden von der Applikationsschicht beherrscht). Für ein automatisches Rendering ist
die Angabe eines XML-Schemas sinnvoll. Ein Status-Basismodell könnte folgendermaßen
aussehen:
01
<s:State
model="http://medical.devices.net/DeviceStatus/Basic"
schema="http://schema/path"?
xmlns:m="http://medical.devices.net/DeviceStatus/Basic">
02
<m:Sign type="xs:anyURI" />
03
<m:ShortDescription text="xs:string" xml:lang="xs:string"? />+
04
[<m:LongDescription mime-type="xs:string" xml:lang="xs:string"? >
05
...
06
</m:LongDescription>]+
07
</s:State>
Jeder Status beansprucht dabei seinen individuellen Namensraum. Das sign-Element reprä-
sentiert hierbei die verschiedenen „Ampelzustände“ (Zeile 02). ShortDescription (Z. 03) und
LongDescrption (Z. 04 bis 06) enthalten entsprechend kurze bzw. lange textuelle Beschrei-
3
Notationen in Anlehnung an die WS-Discovery-Spezifikation der OASIS Open:
http://docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-spec-os.html#_Toc234231802