]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Pour accepter Consigne en XSD et pour ajout nomXML dans le catalogue
authorpascale.noyret <pascale.noyret@edf.fr>
Mon, 6 May 2019 14:00:48 +0000 (16:00 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Mon, 6 May 2019 14:00:48 +0000 (16:00 +0200)
Efi2Xsd/AccasXsd.py
Efi2Xsd/MCAccasXsd.py
Efi2Xsd/balises.py
InterfaceQT4/readercata.py
Noyau/N_SIMP.py

index 9be8b2a5ad8125c5cfd4f543c69bee44bda31f00..e2ea8b00ba3191389221daad2e34c19853fafb99 100755 (executable)
@@ -50,6 +50,7 @@ class X_definition:
        self.aCreer = True
        cata = CONTEXT.getCurrentCata() 
        nom='T_'+self.nom
+       if (hasattr (self, 'nomXML')) and self.nomXML != None : nom='T_'+self.nomXML
        if not (nom in cata.dictTypesXSD.keys()) :
           cata.dictTypesXSD[nom] = [self,]
           return nom
@@ -64,6 +65,7 @@ class X_definition:
        self.aCreer = True
        cata.dictTypesXSD[nom].append(self)
        nomAlter='T_'+self.nom+'_'+str(indice)
+       if (hasattr (self, 'nomXML')) and self.nomXML != None : nomAlter='T_'+self.nomXML+'_'+str(indice)
        return nomAlter
 
   # def existeDeja(self,nom):
@@ -229,18 +231,20 @@ class X_SIMP (X_definition):
        else :                minOccurs = 1
        # le defaut est dans l elt Name -> tester la coherence d existence avec Accas
        # regles Accas
+       if (hasattr (self, 'nomXML')) and self.nomXML != None : nomUtil=self.nomXML
+       else : nomUtil = self.nom
        if self.defaut : 
           if self.max > 1 or self.max == '**' or self.max ==  float('inf') : 
              # a revoir pour les tuples avec defaut
              txtDefaut=""
              for val in self.defaut : txtDefaut+=str(val) +" "
-             self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut)
+             self.texteElt = eltWithDefautDsSequence.format(nomUtil,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut)
           else :
              if str(self.defaut) == 'True' : txtDefaut = 'true'
              else : txtDefaut = str(self.defaut)
-             self.texteElt = eltWithDefautDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut)
+             self.texteElt = eltWithDefautDsSequence.format(nomUtil,self.code,self.nomDuTypePyxb,minOccurs,1,txtDefaut)
 
-       else : self.texteElt = eltDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1)
+       else : self.texteElt = eltDsSequence.format(nomUtil,self.code,self.nomDuTypePyxb,minOccurs,1)
     
        # self.aCreer est mis a jour ds definitNomDuTypePyxb
        if not self.aCreer : return
@@ -339,7 +343,7 @@ class X_JDC_CATA :
         self.texteCata  += finTypeCata
         self.texteElt  = eltCata.format(self.code,self.code, self.nomDuTypePyxb)
 
-        self.texteXSD  = texteDebut.format(self.code,self.code,self.code)
+        self.texteXSD  = texteDebut.format(self.code,self.code,self.code,self.code)
         #self.texteXSD += textDeclaration
         self.texteXSD += self.texteSimple
         self.texteXSD += self.texteCata
index 68196c2590bcaddff3ca7657ae67ce5d2742ac20..8a811b01584d23e03075b28530f9ad0170f8fdb8 100755 (executable)
@@ -157,6 +157,7 @@ class X_MCSIMP(X_OBJECT):
       #print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur)
       #print ('objPyxbDeConstruction', self.objPyxbDeConstruction)
       #if self.objPyxbDeConstruction == None : print (self.nom, ' pas de pyxb')
+      if self.nom == 'Consigne' : return None
       if self.objPyxbDeConstruction != None :
         self.objPyxb = self.objPyxbDeConstruction
         self.objPyxb.objAccas=self
@@ -217,6 +218,7 @@ class X_MCSIMP(X_OBJECT):
       
    def addObjPyxb(self, indiceDsLeContenu):
       if not self.cata.modeleMetier : return
+      if self.nom == 'Consigne'     : return None
       print ('addObjPyxb : ajout de ', self.nom, 'en ', indiceDsLeContenu)
 
       # adherence Accas sur le parent
@@ -312,6 +314,7 @@ class X_MCCOMPO(X_OBJECT) :
                self.listArg.append(objFils.objPyxb)
                print (fils.nom ,' est un MC ds un MCLIST et a pour pere Pyxb', self, self.nom)
         else :
