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>