]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
ajout des userASSD dans le XSD
authorPASCALE NOYRET <A96028@dsp0887683.atlas.edf.fr>
Tue, 13 Oct 2020 15:16:48 +0000 (17:16 +0200)
committerPASCALE NOYRET <A96028@dsp0887683.atlas.edf.fr>
Tue, 13 Oct 2020 15:16:48 +0000 (17:16 +0200)
Efi2Xsd/AccasXsd.py
Efi2Xsd/balisesXSD.py

index 9c3a91b6f905d9ded7c7a3626ded92a07bf3cadb..02db1d1381691e3bcf1e9a4ce12cbf2070f1e701 100755 (executable)
@@ -672,7 +672,7 @@ class X_OPER (X_definitionComposee):
    def dumpXsd(self, dansFactorisation=False, multiple = False, first=False):
        X_definitionComposee.dumpXsd(self,dansFactorisation)
        self.texteComplexe += finTypeCompoSeq
-       self.texteComplexe += operAttributeName
+       self.texteComplexe += attributeNameName
        self.texteComplexe += attributeTypeForASSD
        self.texteComplexe += attributeTypeUtilisateurName.format(self.sd_prod.__name__)
        self.texteComplexe += finTypeCompoEtape
@@ -802,6 +802,17 @@ class X_SIMP (X_definition):
           else : self.texteElt = eltDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1)
        elif first: 
           self.texteElt = eltDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,1,1)
+
+       typeATraduire=self.type[0]
+       if (isinstance(typeATraduire, Accas.UserASSD) or issubclass(typeATraduire, Accas.UserASSD)) : 
+           nomType = self.type[0].__name__
+           self.texteElt = self.texteElt[:-3]+">\n"
+           self.texteElt += "\t"+attributeNameName
+           if len(self.type) == 2 and self.type[1]=='createObject' : self.texteElt += attributeTypeForUserASSDCreation
+           else : self.texteElt += attributeTypeForUserASSDConsommation
+           self.texteElt += "\t"+attributeTypeUtilisateurName.format(nomType)
+           self.texteElt += finTexteElt 
+
     
        # self.aCreer est mis a jour ds definitNomDuTypePyxb
        # ou si elt est le 1er d une liste identique
index f745302abebf6ec57b252f9cbd689f031dbbf9e6..f2d07d9af94c96ebdb3993195526c2db147876f2 100644 (file)
@@ -66,10 +66,13 @@ finUnion          = '\t\t\t</xs:union>\n'
 
 
 # User OR ASSD
-operAttributeName    = '\t\t<xs:attribute name="name" type="xs:string"/>\n'
+attributeNameName    = '\t\t<xs:attribute name="name" type="xs:string"/>\n'
 attributeTypeForASSD = '\t\t<xs:attribute name="accasType" type="xs:string" fixed="ASSD"/>\n'
+attributeTypeForUserASSDCreation     = '\t\t\t<xs:attribute name="accasType" type="xs:string" fixed="UserASSDCreation"/>\n'
+attributeTypeForUserASSDConsommation = '\t\t\t<xs:attribute name="accasType" type="xs:string" fixed="UserASSDConsommation"/>\n'
 attributeTypeUtilisateurName = '\t\t<xs:attribute name="typeUtilisateur" type="xs:string" fixed="{}"/>\n'
 producingASSDkeyRefDeclaration='\t<xs:key name="Key_Name_For_{}">\n\t\t<xs:selector xpath="."/>\n\t\t<xs:field xpath="{}"/>\n\t</xs:key>\n'
+finTexteElt = '\t\t\t</xs:element>\n'
 texteFieldUnitaire="./{}:{}/@name |"
 
 # CATA