From 6159cb9ba1bd9d6661d333faeadbfcfab689974e Mon Sep 17 00:00:00 2001
From: PeterNiblett <pdn3270@gmail.com>
Date: Sun, 25 Jan 2015 13:30:09 +0000
Subject: [PATCH] Regex for scheduleElement

---
 CDT-commonTypes-v0_8_0.xsd | 78 +++++++++++++++++++++++++-------------
 1 file changed, 52 insertions(+), 26 deletions(-)

diff --git a/CDT-commonTypes-v0_8_0.xsd b/CDT-commonTypes-v0_8_0.xsd
index 402b7fd..dfdc129 100644
--- a/CDT-commonTypes-v0_8_0.xsd
+++ b/CDT-commonTypes-v0_8_0.xsd
@@ -173,19 +173,17 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 	</xs:simpleType>
 
 	<xs:simpleType name="scheduleEntry">
-		<xs:restriction base="xs:string">
-			<xs:pattern
-				value="([*\d/,-]+\s+){3}[*\d/#L,-]+\s+(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC|[*\d/,-])+\s+(SUN|MON|TUE|WED|THU|FRI|SAT|[*\dL#/,-])+\s+[*\d/,-]+" />
-		</xs:restriction>
+<!-- 		<xs:restriction base="xs:string"> -->
+<!-- 			<xs:pattern -->
+<!-- 				value="([*\d/,-]+\s+){3}[*\d/#L,-]+\s+(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC|[*\d/,-])+\s+(SUN|MON|TUE|WED|THU|FRI|SAT|[*\dL#/,-])+\s+[*\d/,-]+" /> -->
+<!-- 		</xs:restriction> -->
+		  <xs:restriction base="xs:string">
+            <xs:pattern value="(([*]|[1-5]?\d([,-][1-5]?\d)*)\s+){2}([*]|((1?\d|2[0-3])([,-](\d|1\d|2[0-3]))*))\s+([*]|(([1-9]|1\d|2\d|3[01])([,-]([1-9]|1\d|2\d|3[01]))*))\s+([*]|(([1-9]|1[0-2])([,-]([1-9]|1[0-2]))*))\s+[*]|([0-6]([,-][0-6])*)" />
+            <xs:pattern value="[*]|([0-6]([,-][0-6])*)" />
+      
+        </xs:restriction>
 	</xs:simpleType>
 
-
-	<!-- <xs:simpleType name="stringList"> -->
-	<!-- <xs:list itemType="xs:string" /> -->
-	<!-- </xs:simpleType> -->
-
-
-
 	<xs:simpleType name="triggerRecipientId">
 		<xs:restriction base="xs:unsignedInt" />
 	</xs:simpleType>
@@ -195,15 +193,9 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 	</xs:simpleType>
 
 
-	<!-- <xs:simpleType name="attribute"> -->
-	<!-- <xs:restriction base="xs:string" /> -->
-	<!-- </xs:simpleType> -->
-
-
-
-	<!-- -->
+	<!--**********************-->
 	<!-- oneM2M Complex Types -->
-	<!-- -->
+    <!--**********************-->
 
 	<xs:complexType name="deliveryMetaData">
 		<xs:sequence>
@@ -338,14 +330,13 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 	<xs:complexType name="uploadArgsType">
 		<xs:sequence>
 			<xs:element name="fileType" type="xs:string" />
-			<xs:element name="uRL" type="xs:anyURI" />
+			<xs:element name="URL" type="xs:anyURI" />
 			<xs:element name="username" type="xs:string" />
 			<xs:element name="password" type="xs:string" />
 			<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
 		</xs:sequence>
 	</xs:complexType>
 
-
 	<xs:complexType name="downloadArgsType">
 		<xs:sequence>
 			<xs:element name="fileType" type="xs:string" />
@@ -361,6 +352,38 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 			<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
 		</xs:sequence>
 	</xs:complexType>
+	
+	<xs:complexType name="softwareInstallArgsType">
+        <xs:sequence>
+            <xs:element name="URL" type="xs:anyURI" />
+            <xs:element name="UUID" type="xs:string" />
+            <xs:element name="username" type="xs:string" />
+            <xs:element name="password" type="xs:string" />
+            <xs:element name="executionEnvRef" type="xs:string" />
+            <xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+    
+    <xs:complexType name="softwareUpdateArgsType">
+        <xs:sequence>
+            <xs:element name="UUID" type="xs:string" />
+            <xs:element name="version" type="xs:string" />
+            <xs:element name="URL" type="xs:anyURI" />
+            <xs:element name="username" type="xs:string" />
+            <xs:element name="password" type="xs:string" />
+            <xs:element name="executionEnvRef" type="xs:string" />
+            <xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
+    
+        <xs:complexType name="softwareUninstallArgsType">
+        <xs:sequence>
+            <xs:element name="UUID" type="xs:string" />
+            <xs:element name="version" type="xs:string" />
+            <xs:element name="executionEnvRef" type="xs:string" />
+            <xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
+        </xs:sequence>
+    </xs:complexType>
 
 	<xs:complexType name="anyArgsListType">
 		<xs:sequence>
@@ -370,11 +393,14 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 
 	<xs:complexType name="execReqArgsListType">
 		<xs:choice>
-			<xs:element name="reset" type="m2m:resetArgsType" />
-			<xs:element name="reboot" type="m2m:rebootArgsType" />
-			<xs:element name="upload" type="m2m:uploadArgsType" />
-			<xs:element name="download" type="m2m:downloadArgsType" />
-			<xs:element name="anyArg" type="m2m:anyArgsListType" minOccurs="0" />
+			<xs:element name="reset" type="m2m:resetArgsType" maxOccurs="unbounded"/>
+			<xs:element name="reboot" type="m2m:rebootArgsType"  maxOccurs="unbounded"/>
+			<xs:element name="upload" type="m2m:uploadArgsType"  maxOccurs="unbounded"/>
+			<xs:element name="download" type="m2m:downloadArgsType"  maxOccurs="unbounded"/>
+			<xs:element name="softwareInstall" type="m2m:softwareInstallArgsType" maxOccurs="unbounded"/>
+			<xs:element name="softwareUpdate" type="m2m:softwareUpdateArgsType"  maxOccurs="unbounded" />
+			<xs:element name="softwareUninstall" type="m2m:softwareUninstallArgsType"  maxOccurs="unbounded"/>
+			<xs:element name="anyArg" type="m2m:anyArgsListType" minOccurs="0"  maxOccurs="unbounded"/>
 		</xs:choice>
 	</xs:complexType>
 
-- 
GitLab