diff --git a/src/domain.rng b/src/domain.rng index 0b2d368393b378bc3d22e6c6efcf4c7f9d6aca2e..ecf4fc72d341c12be552aecc6cf5879a3acbbb8c 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 f6f2a8f164feb540410c0d74b3b4bb651e3672d2..fe3ea3f95672c5eca712801f2bdcc3b4b8eaec27 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>