diff --git a/SDT/schema4.0/docs/SDT_UML.uxf b/SDT/schema4.0/docs/SDT_UML.uxf index 39ac9acf3d32324521c7c81fb8ec9a0139503d03..cc0b7e3a989eff7d6d92da1ba152e3df890fca36 100644 --- a/SDT/schema4.0/docs/SDT_UML.uxf +++ b/SDT/schema4.0/docs/SDT_UML.uxf @@ -5,8 +5,8 @@ <element> <id>UMLNote</id> <coordinates> - <x>1168</x> - <y>1352</y> + <x>1152</x> + <y>1424</y> <w>232</w> <h>208</h> </coordinates> @@ -36,8 +36,8 @@ group=1</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1272</x> - <y>1432</y> + <x>1256</x> + <y>1504</y> <w>88</w> <h>32</h> </coordinates> @@ -51,8 +51,8 @@ group=1</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1272</x> - <y>1464</y> + <x>1256</x> + <y>1536</y> <w>88</w> <h>24</h> </coordinates> @@ -64,8 +64,8 @@ group=1</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>1280</x> - <y>984</y> + <x>1264</x> + <y>1056</y> <w>120</w> <h>176</h> </coordinates> @@ -88,8 +88,8 @@ void</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>784</x> - <y>1048</y> + <x>768</x> + <y>1120</y> <w>112</w> <h>64</h> </coordinates> @@ -101,8 +101,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>784</x> - <y>984</y> + <x>768</x> + <y>1056</y> <w>112</w> <h>64</h> </coordinates> @@ -114,8 +114,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>400</x> - <y>984</y> + <x>384</x> + <y>1056</y> <w>152</w> <h>120</h> </coordinates> @@ -134,8 +134,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>544</x> - <y>944</y> + <x>528</x> + <y>1016</y> <w>544</w> <h>96</h> </coordinates> @@ -147,8 +147,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>544</x> - <y>944</y> + <x>528</x> + <y>1016</y> <w>544</w> <h>144</h> </coordinates> @@ -160,8 +160,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>880</x> - <y>1080</y> + <x>864</x> + <y>1152</y> <w>152</w> <h>40</h> </coordinates> @@ -174,8 +174,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1024</x> - <y>1104</y> + <x>1008</x> + <y>1176</y> <w>272</w> <h>32</h> </coordinates> @@ -187,8 +187,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>880</x> - <y>1176</y> + <x>864</x> + <y>1248</y> <w>152</w> <h>88</h> </coordinates> @@ -205,8 +205,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>544</x> - <y>1064</y> + <x>528</x> + <y>1136</y> <w>352</w> <h>144</h> </coordinates> @@ -218,8 +218,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1024</x> - <y>1152</y> + <x>1008</x> + <y>1224</y> <w>336</w> <h>112</h> </coordinates> @@ -231,8 +231,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>880</x> - <y>984</y> + <x>864</x> + <y>1056</y> <w>152</w> <h>40</h> </coordinates> @@ -245,8 +245,8 @@ fg=blue</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>880</x> - <y>1032</y> + <x>864</x> + <y>1104</y> <w>152</w> <h>40</h> </coordinates> @@ -259,8 +259,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>784</x> - <y>1024</y> + <x>768</x> + <y>1096</y> <w>112</w> <h>40</h> </coordinates> @@ -273,8 +273,8 @@ fontsize=12 <element> <id>UMLClass</id> <coordinates> - <x>400</x> - <y>872</y> + <x>384</x> + <y>944</y> <w>1000</w> <h>32</h> </coordinates> @@ -288,8 +288,8 @@ lw=0.1</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>112</x> - <y>0</y> + <x>96</x> + <y>72</y> <w>1288</w> <h>32</h> </coordinates> @@ -303,16 +303,18 @@ lw=0.1</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>680</x> - <y>104</y> + <x>664</x> + <y>176</y> <w>192</w> - <h>144</h> + <h>168</h> </coordinates> <panel_attributes>ModuleClass -- *@ name : Name* /@ optional : boolean = false/ /@ semanticURI : uri/ +/@ minOccurs : text = "1"/ +/@ maxOccurs : text = "1"/ /- Doc : Doc/ /- Extend : Extend/ /* Properties : Property/ @@ -326,8 +328,8 @@ fg=blue <element> <id>UMLClass</id> <coordinates> - <x>960</x> - <y>104</y> + <x>944</x> + <y>176</y> <w>176</w> <h>104</h> </coordinates> @@ -345,8 +347,8 @@ fg=blue</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>1232</x> - <y>176</y> + <x>1216</x> + <y>248</y> <w>168</w> <h>104</h> </coordinates> @@ -364,8 +366,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1128</x> - <y>176</y> + <x>1112</x> + <y>248</y> <w>120</w> <h>32</h> </coordinates> @@ -377,8 +379,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>128</x> - <y>104</y> + <x>112</x> + <y>176</y> <w>184</w> <h>128</h> </coordinates> @@ -398,8 +400,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>104</y> + <x>544</x> + <y>176</y> <w>136</w> <h>64</h> </coordinates> @@ -411,15 +413,17 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>392</x> - <y>352</y> + <x>376</x> + <y>424</y> <w>176</w> - <h>88</h> + <h>120</h> </coordinates> <panel_attributes>SubDevice -- *@ id : Name* /@ semanticURI : uri/ +/@ minOccurs : text = "1"/ +/@ maxOccurs : text = "1"/ /- Doc : Doc/ /* Properties : Property/ /* ModuleClasses : ModuleClass/ @@ -429,8 +433,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>200</y> + <x>544</x> + <y>272</y> <w>56</w> <h>72</h> </coordinates> @@ -442,21 +446,21 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>256</y> + <x>544</x> + <y>352</y> <w>136</w> - <h>152</h> + <h>128</h> </coordinates> <panel_attributes>lt=<. m1= 0..n fontsize=12</panel_attributes> - <additional_attributes>150.0;10.0;80.0;10.0;80.0;170.0;10.0;170.0</additional_attributes> + <additional_attributes>150.0;10.0;80.0;10.0;80.0;140.0;10.0;140.0</additional_attributes> </element> <element> <id>UMLClass</id> <coordinates> - <x>1232</x> - <y>400</y> + <x>1216</x> + <y>472</y> <w>168</w> <h>40</h> </coordinates> @@ -468,8 +472,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>864</x> - <y>104</y> + <x>848</x> + <y>176</y> <w>112</w> <h>56</h> </coordinates> @@ -481,8 +485,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1184</x> - <y>400</y> + <x>1168</x> + <y>472</y> <w>64</w> <h>32</h> </coordinates> @@ -494,8 +498,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>864</x> - <y>152</y> + <x>848</x> + <y>224</y> <w>112</w> <h>96</h> </coordinates> @@ -507,8 +511,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>960</x> - <y>216</y> + <x>944</x> + <y>288</y> <w>176</w> <h>144</h> </coordinates> @@ -531,8 +535,8 @@ fg=blue <element> <id>UMLClass</id> <coordinates> - <x>960</x> - <y>368</y> + <x>944</x> + <y>440</y> <w>176</w> <h>88</h> </coordinates> @@ -549,8 +553,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>864</x> - <y>232</y> + <x>848</x> + <y>304</y> <w>112</w> <h>168</h> </coordinates> @@ -562,8 +566,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>104</y> + <x>544</x> + <y>176</y> <w>136</w> <h>336</h> </coordinates> @@ -575,8 +579,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>392</x> - <y>240</y> + <x>376</x> + <y>312</y> <w>176</w> <h>104</h> </coordinates> @@ -594,8 +598,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>320</y> + <x>544</x> + <y>392</y> <w>64</w> <h>64</h> </coordinates> @@ -607,8 +611,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>104</y> + <x>544</x> + <y>176</y> <w>136</w> <h>224</h> </coordinates> @@ -619,19 +623,19 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>256</y> + <x>544</x> + <y>352</y> <w>136</w> - <h>56</h> + <h>32</h> </coordinates> <panel_attributes>lt=<.</panel_attributes> - <additional_attributes>150.0;10.0;80.0;10.0;80.0;50.0;10.0;50.0</additional_attributes> + <additional_attributes>150.0;10.0;80.0;10.0;80.0;20.0;10.0;20.0</additional_attributes> </element> <element> <id>UMLClass</id> <coordinates> - <x>680</x> - <y>256</y> + <x>664</x> + <y>352</y> <w>192</w> <h>104</h> </coordinates> @@ -650,8 +654,8 @@ transparency=80</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1128</x> - <y>104</y> + <x>1112</x> + <y>176</y> <w>56</w> <h>320</h> </coordinates> @@ -663,21 +667,21 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>864</x> - <y>232</y> + <x>848</x> + <y>304</y> <w>56</w> - <h>56</h> + <h>80</h> </coordinates> <panel_attributes>lt=<. m1=0..n fontsize=12</panel_attributes> - <additional_attributes>10.0;40.0;40.0;40.0;40.0;10.0;10.0;10.0</additional_attributes> + <additional_attributes>10.0;70.0;40.0;70.0;40.0;10.0;10.0;10.0</additional_attributes> </element> <element> <id>UMLClass</id> <coordinates> - <x>640</x> - <y>992</y> + <x>624</x> + <y>1064</y> <w>152</w> <h>88</h> </coordinates> @@ -695,8 +699,8 @@ Enum : EnumType <element> <id>Relation</id> <coordinates> - <x>544</x> - <y>1000</y> + <x>528</x> + <y>1072</y> <w>112</w> <h>64</h> </coordinates> @@ -708,20 +712,20 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>168</y> + <x>544</x> + <y>240</y> <w>136</w> - <h>112</h> + <h>136</h> </coordinates> <panel_attributes>lt=<. fontsize=12</panel_attributes> - <additional_attributes>150.0;120.0;80.0;120.0;80.0;10.0;10.0;10.0</additional_attributes> + <additional_attributes>150.0;150.0;80.0;150.0;80.0;10.0;10.0;10.0</additional_attributes> </element> <element> <id>Relation</id> <coordinates> - <x>304</x> - <y>72</y> + <x>288</x> + <y>144</y> <w>392</w> <h>88</h> </coordinates> @@ -732,8 +736,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>560</x> - <y>184</y> + <x>544</x> + <y>256</y> <w>64</w> <h>192</h> </coordinates> @@ -745,8 +749,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>880</x> - <y>1128</y> + <x>864</x> + <y>1200</y> <w>152</w> <h>40</h> </coordinates> @@ -759,8 +763,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>784</x> - <y>1056</y> + <x>768</x> + <y>1128</y> <w>112</w> <h>104</h> </coordinates> @@ -772,8 +776,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>1080</x> - <y>1144</y> + <x>1064</x> + <y>1216</y> <w>168</w> <h>88</h> </coordinates> @@ -790,8 +794,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1024</x> - <y>1144</y> + <x>1008</x> + <y>1216</y> <w>72</w> <h>32</h> </coordinates> @@ -803,8 +807,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>1240</x> - <y>1152</y> + <x>1224</x> + <y>1224</y> <w>88</w> <h>64</h> </coordinates> @@ -816,8 +820,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>448</x> - <y>624</y> + <x>432</x> + <y>696</y> <w>176</w> <h>64</h> </coordinates> @@ -833,8 +837,8 @@ fg=blue <element> <id>UMLClass</id> <coordinates> - <x>944</x> - <y>624</y> + <x>928</x> + <y>696</y> <w>192</w> <h>56</h> </coordinates> @@ -848,8 +852,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>872</x> - <y>624</y> + <x>856</x> + <y>696</y> <w>88</w> <h>56</h> </coordinates> @@ -862,8 +866,8 @@ fontsize=12 <element> <id>Relation</id> <coordinates> - <x>400</x> - <y>624</y> + <x>384</x> + <y>696</y> <w>64</w> <h>32</h> </coordinates> @@ -875,8 +879,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>1224</x> - <y>624</y> + <x>1208</x> + <y>696</y> <w>176</w> <h>128</h> </coordinates> @@ -896,8 +900,8 @@ subdevice <element> <id>Relation</id> <coordinates> - <x>1128</x> - <y>624</y> + <x>1112</x> + <y>696</y> <w>112</w> <h>56</h> </coordinates> @@ -909,8 +913,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>944</x> - <y>688</y> + <x>928</x> + <y>760</y> <w>192</w> <h>56</h> </coordinates> @@ -924,8 +928,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>872</x> - <y>672</y> + <x>856</x> + <y>744</y> <w>88</w> <h>48</h> </coordinates> @@ -938,8 +942,8 @@ fontsize=12 <element> <id>Relation</id> <coordinates> - <x>1128</x> - <y>624</y> + <x>1112</x> + <y>696</y> <w>112</w> <h>120</h> </coordinates> @@ -951,8 +955,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>704</x> - <y>624</y> + <x>688</x> + <y>696</y> <w>176</w> <h>64</h> </coordinates> @@ -969,8 +973,8 @@ Includes : Include <element> <id>Relation</id> <coordinates> - <x>616</x> - <y>632</y> + <x>600</x> + <y>704</y> <w>104</w> <h>56</h> </coordinates> @@ -983,8 +987,8 @@ fontsize=12 <element> <id>UMLClass</id> <coordinates> - <x>392</x> - <y>104</y> + <x>376</x> + <y>176</y> <w>176</w> <h>128</h> </coordinates> @@ -1005,8 +1009,8 @@ fg=blue</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>304</x> - <y>216</y> + <x>288</x> + <y>288</y> <w>104</w> <h>56</h> </coordinates> @@ -1018,8 +1022,8 @@ fontsize=12</panel_attributes> <element> <id>Relation</id> <coordinates> - <x>304</x> - <y>104</y> + <x>288</x> + <y>176</y> <w>104</w> <h>104</h> </coordinates> @@ -1031,8 +1035,8 @@ fontsize=12</panel_attributes> <element> <id>UMLClass</id> <coordinates> - <x>400</x> - <y>536</y> + <x>384</x> + <y>608</y> <w>1000</w> <h>32</h> </coordinates> diff --git a/SDT/schema4.0/docs/images/SDT_UML_Basic_Elements.png b/SDT/schema4.0/docs/images/SDT_UML_Basic_Elements.png index 8f80abac56bc9e67db37855268b4d8f0b145569d..38fae6a92cde0f2c321e94963313494eb24dfd54 100644 Binary files a/SDT/schema4.0/docs/images/SDT_UML_Basic_Elements.png and b/SDT/schema4.0/docs/images/SDT_UML_Basic_Elements.png differ diff --git a/SDT/schema4.0/etc/domain.rnc b/SDT/schema4.0/etc/domain.rnc index 35adcaa351d8d6edbfbb410a9d4c9f9f10b1ccc4..0b1a4d113ffbf52a2dc817fea14bc32e69961ffc 100644 --- a/SDT/schema4.0/etc/domain.rnc +++ b/SDT/schema4.0/etc/domain.rnc @@ -109,6 +109,8 @@ SubDevicesRef = element SubDevice { attribute id { xsd:Name }, attribute semanticURI { xsd:anyURI }?, + attribute minOccurs { text }?, + attribute maxOccurs { text }?, DocDef, PropertiesDef?, ModuleClassesDef? @@ -120,6 +122,8 @@ ModuleClassesDef = attribute name { xsd:Name }, attribute optional { xsd:boolean }?, attribute semanticURI { xsd:anyURI }?, + attribute minOccurs { text }?, + attribute maxOccurs { text }?, DocDef, ExtendDef?, PropertiesDef?, diff --git a/SDT/schema4.0/src/domain.rng b/SDT/schema4.0/src/domain.rng index 8427bee425c123c531091bbdee7522da9cec5d28..267bc6d6841f8e1182c04f848f29416bfe4a8438 100644 --- a/SDT/schema4.0/src/domain.rng +++ b/SDT/schema4.0/src/domain.rng @@ -314,6 +314,16 @@ <data type="anyURI"/> </attribute> </optional> + <optional> + <attribute name="minOccurs"> + <text/> + </attribute> + </optional> + <optional> + <attribute name="maxOccurs"> + <text/> + </attribute> + </optional> <ref name="DocDef"/> <optional> <ref name="PropertiesDef"/> @@ -344,6 +354,16 @@ <data type="anyURI"/> </attribute> </optional> + <optional> + <attribute name="minOccurs"> + <text/> + </attribute> + </optional> + <optional> + <attribute name="maxOccurs"> + <text/> + </attribute> + </optional> <ref name="DocDef"/> <optional> <ref name="ExtendDef" /> diff --git a/SDT/schema4.0/src/domain.xsd b/SDT/schema4.0/src/domain.xsd index 3c250160f78aa12360c5f0b8623cb3d545ec164a..ff074e985bddda70c8f84e8e3fc2acf13ba00f9e 100644 --- a/SDT/schema4.0/src/domain.xsd +++ b/SDT/schema4.0/src/domain.xsd @@ -247,6 +247,8 @@ </xs:sequence> <xs:attribute name="id" use="required" type="xs:Name"/> <xs:attribute name="semanticURI" type="xs:anyURI"/> + <xs:attribute name="minOccurs"/> + <xs:attribute name="maxOccurs"/> </xs:extension> </xs:complexContent> </xs:complexType> @@ -272,6 +274,8 @@ <xs:attribute name="name" use="required" type="xs:Name"/> <xs:attribute name="optional" type="xs:boolean"/> <xs:attribute name="semanticURI" type="xs:anyURI"/> + <xs:attribute name="minOccurs"/> + <xs:attribute name="maxOccurs"/> </xs:extension> </xs:complexContent> </xs:complexType> diff --git a/SDT/schema4.0/test/min-max-occurs-test.xml b/SDT/schema4.0/test/min-max-occurs-test.xml new file mode 100644 index 0000000000000000000000000000000000000000..516ac02e4555f7e408e787e20b9e2b25ffaa238d --- /dev/null +++ b/SDT/schema4.0/test/min-max-occurs-test.xml @@ -0,0 +1,16 @@ +<?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="min-mac-occurs-test" > + <DeviceClasses> + <DeviceClass id="Test"> + <Doc>This is a test device.</Doc> + <SubDevices> + <SubDevice id="aSubDevice" minOccurs="1" maxOccurs="unbound"> + <ModuleClasses> + <ModuleClass name="aSubDeviceModuleClass" minOccurs="0" maxOccurs="10"> + </ModuleClass> + </ModuleClasses> + </SubDevice> + </SubDevices> + </DeviceClass> + </DeviceClasses> +</Domain>