From afed9df7de15d4aa546226ace4321b652d29c415 Mon Sep 17 00:00:00 2001 From: aschwinn <al.schwinn@gsi.de> Date: Mon, 29 May 2017 15:56:17 +0200 Subject: [PATCH] Bug 1381 - Add control on naming of FESA generated RT/Server-Actions - creation of "BlockType" to simplify XSD --- silecs-model/src/xml/DesignSchema.xsd | 102 +++++++++++++------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/silecs-model/src/xml/DesignSchema.xsd b/silecs-model/src/xml/DesignSchema.xsd index 6587643..6e53ecd 100644 --- a/silecs-model/src/xml/DesignSchema.xsd +++ b/silecs-model/src/xml/DesignSchema.xsd @@ -90,57 +90,9 @@ along with this program. If not, see http://www.gnu.org/licenses/.--> </xs:appinfo> </xs:annotation> <xs:complexType> - <xs:sequence> - <xs:element name="Description" type="xs:string" minOccurs="0"/> - <xs:element name="Block" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Description" type="xs:string" minOccurs="0"/> - <xs:element name="Register" type="RegisterType" maxOccurs="unbounded"> - <xs:annotation> - <xs:appinfo> - <doc> - The Register is the elementary component of the SILECS data model. - <br>Each variable has a unique name in the scope of the class (including all blocks). - </doc> - </xs:appinfo> - </xs:annotation> - </xs:element> - </xs:sequence> - <xs:attribute name="name" type="BlockNameType" use="required"> - <xs:annotation> - <xs:appinfo> - Defines the name of the block that must be unique in all the class. - Must not exceed 12 characters. - </xs:appinfo> - </xs:annotation> - </xs:attribute> - <xs:attribute name="mode" use="required"> - <xs:annotation> - <xs:documentation>Defines the access-mode of the block and finally of its related variables.</xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:enumeration value="READ-ONLY"/> - <xs:enumeration value="WRITE-ONLY"/> - <xs:enumeration value="READ-WRITE"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="generateFesaProperty" type="xs:boolean" use="required"> - <xs:annotation> - <xs:appinfo> - Defines if the code-generation will generate a FESA-Property and the related Actions/Events/etc for this block - </xs:appinfo> - </xs:annotation> - </xs:attribute> - <xs:attribute name="fesaPropertyName" type="BlockNameType" use="optional"> - <xs:annotation> - <xs:appinfo>Defines the name of the generated Fesa-Property. If not set, the Blockname will be used.</xs:appinfo> - </xs:annotation> - </xs:attribute> - </xs:complexType> - </xs:element> + <xs:sequence> + <xs:element name="Description" type="xs:string" minOccurs="0"/> + <xs:element name="Block" type="BlockType" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="SilecsClassNameType" use="required"/> <xs:attribute name="version" type="VersionType" use="required"/> @@ -180,6 +132,54 @@ along with this program. If not, see http://www.gnu.org/licenses/.--> </xs:complexType> </xs:element> +<xs:complexType name="BlockType"> + <xs:sequence> + <xs:element name="Description" type="xs:string" minOccurs="0"/> + <xs:element name="Register" type="RegisterType" maxOccurs="unbounded"> + <xs:annotation> + <xs:appinfo> + <doc> + The Register is the elementary component of the SILECS data model. + <br>Each variable has a unique name in the scope of the class (including all blocks). + </doc> + </xs:appinfo> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="name" type="BlockNameType" use="required"> + <xs:annotation> + <xs:appinfo> + Defines the name of the block that must be unique in all the class. + Must not exceed 12 characters. + </xs:appinfo> + </xs:annotation> + </xs:attribute> + <xs:attribute name="mode" use="required"> + <xs:annotation> + <xs:documentation>Defines the access-mode of the block and finally of its related variables.</xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="READ-ONLY"/> + <xs:enumeration value="WRITE-ONLY"/> + <xs:enumeration value="READ-WRITE"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="generateFesaProperty" type="xs:boolean" use="required"> + <xs:annotation> + <xs:appinfo> + Defines if the code-generation will generate a FESA-Property and the related Actions/Events/etc for this block + </xs:appinfo> + </xs:annotation> + </xs:attribute> + <xs:attribute name="fesaPropertyName" type="BlockNameType" use="optional"> + <xs:annotation> + <xs:appinfo>Defines the name of the generated Fesa-Property. If not set, the Blockname will be used.</xs:appinfo> + </xs:annotation> + </xs:attribute> +</xs:complexType> + <xs:complexType name="RegisterType"> <xs:sequence> <xs:element name="Description" type="xs:string" minOccurs="0"/> -- GitLab