+           if fils.nom == "Consigne" : continue
            self.listArg.append(fils.objPyxb)
            fils.perePyxb=self
            #print (fils.nom ,' est un SIMP a pour pere Pyxb', self, self.nom)
@@ -444,6 +447,7 @@ class X_JDC (X_MCCOMPO):
       #   print(e.details())
 
    def toXml(self,fichier=None):
+      print ('ds to XML')
       if not self.cata.modeleMetier : return
       print ('***************',self.objPyxb,'***************',)
       print ('***************',self,'***************',)
index 6209540f89b0e12cdbd7fcd3c29ccbe4b79d24ea..1fd572f4f8c837a32398018c3c4adb2fa3b09cda 100644 (file)
@@ -1,5 +1,4 @@
-#texteDebut='<?xml version="1.0" encoding="UTF-8"?>\n<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\nxmlns="http://chercheurs.edf.com/logiciels/Vimmp"\nxmlns:{}="http://chercheurs.edf.com/logiciels/{}" xmlns:spc="http://chercheurs.edf.com/logiciels/VimmpSpec" targetNamespace="http://chercheurs.edf.com/logiciels/Vimmp" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0">\n'
-texteDebut='<?xml version="1.0" encoding="UTF-8"?>\n<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\nxmlns="http://chercheurs.edf.com/logiciels/Vimmp"\nxmlns:{}="http://chercheurs.edf.com/logiciels/{}"\ntargetNamespace="http://chercheurs.edf.com/logiciels/Vimmp"\nelementFormDefault="qualified" attributeFormDefault="unqualified" version="0">\n'
+texteDebut='<?xml version="1.0" encoding="UTF-8"?>\n<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\nxmlns="http://chercheurs.edf.com/logiciels/Vimmp"\nxmlns:{}="http://chercheurs.edf.com/logiciels/{}"\ntargetNamespace="http://chercheurs.edf.com/logiciels/{}"\nelementFormDefault="qualified" attributeFormDefault="unqualified" version="0">\n'
 texteFin='</xs:schema>'
 texteDebutCataSpecifique='<?xml version="1.0" encoding="UTF-8"?>\n<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:VimmpSpec="http://chercheurs.edf.com/logiciels/VimmpSpec" xmlns="http://chercheurs.edf.com/logiciels/VimmpSpec"  targetNamespace="http://chercheurs.edf.com/logiciels/VimmpSpec" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0">'
 
index e104a64d78099f4572ba8f4d596d87f8dea9598e..37c431242828f679a9e9f761a57862a48ba45126 100644 (file)
@@ -278,7 +278,6 @@ class ReaderCata (ReaderCataCommun):
       if 'cata_Vimmp' in list(sys.modules.keys()) :
           del sys.modules['cata_Vimmp']
 
-      print (list(sys.modules.keys()))
       if nom_cata in list(sys.modules.keys()) :
         del sys.modules[nom_cata]
 
index a13b4178fa1936dbd8bcc8c41ce32db9b6d96420..a9bcfc6ffc991b403862d9fb80d9d9fbf0089280 100644 (file)
@@ -49,7 +49,7 @@ class SIMP(N_ENTITE.ENTITE):
 
     def __init__(self, typ,ang="", fr="", statut='f', into=None, intoSug = None,siValide = None, defaut=None,
                  min=1, max=1, homo=1, position='local',
-                 val_min=float('-inf'), val_max=float('inf'), docu="", validators=None,
+                 val_min=float('-inf'), val_max=float('inf'), docu="", validators=None, nomXML=None,
                  sug=None,fenetreIhm=None, attribut=False, creeDesObjetsDeType = None):
         """
             Un mot-clé simple est caractérisé par les attributs suivants :
@@ -71,6 +71,7 @@ class SIMP(N_ENTITE.ENTITE):
             - fenetreIhm : si widget particulier
             - attribut : si projection XSD sur attribut
             - creeDesObjetsDeType : type des UserASSD si siValide en cree
+            - nomXML   : se projette en XSD avec un autre nom pour accepter les tirets
         """
         #print (self)
         #import traceback
@@ -110,6 +111,7 @@ class SIMP(N_ENTITE.ENTITE):
         self.fenetreIhm=fenetreIhm
         self.attribut = attribut
         self.creeDesObjetsDeType = creeDesObjetsDeType
+        self.nomXML = nomXML
 
     def verifCata(self):
         """