def definitNomDuTypePyxb(self,forceACreer=False):
+ try : print ('appel de definitNomDuTypePyxb', self.nom )
+ except : pass
self.aCreer = True
cata = CONTEXT.getCurrentCata()
nom='T_'+self.nom
indice=0
while (indice < len(listePossible)) :
objAComparer=listePossible[indice]
- #print ('je compare', self.nom, 'avec', objAComparer.nom )
- #print (self.compare(objAComparer) )
if self.compare(objAComparer) : return objAComparer.nomDuTypePyxb
indice += 1
self.aCreer = True
if self.nom == 'SimpK' : print (cata.dictTypesXSD)
nomAlter='T_'+self.nom+'_'+str(indice)
if (hasattr (self, 'nomXML')) and self.nomXML != None : nomAlter='T_'+self.nomXML+'_'+str(indice)
- traceback.print_stack()
+ #traceback.print_stack()
return nomAlter
def ajouteAuxTextes(self,nomMC,indent) :
+ print ('ajouteAuxTextes', nomMC)
if (indent > 3) : indent = indent - 3
else : indent = 0
if len(self.entites[nomMC]) == 1:
exit()
- print (self.entites[nomMC][0])
+ # cette boucle ne fonctionne que pour des SIMP
resteATraiter=copy(self.entites[nomMC])
+ print ('________resteATraiter', resteATraiter)
listePourUnion=[]
first=1
while resteATraiter != [] :
nvlListeATraiter=[]
mc=resteATraiter[0]
- mc.dumpXsd(dansFactorisation=True,multiple=True,first=first)
- first=first * 0
listePourUnion.append(mc)
for autre in resteATraiter[1:]:
if not (mc.compare(autre)) : nvlListeATraiter.append(autre)
resteATraiter=copy(nvlListeATraiter)
+ print ('listePourUnion', listePourUnion)
# on ajoute le nom de l element
+ self.entites[nomMC][0].dumpXsd(dansFactorisation=True,multiple=True,first=first)
self.texteComplexe += '\t'*(indent) + self.entites[nomMC][0].texteElt
texteSimpleUnion=debutSimpleType.format(self.entites[nomMC][0].nomDuTypePyxb)
texteSimpleUnion+=debutUnion
if len(listePourUnion) == 1 :
+ mc=self.entites[nomMC][0]
+ mc.dumpXsd(dansFactorisation=True,multiple=True,first=first)
self.texteComplexeVenantDesFils += mc.texteComplexe
self.texteSimple += mc.texteSimple
else :
- self.texteComplexeVenantDesFils += mc.texteComplexe
for e in listePourUnion :
+ e.dumpXsd(dansFactorisation=True,multiple=True,first=first)
+ self.texteComplexeVenantDesFils += e.texteComplexe
+ first=first * 0
texteSimpleUnion += '\t'+e.texteSimple
texteSimpleUnion += finUnion
texteSimpleUnion+=fermeSimpleType
class X_SIMP (X_definition):
#--------------------------------
def dumpXsd(self, dansFactorisation=False, multiple = False, first=False):
- #print ('_______________' , '*******************', 'je passe la dans dumpXsd SIMP', self.nom, multiple, first)
+ print ('_______________' , '*******************', 'je passe la dans dumpXsd SIMP', self.nom, multiple, first)
if PourTraduction : print (self.nom)
self.prepareDumpXSD()
if multiple : self.inUnion=True
# --> homonymie on peut utiliser genealogie ?
self.nomDuTypeDeBase = self.traduitType()
if not multiple :
+ print ('not multiple')
self.nomDuTypePyxb = self.definitNomDuTypePyxb()
- self.aCreer = True
+ print (self.nomDuTypePyxb)
elif first :
+ print ('but first')
self.nomDuTypePyxb = self.definitNomDuTypePyxb(forceACreer=1)
self.aCreer = True
+ print (self.nomDuTypePyxb)
+ else : print ('multiple and not first', self.aCreer)
+ print ('___________________________')
+
# on se sert des listes ou non pour la gestion des minOccurs /maxOccurs est > 0
if self.val_min != float('-inf') : self.texteSimple += "\t\t\t\t"+minInclusiveBorne.format(self.val_min)
if self.val_max != float('inf') and self.val_max != '**' : self.texteSimple +="\t\t\t\t"+ maxInclusiveBorne.format(self.val_max)
if self.into != None:
- # PN --> traduction des ontp
+ # PN --> traduction des into
into=self.into
if self.intoXML != None : into = self.intoXML
for val in into : self.texteSimple += "\t\t\t\t"+enumeration.format(val)