diff --git a/SDT/schema4.0/etc/domain.rnc b/SDT/schema4.0/etc/domain.rnc index d30de5934d3309fa6f6d272cd89004fb28e0053f..4efe8813fe12a6a7aed462efdd08241eee53d322 100644 --- a/SDT/schema4.0/etc/domain.rnc +++ b/SDT/schema4.0/etc/domain.rnc @@ -14,6 +14,7 @@ Domain = attribute id { xsd:ID }, DocDef, element Imports { Domain+ }?, + element DataTypes { DataTypeDef+ }?, ModuleClasses?, element DeviceClasses { element DeviceClass { diff --git a/SDT/schema4.0/src/domain.rng b/SDT/schema4.0/src/domain.rng index 188fa93b07e2dbda2783c6bbd7720ddf51993ae5..fd4813f47131fd65f3e00573c5d8e662e95a774c 100644 --- a/SDT/schema4.0/src/domain.rng +++ b/SDT/schema4.0/src/domain.rng @@ -36,6 +36,13 @@ </oneOrMore> </element> </optional> + <optional> + <element name="DataTypes"> + <oneOrMore> + <ref name="DataTypeDef"/> + </oneOrMore> + </element> + </optional> <optional> <ref name="ModuleClasses"/> </optional> diff --git a/SDT/schema4.0/src/domain.xsd b/SDT/schema4.0/src/domain.xsd index 72a77173bbc5cc6eb1e70d36642dc1e22ea44119..8222d4b94a049dcf5bdf8209d7b7564066cca60f 100644 --- a/SDT/schema4.0/src/domain.xsd +++ b/SDT/schema4.0/src/domain.xsd @@ -20,6 +20,7 @@ <xs:sequence> <xs:group ref="DocDef"/> <xs:element minOccurs="0" ref="Imports"/> + <xs:element minOccurs="0" ref="DataTypes"/> <xs:element minOccurs="0" ref="ModuleClasses"/> <xs:element minOccurs="0" ref="DeviceClasses"/> </xs:sequence> @@ -34,6 +35,13 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="DataTypes"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="DataType"/> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="DeviceClasses"> <xs:complexType> <xs:sequence> diff --git a/SDT/schema4.0/test/datatypes-test.xml b/SDT/schema4.0/test/datatypes-test.xml new file mode 100644 index 0000000000000000000000000000000000000000..782b26f3f536cc542d9c6055ffc4c836e4dc4896 --- /dev/null +++ b/SDT/schema4.0/test/datatypes-test.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Test the data types references --> + +<Domain id="datatypes-test" xmlns="http://homegatewayinitiative.org/xml/dal/4.0" xmlns:xi="http://www.w3.org/2001/XInclude"> + <DataTypes> + <DataType name="temperatureType" unitOfMeasure="C"> + <SimpleType type="float"/> + </DataType> + <DataType name="anEnumType"> + <EnumType> + <EnumValue name="red" type="integer" value="1"/> + <EnumValue name="green" value="2"/> + <EnumValue name="blue" value="3"/> + </EnumType> + </DataType> + </DataTypes> +</Domain> \ No newline at end of file diff --git a/SDT/schema4.0/test/enumtype-test.xml b/SDT/schema4.0/test/enumtype-test.xml index 2b7a418def6cb62db55e0737aabda3c6644a71d4..2d92b51178fa44138632fbf3ca5250cdd09102f8 100644 --- a/SDT/schema4.0/test/enumtype-test.xml +++ b/SDT/schema4.0/test/enumtype-test.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- Test the void BasicType --> +<!-- Test the EnumType --> <Domain id="enumtype-test" xmlns="http://homegatewayinitiative.org/xml/dal/4.0" xmlns:xi="http://www.w3.org/2001/XInclude"> <ModuleClasses>