diff -ru -N a/dds-xml_dds_system_definitions_nonamespace.xsd b/dds-xml_dds_system_definitions_nonamespace.xsd
--- a/dds-xml_dds_system_definitions_nonamespace.xsd	1970-01-01 01:00:00.000000000 +0100
+++ b/dds-xml_dds_system_definitions_nonamespace.xsd	2018-05-13 13:39:39.236308211 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified">
+
+    <!-- Include all the necessary building blocks -->
+    
+    <xs:include schemaLocation="dds-xml_application_definitions_nonamespace.xsd" />
+    
+    <!-- Define DDS top-level element -->
+    <xs:complexType name="ddsSystem">
+        <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:element name="types" type="typeLibrary" />
+            <xs:element name="qos_library" type="qosLibrary" />                            
+            <xs:element name="domain_library" type="domainLibrary" />
+            <xs:element name="domain_participant_library" 
+                        type="domainParticipantLibrary" />
+            <xs:element name="application_library" 
+                        type="applicationLibrary" />
+        </xs:choice>
+    </xs:complexType>
+
+</xs:schema>
diff -ru -N a/dds-xml_dds_system_definitions.xsd b/dds-xml_dds_system_definitions.xsd
--- a/dds-xml_dds_system_definitions.xsd	1970-01-01 01:00:00.000000000 +0100
+++ b/dds-xml_dds_system_definitions.xsd	2018-05-13 13:40:56.577056994 +0200
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns="http://www.omg.org/spec/DDS-XML"
+           targetNamespace="http://www.omg.org/spec/DDS-XML"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified">
+
+    <!-- Include chameleon schema -->
+    <xs:include schemaLocation="dds-xml_dds_system_definitions_nonamespace.xsd" />
+    
+    <!-- Define DDS top-level element -->
+    <xs:element name="dds" type="ddsSystem" />
+
+</xs:schema>
diff -ru -N a/dds-xml_dds_system_example.xml b/dds-xml_dds_system_example.xml
--- a/dds-xml_dds_system_example.xml	1970-01-01 01:00:00.000000000 +0100
+++ b/dds-xml_dds_system_example.xml	2018-05-13 13:27:12.816308461 +0200
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+     xmlns="http://www.omg.org/spec/DDS-XML"
+     xsi:schemaLocation="http://www.omg.org/spec/DDS-XML dds-xml_dds_system_definitions.xsd">
+    
+    <types>
+        <const name="MAX_COLOR_LEN" type="int32" value="128" />
+        <struct name="ShapeType">
+            <member name="color" key="true" type="string"
+                    stringMaxLength="MAX_COLOR_LEN" />
+            <member name="x" type="int32" />
+            <member name="y" type="int32" />
+            <member name="shapesize" type="int32" />
+        </struct>
+    
+    </types>
+    <application_library name="MyApplications">                
+        <application name="SimpleShapesDemoApplication">
+            <domain_participant name="MyParticipant"
+                                domain_ref="ShapesDomainLibrary::ShapesDomain">
+                <register_type name="ShapeType" type_ref="ShapeType" />
+                <topic name="Square" register_type_ref="ShapeType" />
+                <topic name="Circle" register_type_ref="ShapeType" />
+                <topic name="Triangle" register_type_ref="ShapeType" />
+                <publisher name="MyPublisher">
+                    <data_writer name="MySquareWriter" topic_ref="Square" />
+                    <data_writer name="MyCircleWriter" topic_ref="Circle" />
+                    <data_writer name="MyTriangleWriter" topic_ref="Triangle" />
+                </publisher>
+                <subscriber name="MySubscriber">
+                    <data_reader name="MySquareRdr" topic_ref="Square" />
+                    <data_reader name="MyCircleRdr" topic_ref="Circle" />
+                    <data_reader name="MyTriangleRdr" topic_ref="Triangle" />
+                </subscriber>
+            </domain_participant>
+        </application>
+    </application_library>
+</dds>
diff -ru -N a/dds-xml_system_example.xml b/dds-xml_system_example.xml
--- a/dds-xml_system_example.xml	2018-05-13 13:42:17.708793353 +0200
+++ b/dds-xml_system_example.xml	1970-01-01 01:00:00.000000000 +0100
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xmlns="http://www.omg.org/spec/DDS-XML"
-     xsi:schemaLocation="http://www.omg.org/spec/DDS-XML dds-xml_system_example.xsd">
-    
-    <types>
-        <const name="MAX_COLOR_LEN" type="int32" value="128" />
-        <struct name="ShapeType">
-            <member name="color" key="true" type="string"
-                    stringMaxLength="MAX_COLOR_LEN" />
-            <member name="x" type="int32" />
-            <member name="y" type="int32" />
-            <member name="shapesize" type="int32" />
-        </struct>
-    
-    </types>
-    <application_library name="MyApplications">                
-        <application name="SimpleShapesDemoApplication">
-            <domain_participant name="MyParticipant"
-                                domain_ref="ShapesDomainLibrary::ShapesDomain">
-                <register_type name="ShapeType" type_ref="ShapeType" />
-                <topic name="Square" register_type_ref="ShapeType" />
-                <topic name="Circle" register_type_ref="ShapeType" />
-                <topic name="Triangle" register_type_ref="ShapeType" />
-                <publisher name="MyPublisher">
-                    <data_writer name="MySquareWriter" topic_ref="Square" />
-                    <data_writer name="MyCircleWriter" topic_ref="Circle" />
-                    <data_writer name="MyTriangleWriter" topic_ref="Triangle" />
-                </publisher>
-                <subscriber name="MySubscriber">
-                    <data_reader name="MySquareRdr" topic_ref="Square" />
-                    <data_reader name="MyCircleRdr" topic_ref="Circle" />
-                    <data_reader name="MyTriangleRdr" topic_ref="Triangle" />
-                </subscriber>
-            </domain_participant>
-        </application>
-    </application_library>
-</dds>
diff -ru -N a/dds-xml_system_example.xsd b/dds-xml_system_example.xsd
--- a/dds-xml_system_example.xsd	2018-05-13 13:42:17.709793350 +0200
+++ b/dds-xml_system_example.xsd	1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           xmlns="http://www.omg.org/spec/DDS-XML"
-           targetNamespace="http://www.omg.org/spec/DDS-XML"
-           elementFormDefault="qualified"
-           attributeFormDefault="unqualified">
-
-    <!-- Include all the necessary building blocks -->
-    
-    <xs:include schemaLocation="dds-xml_application_definitions_nonamespace.xsd" />
-    
-    <!-- Define DDS top-level element -->
-    <xs:element name="dds">
-        <xs:complexType>
-            <xs:sequence maxOccurs="unbounded">
-                <xs:element name="types" type="typeLibrary" 
-                            minOccurs="0" maxOccurs="1" />
-                <xs:element name="qos_library" type="qosLibrary"
-                            minOccurs="0" maxOccurs="1" />                            
-                <xs:element name="domain_library" type="domainLibrary"
-                            minOccurs="0" maxOccurs="unbounded" />
-                <xs:element name="domain_participant_library" 
-                            type="domainParticipantLibrary"
-                            minOccurs="0" maxOccurs="unbounded" />
-                <xs:element name="application_library" type="applicationLibrary"
-                            minOccurs="0" maxOccurs="unbounded"/>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-
-</xs:schema>
