diff --git a/SDT/schema4.0/docs/SDT_UML.uxf b/SDT/schema4.0/docs/SDT_UML.uxf index 0900afc744e8704888d7a1fbdeeb8615fa9ef2f3..e4ad21952306f53a6097db4a91faecd0b5171dbd 100644 --- a/SDT/schema4.0/docs/SDT_UML.uxf +++ b/SDT/schema4.0/docs/SDT_UML.uxf @@ -381,7 +381,7 @@ fontsize=12</panel_attributes> <x>72</x> <y>192</y> <w>184</w> - <h>128</h> + <h>144</h> </coordinates> <panel_attributes>Domain -- @@ -390,6 +390,7 @@ fontsize=12</panel_attributes> /- Doc : Doc/ /* Imports/ /* DataTypes : DataType/ +/* SubDevices : SubDevice/ /* ModuleClasses : ModuleClass/ /* DeviceClasses : DeviceClass/ /* ProductClasses : ProductClass/ @@ -415,7 +416,7 @@ fontsize=12</panel_attributes> <x>336</x> <y>440</y> <w>176</w> - <h>120</h> + <h>128</h> </coordinates> <panel_attributes>SubDevice -- @@ -424,6 +425,7 @@ fontsize=12</panel_attributes> /@ minOccurs : text = "1"/ /@ maxOccurs : text = "1"/ /- Doc : Doc/ +/- Extend : Extend/ /* Properties : Property/ /* ModuleClasses : ModuleClass/ fg=blue</panel_attributes> @@ -1009,14 +1011,14 @@ fg=blue</panel_attributes> <id>Relation</id> <coordinates> <x>248</x> - <y>304</y> + <y>288</y> <w>104</w> - <h>56</h> + <h>72</h> </coordinates> <panel_attributes>lt=<. m1=0..n fontsize=12</panel_attributes> - <additional_attributes>110.0;40.0;60.0;40.0;60.0;10.0;10.0;10.0</additional_attributes> + <additional_attributes>110.0;60.0;60.0;60.0;60.0;10.0;10.0;10.0</additional_attributes> </element> <element> <id>Relation</id> @@ -1046,4 +1048,17 @@ bg=gray lw=0.1</panel_attributes> <additional_attributes/> </element> + <element> + <id>Relation</id> + <coordinates> + <x>248</x> + <y>304</y> + <w>104</w> + <h>168</h> + </coordinates> + <panel_attributes>lt=<. +m1=0..n +fontsize=12</panel_attributes> + <additional_attributes>110.0;180.0;50.0;180.0;50.0;10.0;10.0;10.0</additional_attributes> + </element> </diagram> diff --git a/SDT/schema4.0/docs/images/Domain.png b/SDT/schema4.0/docs/images/Domain.png index afcbcde446a7b70da3efa2928ac7644b3b3a3f23..b91f91268c0924e622941514c68b3bcef2a528ad 100644 Binary files a/SDT/schema4.0/docs/images/Domain.png and b/SDT/schema4.0/docs/images/Domain.png differ 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 a740368c3ee9a099a579d3328106a3af3ee1585e..7309c2dfbbf0410d77759353279510caf6cd5614 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/docs/images/SubDevice.png b/SDT/schema4.0/docs/images/SubDevice.png index 64a96571eba1c451d3b4e14e1f5be697ffc82cbb..4f01a1d618169e27956c1fd2028c55ee690b9e5d 100644 Binary files a/SDT/schema4.0/docs/images/SubDevice.png and b/SDT/schema4.0/docs/images/SubDevice.png differ diff --git a/SDT/schema4.0/etc/domain.rnc b/SDT/schema4.0/etc/domain.rnc index e09e19f5ad58bab8d7fa99ed67c1af6fcce27702..21a15f726dbc14fe14a5efea82d4efe8a3548537 100644 --- a/SDT/schema4.0/etc/domain.rnc +++ b/SDT/schema4.0/etc/domain.rnc @@ -17,6 +17,7 @@ Domain = element Imports { Domain+ }?, element DataTypes { DataTypeDef+ }?, ModuleClassesDef?, + SubDevicesRef?, DeviceClassesDef?, ProductClassesDef? } @@ -112,6 +113,7 @@ SubDevicesRef = attribute minOccurs { text }?, attribute maxOccurs { text }?, DocDef, + ExtendDef?, PropertiesDef?, ModuleClassesDef? }+ diff --git a/SDT/schema4.0/src/domain.rng b/SDT/schema4.0/src/domain.rng index 9ba0f59bfd9e6d6f99112f596392f88b080c2124..e5cb20bfca88c90e4a4bd223c48bbb05b7dde87a 100644 --- a/SDT/schema4.0/src/domain.rng +++ b/SDT/schema4.0/src/domain.rng @@ -51,6 +51,9 @@ <optional> <ref name="ModuleClassesDef"/> </optional> + <optional> + <ref name="SubDevicesRef" /> + </optional> <optional> <ref name="DeviceClassesDef" /> </optional> @@ -325,6 +328,9 @@ </attribute> </optional> <ref name="DocDef"/> + <optional> + <ref name="ExtendDef" /> + </optional> <optional> <ref name="PropertiesDef"/> </optional> diff --git a/SDT/schema4.0/src/domain.xsd b/SDT/schema4.0/src/domain.xsd index e3e8fad40dedfcb3747ec039d9118bd05a68b827..a43dbde64a3de638f3826a2f1b62955407cb9acd 100644 --- a/SDT/schema4.0/src/domain.xsd +++ b/SDT/schema4.0/src/domain.xsd @@ -23,6 +23,7 @@ <xs:element minOccurs="0" ref="Imports"/> <xs:element minOccurs="0" ref="DataTypes"/> <xs:element minOccurs="0" ref="ModuleClasses"/> + <xs:element minOccurs="0" ref="SubDevices"/> <xs:element minOccurs="0" ref="DeviceClasses"/> <xs:element minOccurs="0" ref="ProductClasses"/> </xs:sequence> @@ -242,6 +243,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:sequence> diff --git a/SDT/schema4.0/test/subdevices-test.xml b/SDT/schema4.0/test/subdevices-test.xml new file mode 100644 index 0000000000000000000000000000000000000000..1cf88dcae083a1108b56dadd67138f796384dce1 --- /dev/null +++ b/SDT/schema4.0/test/subdevices-test.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Test the data types references --> + +<Domain id="subdevices-test" xmlns="http://www.onem2m.org/xml/sdt/4.0" xmlns:xi="http://www.w3.org/2001/XInclude"> + <SubDevices> + <SubDevice id="aSubDevice"> + <ModuleClasses> + <ModuleClass name="aModuleClass"> + <Data> + <DataPoint name="aDataPoint"> + <DataType> + <SimpleType type="boolean" /> + </DataType> + </DataPoint> + </Data> + </ModuleClass> + </ModuleClasses> + </SubDevice> + </SubDevices> + + <DeviceClasses> + <DeviceClass id="aDeviceClass"> + <SubDevices> + <SubDevice id="subDevice"> + <Extend domain="subdevices-test" entity="aSubDevice" /> + </SubDevice> + </SubDevices> + </DeviceClass> + </DeviceClasses> +</Domain> \ No newline at end of file