From b6ec84667bf2065dbb7a20805f56bea27baeb615 Mon Sep 17 00:00:00 2001
From: AS <as@wall-e.fritz.box>
Date: Wed, 10 Dec 2014 10:40:55 +0100
Subject: [PATCH] Added data points as decided at HGI Q4 2014 meeting.

---
 src/domain.rng | 26 ++++++++++++++++++++++++++
 src/domain.xsd | 16 ++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/src/domain.rng b/src/domain.rng
index 0b2d368..ecf4fc7 100644
--- a/src/domain.rng
+++ b/src/domain.rng
@@ -140,6 +140,9 @@
     <optional>
       <ref name="Actions"/>
     </optional>
+    <optional>
+      <ref name="Data"/>
+    </optional>
     <optional>
       <ref name="Events"/>
     </optional>
@@ -182,6 +185,29 @@
     </element>
   </define>
 
+  <define name="Data">
+    <element name="Data">
+      <zeroOrMore>
+	<element name="DataPoint">
+	  <attribute name="name">
+	    <text/>
+	  </attribute>
+	  <optional>
+	    <attribute name="type">
+	      <ref name="DataType"/>
+	    </attribute>
+	  </optional>
+	  <optional>
+	    <attribute name="writable">
+	      <data type="boolean"/>
+	    </attribute>
+	  </optional>
+	  <ref name="Doc"/>
+	</element>
+      </zeroOrMore>
+    </element>
+  </define>
+
   <define name="Events">
     <element name="Events">
       <zeroOrMore>
diff --git a/src/domain.xsd b/src/domain.xsd
index f6f2a8f..fe3ea3f 100644
--- a/src/domain.xsd
+++ b/src/domain.xsd
@@ -115,6 +115,7 @@
       <xs:element minOccurs="0" ref="extends"/>
       <xs:group ref="Doc"/>
       <xs:element minOccurs="0" ref="Actions"/>
+      <xs:element minOccurs="0" ref="Data"/>
       <xs:element minOccurs="0" ref="Events"/>
     </xs:sequence>
     <xs:attribute name="name" use="required"/>
@@ -157,6 +158,21 @@
       <xs:attribute name="type" use="required" type="DataType"/>
     </xs:complexType>
   </xs:element>
+  <xs:element name="Data">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" maxOccurs="unbounded" ref="DataPoint"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="DataPoint">
+    <xs:complexType>
+      <xs:group ref="Doc"/>
+      <xs:attribute name="name" use="required"/>
+      <xs:attribute name="type" type="DataType"/>
+      <xs:attribute name="writable" type="xs:boolean"/>
+    </xs:complexType>
+  </xs:element>
   <xs:element name="Events">
     <xs:complexType>
       <xs:sequence>
-- 
GitLab