From 0d914d56986b22865e1107d3e0acb29fdbc1dab3 Mon Sep 17 00:00:00 2001
From: ankraft <an.kraft@googlemail.com>
Date: Tue, 30 Apr 2019 17:28:18 +0200
Subject: [PATCH] =?UTF-8?q?Added=20=E2=80=98default=E2=80=99=20attribute?=
 =?UTF-8?q?=20to=20Arg.=20Added=20test.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 SDT/schema4.0/etc/domain.rnc    |  2 ++
 SDT/schema4.0/src/domain.rng    | 10 ++++++++++
 SDT/schema4.0/src/domain.xsd    |  2 ++
 SDT/schema4.0/test/arg-test.xml | 16 +++++++++++++++-
 4 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/SDT/schema4.0/etc/domain.rnc b/SDT/schema4.0/etc/domain.rnc
index 9240b45..fc43f18 100644
--- a/SDT/schema4.0/etc/domain.rnc
+++ b/SDT/schema4.0/etc/domain.rnc
@@ -139,6 +139,7 @@ ArgDef =
     element Arg {
       attribute name { xsd:Name },
       attribute optional { xsd:boolean }?,
+      attribute default { text }?,
       attribute semanticURI { xsd:anyURI }?,
       DocDef,
       DataTypeDef
@@ -152,6 +153,7 @@ Data =
       attribute writable { xsd:boolean }?,
       attribute readable { xsd:boolean }?,
       attribute eventable { xsd:boolean }?,
+      attribute default { text }?,
       attribute semanticURI { xsd:anyURI }?,
       DocDef,
       DataTypeDef
diff --git a/SDT/schema4.0/src/domain.rng b/SDT/schema4.0/src/domain.rng
index f3746c3..22f363d 100644
--- a/SDT/schema4.0/src/domain.rng
+++ b/SDT/schema4.0/src/domain.rng
@@ -391,6 +391,11 @@
 							<data type="boolean"/>
 						</attribute>
 					</optional>
+					<optional>
+						<attribute name="default">
+							<text />
+						</attribute>
+					</optional>
 					<optional>
 						<attribute name="semanticURI">
 							<data type="anyURI"/>
@@ -431,6 +436,11 @@
 							<data type="boolean"/>
 						</attribute>
 					</optional>
+					<optional>
+						<attribute name="default">
+							<text />
+						</attribute>
+					</optional>
 					<optional>
 						<attribute name="semanticURI">
 							<data type="anyURI"/>
diff --git a/SDT/schema4.0/src/domain.xsd b/SDT/schema4.0/src/domain.xsd
index 6513965..2094a78 100644
--- a/SDT/schema4.0/src/domain.xsd
+++ b/SDT/schema4.0/src/domain.xsd
@@ -313,6 +313,7 @@
           </xs:sequence>
           <xs:attribute name="name" use="required" type="xs:Name"/>
           <xs:attribute name="optional" type="xs:boolean"/>
+          <xs:attribute name="default"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
         </xs:extension>
       </xs:complexContent>
@@ -337,6 +338,7 @@
           <xs:attribute name="writable" type="xs:boolean"/>
           <xs:attribute name="readable" type="xs:boolean"/>
           <xs:attribute name="eventable" type="xs:boolean"/>
+          <xs:attribute name="default"/>
           <xs:attribute name="semanticURI" type="xs:anyURI"/>
         </xs:extension>
       </xs:complexContent>
diff --git a/SDT/schema4.0/test/arg-test.xml b/SDT/schema4.0/test/arg-test.xml
index 6836bbe..1ab9468 100644
--- a/SDT/schema4.0/test/arg-test.xml
+++ b/SDT/schema4.0/test/arg-test.xml
@@ -6,7 +6,7 @@
 	<ModuleClasses>
 		<ModuleClass name="TestArg">
 			<Actions>
-				<Action name="testAction">
+				<Action name="testActionOptional">
 					<Args>
 						<Arg name="argMandatory">
 							<DataType>
@@ -20,6 +20,20 @@
 						</Arg>
 					</Args>
 				</Action>
+				<Action name="testActionDefault">
+					<Args>
+						<Arg name="arg1" default="true">
+							<DataType>
+								<SimpleType type="boolean" />
+							</DataType>
+						</Arg>
+						<Arg name="arg2" default="foo">
+							<DataType>
+								<SimpleType type="string" />
+							</DataType>
+						</Arg>
+					</Args>
+				</Action>
 			</Actions>
 		</ModuleClass>
 	</ModuleClasses>
-- 
GitLab