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
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):
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
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
#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
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
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)
# print(e.details())
def toXml(self,fichier=None):
+ print ('ds to XML')
if not self.cata.modeleMetier : return
print ('***************',self.objPyxb,'***************',)
print ('***************',self,'***************',)
-#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">'
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]
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 :
- 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
self.fenetreIhm=fenetreIhm
self.attribut = attribut
self.creeDesObjetsDeType = creeDesObjetsDeType
+ self.nomXML = nomXML
def verifCata(self):
"""