From 84fbbaa1a2a40661f06af0cd187accdfa69ce110 Mon Sep 17 00:00:00 2001
From: ankraft <an.kraft@googlemail.com>
Date: Thu, 25 Apr 2019 17:09:57 +0200
Subject: [PATCH] Changed all ID types to Name. Corrected EchonetLiteExample
 test

---
 SDT/schema4.0/etc/domain.rnc               | 18 +++++++++---------
 SDT/schema4.0/src/domain.rng               | 20 +++++++++++---------
 SDT/schema4.0/src/domain.xsd               | 18 +++++++++---------
 SDT/schema4.0/test/EchonetLiteExamples.xml |  2 +-
 4 files changed, 30 insertions(+), 28 deletions(-)

diff --git a/SDT/schema4.0/etc/domain.rnc b/SDT/schema4.0/etc/domain.rnc
index 8dc3a81..0f38b2a 100644
--- a/SDT/schema4.0/etc/domain.rnc
+++ b/SDT/schema4.0/etc/domain.rnc
@@ -39,7 +39,7 @@ Domain =
 PropertiesDef =
   element Properties {
     element Property {
-      attribute name { text },
+      attribute name { xsd:Name },
       attribute optional { xsd:boolean }?,
       attribute value { text }?,
       attribute semanticURI { xsd:anyURI }?,
@@ -49,7 +49,7 @@ PropertiesDef =
   }
 DataTypeDef =
   element DataType {
-    attribute name { text }?,
+    attribute name { xsd:Name }?,
     attribute unitOfMeasure { text }?,
     attribute semanticURI { xsd:anyURI }?,
     DocDef,
@@ -78,7 +78,7 @@ BasicType =
   | "void"
 EnumValueDef =
   element EnumValue {
-    attribute name { text },
+    attribute name { xsd:Name },
     attribute value { text },
     attribute type { BasicType }?,
     attribute semanticURI { xsd:anyURI }?,
@@ -87,7 +87,7 @@ EnumValueDef =
 ConstraintsDef =
   element Constraints {
     element Constraint {
-      attribute name { text },
+      attribute name { xsd:Name },
       attribute type { BasicType }?,
       attribute value { text }?,
       attribute semanticURI { xsd:anyURI }?,
@@ -112,7 +112,7 @@ DocDef =
 ModuleClasses =
   element ModuleClasses {
     element ModuleClass {
-      attribute name { text },
+      attribute name { xsd:Name },
       attribute optional { xsd:boolean }?,
       attribute semanticURI { xsd:anyURI }?,
       DocDef,
@@ -127,7 +127,7 @@ ModuleClasses =
 Actions =
   element Actions {
     element Action {
-      attribute name { text },
+      attribute name { xsd:Name },
       attribute optional { xsd:boolean }?,
       attribute semanticURI { xsd:anyURI }?,
       DocDef,
@@ -138,7 +138,7 @@ Actions =
 ArgDef =
   element Args {
     element Arg {
-      attribute name { text },
+      attribute name { xsd:Name },
       attribute semanticURI { xsd:anyURI }?,
       DocDef,
       DataTypeDef
@@ -147,7 +147,7 @@ ArgDef =
 Data =
   element Data {
     element DataPoint {
-      attribute name { text },
+      attribute name { xsd:Name },
       attribute optional { xsd:boolean }?,
       attribute writable { xsd:boolean }?,
       attribute readable { xsd:boolean }?,
@@ -160,7 +160,7 @@ Data =
 Events =
   element Events {
     element Event {
-      attribute name { text },
+      attribute name { xsd:Name },
       attribute optional { xsd:boolean }?,
       attribute semanticURI { xsd:anyURI }?,
       DocDef,
diff --git a/SDT/schema4.0/src/domain.rng b/SDT/schema4.0/src/domain.rng
index c98e91d..756e28a 100644
--- a/SDT/schema4.0/src/domain.rng
+++ b/SDT/schema4.0/src/domain.rng
@@ -106,7 +106,7 @@
 			<oneOrMore>
 				<element name="Property">
 					<attribute name="name">
-						<text/>
+						<data type="Name"/>
 					</attribute>
 					<optional>
 						<attribute name="optional">
@@ -135,7 +135,7 @@
 		<element name="DataType">
 			<optional>
 				<attribute name="name">
-					<text/>
+					<data type="Name"/>
 				</attribute>
 			</optional>
 			<optional>
@@ -220,7 +220,7 @@
 	<define name="EnumValueDef">
 		<element name="EnumValue">
 			<attribute name="name">
-				<text/>
+				<data type="Name"/>
 			</attribute>
 			<attribute name="value">
 				<text/>
@@ -245,7 +245,7 @@
 			<oneOrMore>
 				<element name="Constraint">
 					<attribute name="name">
-						<text/>
+						<data type="Name"/>
 					</attribute>
 					<optional>
 						<attribute name="type">
@@ -317,7 +317,7 @@
 			<oneOrMore>
 				<element name="ModuleClass">
 					<attribute name="name">
-						<text/>
+						<data type="Name"/>
 					</attribute>
 					<optional>
 						<attribute name="optional">
@@ -354,7 +354,7 @@
 			<oneOrMore>
 				<element name="Action">
 					<attribute name="name">
-						<text/>
+						<data type="Name"/>
 					</attribute>
 					<optional>
 						<attribute name="optional">
@@ -383,7 +383,9 @@
 		<element name="Args">
 			<oneOrMore>
 				<element name="Arg">
-					<attribute name="name"/>
+					<attribute name="name">
+						<data type="Name"/>
+					</attribute>
 					<optional>
 						<attribute name="semanticURI">
 							<data type="anyURI"/>
@@ -402,7 +404,7 @@
 			<oneOrMore>
 				<element name="DataPoint">
 					<attribute name="name">
-						<text/>
+						<data type="Name"/>
 					</attribute>
 					<optional>
 						<attribute name="optional">
@@ -442,7 +444,7 @@
 			<oneOrMore>
 				<element name="Event">
 					<attribute name="name">
-						<text/>
+						<data type="Name"/>
 					</attribute>
 					<optional>
 						<attribute name="optional">
diff --git a/SDT/schema4.0/src/domain.xsd b/SDT/schema4.0/src/domain.xsd
index 954fe24..ea7e43d 100644
--- a/SDT/schema4.0/src/domain.xsd
+++ b/SDT/schema4.0/src/domain.xsd
@@ -103,7 +103,7 @@
           <xs:sequence>
             <xs:element ref="SimpleType"/>
           </xs:sequence>
-          <xs:attribute name="name" use="required"/>
+          <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="optional" type="xs:boolean"/>
           <xs:attribute name="value"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
@@ -127,7 +127,7 @@
             </xs:choice>
             <xs:element minOccurs="0" ref="Constraints"/>
           </xs:sequence>
-          <xs:attribute name="name"/>
+          <xs:attribute name="name" type="xs:Name"/>
           <xs:attribute name="unitOfMeasure"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
         </xs:extension>
@@ -180,7 +180,7 @@
     <xs:complexType>
       <xs:complexContent>
         <xs:extension base="DocDef">
-          <xs:attribute name="name" use="required"/>
+          <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="value" use="required"/>
           <xs:attribute name="type" type="BasicType"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
@@ -199,7 +199,7 @@
     <xs:complexType>
       <xs:complexContent>
         <xs:extension base="DocDef">
-          <xs:attribute name="name" use="required"/>
+          <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="type" type="BasicType"/>
           <xs:attribute name="value"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
@@ -268,7 +268,7 @@
             <xs:element minOccurs="0" ref="Data"/>
             <xs:element minOccurs="0" ref="Events"/>
           </xs:sequence>
-          <xs:attribute name="name" use="required"/>
+          <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="optional" type="xs:boolean"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
         </xs:extension>
@@ -290,7 +290,7 @@
             <xs:element minOccurs="0" ref="DataType"/>
             <xs:element minOccurs="0" ref="Args"/>
           </xs:sequence>
-          <xs:attribute name="name" use="required"/>
+          <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="optional" type="xs:boolean"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
         </xs:extension>
@@ -311,7 +311,7 @@
           <xs:sequence>
             <xs:element ref="DataType"/>
           </xs:sequence>
-          <xs:attribute name="name" use="required"/>
+          <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
         </xs:extension>
       </xs:complexContent>
@@ -331,7 +331,7 @@
           <xs:sequence>
             <xs:element ref="DataType"/>
           </xs:sequence>
-          <xs:attribute name="name" use="required"/>
+          <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="optional" type="xs:boolean"/>
           <xs:attribute name="writable" type="xs:boolean"/>
           <xs:attribute name="readable" type="xs:boolean"/>
@@ -355,7 +355,7 @@
           <xs:sequence>
             <xs:element minOccurs="0" ref="Data"/>
           </xs:sequence>
-          <xs:attribute name="name" use="required"/>
+          <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="optional" type="xs:boolean"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
         </xs:extension>
diff --git a/SDT/schema4.0/test/EchonetLiteExamples.xml b/SDT/schema4.0/test/EchonetLiteExamples.xml
index 54ba1cd..2cdc034 100644
--- a/SDT/schema4.0/test/EchonetLiteExamples.xml
+++ b/SDT/schema4.0/test/EchonetLiteExamples.xml
@@ -116,7 +116,7 @@
 
 				<ModuleClass name="washingMachineDataPoints">
 					<Data>
-						<DataPoint name="door/CoverOpen/CloseStatus" readable="true" writable="false">
+						<DataPoint name="door_CoverOpen_CloseStatus" readable="true" writable="false">
 							<Doc>This property indicates whether the door/cover is open or closed.</Doc>
 							<DataType>
 								<!-- <SimpleType type="enum" /> -->
-- 
GitLab