From 107aeddeb44bdf609cade4574be966b12a0d22d8 Mon Sep 17 00:00:00 2001
From: ankraft <an.kraft@googlemail.com>
Date: Wed, 26 Jun 2019 11:57:20 +0200
Subject: [PATCH] Changes to ProductClass and test case. Moved "extend" to top 
 after "doc" element.

---
 SDT/schema4.0/etc/domain.rnc                                | 4 ++--
 SDT/schema4.0/src/domain.rng                                | 6 +++---
 SDT/schema4.0/src/domain.xsd                                | 2 +-
 .../test/{product-test.xml => productClass-test.xml}        | 6 +++---
 4 files changed, 9 insertions(+), 9 deletions(-)
 rename SDT/schema4.0/test/{product-test.xml => productClass-test.xml} (83%)

diff --git a/SDT/schema4.0/etc/domain.rnc b/SDT/schema4.0/etc/domain.rnc
index 2289ff8..0b395f5 100644
--- a/SDT/schema4.0/etc/domain.rnc
+++ b/SDT/schema4.0/etc/domain.rnc
@@ -134,11 +134,11 @@ ProductClassesDef =
       attribute id { xsd:Name },
       attribute semanticURI { xsd:anyURI }?,
       DocDef,
+      ExtendDef?,
       PropertiesDef?,
       ModuleClassesDef?,
       SubDevicesRef?,
-      element DeviceClass { ExtendDef }?,
-      ExtendDef?
+      element DeviceClass { ExtendDef }?
     }+
   }
 Actions =
diff --git a/SDT/schema4.0/src/domain.rng b/SDT/schema4.0/src/domain.rng
index ee5e7b9..66352e0 100644
--- a/SDT/schema4.0/src/domain.rng
+++ b/SDT/schema4.0/src/domain.rng
@@ -379,6 +379,9 @@
 						</attribute>
 					</optional>
 					<ref name="DocDef"/>
+					<optional>
+						<ref name="ExtendDef" />
+					</optional>
 					<optional>
 						<ref name="PropertiesDef"/>
 					</optional>
@@ -393,9 +396,6 @@
 							<ref name="ExtendDef" />
 						</element>
 					</optional>
-					<optional>
-						<ref name="ExtendDef" />
-					</optional>
 				</element>
 			</oneOrMore>
 		</element>
diff --git a/SDT/schema4.0/src/domain.xsd b/SDT/schema4.0/src/domain.xsd
index acb2e93..7759d6f 100644
--- a/SDT/schema4.0/src/domain.xsd
+++ b/SDT/schema4.0/src/domain.xsd
@@ -287,6 +287,7 @@
       <xs:complexContent>
         <xs:extension base="DocDef">
           <xs:sequence>
+            <xs:element minOccurs="0" ref="Extend"/>
             <xs:element minOccurs="0" ref="Properties"/>
             <xs:element minOccurs="0" ref="ModuleClasses"/>
             <xs:element minOccurs="0" ref="SubDevices"/>
@@ -297,7 +298,6 @@
                 </xs:sequence>
               </xs:complexType>
             </xs:element>
-            <xs:element minOccurs="0" ref="Extend"/>
           </xs:sequence>
           <xs:attribute name="id" use="required" type="xs:Name"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
diff --git a/SDT/schema4.0/test/product-test.xml b/SDT/schema4.0/test/productClass-test.xml
similarity index 83%
rename from SDT/schema4.0/test/product-test.xml
rename to SDT/schema4.0/test/productClass-test.xml
index 719eee3..23d2662 100644
--- a/SDT/schema4.0/test/product-test.xml
+++ b/SDT/schema4.0/test/productClass-test.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
 <Domain xmlns="http://www.onem2m.org/xml/sdt/4.0" xmlns:xi="http://www.w3.org/2001/XInclude" id="productClass-test" >
 	<ProductClasses>
-		<ProductClass id="TestProduct" semanticURI="http://example.com/TestProduct.rdf">
+		<ProductClass id="TestProductClass" semanticURI="http://example.com/TestProduct.rdf">
 			<Doc>This is a test product</Doc>
 			<Properties>
 				<Property name="aProperty">
@@ -33,13 +33,13 @@
 
 		<!-- Derived ProductClass -->
 
-		<ProductClass id="DerivedProduct" semanticURI="http://example.com/DerivedProduct.rdf">
+		<ProductClass id="DerivedProductClass" semanticURI="http://example.com/DerivedProduct.rdf">
+			<Extend domain="productClass.test" entity="TestProductClass" />
 			<ModuleClasses>
 				<ModuleClass name="anotherModuleClass">
 					<Extend domain="hgi.dal.core" entity="BooleanState" />
 				</ModuleClass>
 			</ModuleClasses>
-			<Extend domain="productClass.test" entity="TestProduct" />
 		</ProductClass>
 	</ProductClasses>
 </Domain>
\ No newline at end of file
-- 
GitLab