objAComparer=listePossible[indice]
if self.compare(objAComparer) :
self.nomDuTypePyxb=objAComparer.nomDuTypePyxb
+ if self.nom=='FactE' : print (2,self.aCreer)
return objAComparer.nomDuTypePyxb
indice += 1
self.aCreer = True
#print ('self.mcXSD',self.mcXSD)
self.texteComplexe += finTypeSubstDsBlocFactorise
self.texteComplexe +=self.texteComplexeVenantDesFils
- self.texteComplexe=self.texteComplexe+self.texteComplexeVenantDesFils
+ #self.texteComplexe=self.texteComplexe+self.texteComplexeVenantDesFils
#print ('fin pour prepareDumpXSD pour', self.nom)
def compare(self,autreMC):
# on ne fait rien, tout a ete fait dans le init
self.texteElt=substDsSequence.format(self.code,self.nomDuTypePyxb,0,1)
- #def nomComplet(self) :
- # print ('dans nomComplet pourquoi ?',self, self.nom)
+ def nomComplet(self) :
+ print ('dans nomComplet pourquoi ?',self, self.nom)
- def factoriseEtCreeDump(self, laListe, indent=2 ,nomAppel=None, debug=False):
+ def factoriseEtCreeDump(self, laListe, indent=2 ,nomAppel=None, debug=True):
if debug : print ('_______________________________ factoriseEtCreeDump')
if debug : print(self.nom, laListe, indent, nomAppel)
maListeRetour=[]
creeChoice=True
creeSequence=False
+ #print (aReduire)
for nomMC in aReduire.keys():
listeSuivante=aReduire[nomMC]
if creeChoice and listeSuivante != [[]] :
self.texteComplexe += '\t'*(indent) + debSequenceDsBloc; indent=indent+1
self.ajouteAuxTextes(nomMC,indent)
if listeSuivante == [[]] : continue # Est-ce toujours vrai ?
- if len(listeSuivante) == 1 : self.ajouteAuxTextes(listeSuivante[0],indent)
+ if len(listeSuivante) == 1 : print (listeSuivante[0]) ;self.ajouteAuxTextes(listeSuivante[0],indent)
else : self.factoriseEtCreeDump(listeSuivante, indent+int(creeSequence),nomMC)
if creeChoice : indent=indent -1 ; self.texteComplexe += '\t'*(indent) + finSequenceDsBloc
def ajouteAuxTextes(self,nomMC,indent) :
+ #if nomMC =='FactE' :
+ # import traceback
+ # traceback.print_stack()
#print ('ajouteAuxTextes', nomMC, self.nom, self.entites)
+ if nomMC =='B' :print ('ajouteAuxTextes', nomMC, self.nom)
#for i in self.entites.keys() : print (self.entites[i][0].nom)
if (indent > 3) : indent = indent - 3
else : indent = 0
print ('Projection XSD impossible, changez un des ', nomMC)
exit()
-
# cette boucle ne fonctionne que pour des SIMP
resteATraiter=copy(self.entites[nomMC])
#print ('________resteATraiter', resteATraiter)
self.nomDuTypeDeBase = self.traduitType()
if not multiple :
self.nomDuTypePyxb = self.definitNomDuTypePyxb()
- if first : self.aCreer = True
+ #if first : self.aCreer = True
elif first :
self.nomDuTypePyxb = self.definitNomDuTypePyxb(forceACreer=1)
- self.aCreer = True
+ #self.aCreer = True
#else : print ('multiple and not first', self.aCreer)