From 744494318dc3b7843e1bc69a8e06acc1aa573df4 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Wed, 11 Dec 2019 09:52:58 +0100 Subject: [PATCH] keyref pour les ASSD et les UserASSD --- Efi2Xsd/AccasXsd.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Efi2Xsd/AccasXsd.py b/Efi2Xsd/AccasXsd.py index 2262ee79..ac7b084e 100755 --- a/Efi2Xsd/AccasXsd.py +++ b/Efi2Xsd/AccasXsd.py @@ -46,16 +46,14 @@ class X_definition: textePath='./'+ self.code + ":" + textePath return textePath - #def genealogie(self,n): - # texte=self.nom - # obj=self - # j=1 - # while ( hasattr(obj,'pere') ): - # texte=obj.pere.nom+'_'+texte - # obj=obj.pere - # j=j+1 - # if j > n : return (True, 'T_'+texte) - # return (False, 'T_'+texte) + def getNomCompletAvecBloc(self): + obj=self + texteNom=self.nom + while ( hasattr(obj,'pere') ): + texteNom=obj.pere.nom+'_'+texteNom + obj=obj.pere + return texteNom + def definitNomDuTypePyxb(self): self.aCreer = True @@ -397,7 +395,9 @@ class X_JDC_CATA : self.texteXSD += self.texteCata self.texteXSD += self.texteElt + toutesLesKeys=set() texteKeyRef = "" + # Pour le nom des key_ref en creation : le type ( une seule key-ref par type. facile a retrouver) for clef in self.dictTypesASSDorUserASSDCrees: print ('---- En creation', clef, '__________________') existeASSD=0 @@ -411,22 +411,22 @@ class X_JDC_CATA : existeunUserASSD=0 for unSimp in self.dictTypesASSDorUserASSDCrees[clef]: if not (isinstance(unSimp, Accas.SIMP)) : continue - texteDesUserASSD +="\n\t\t\n\t\t"+texteDesUserASSD - else: texteDesFields = texteDesUserASSD[19:] + if existeASSD : texteDesFields = texteDesFields + texteDesUserASSD[0:-2] +"/>\n\t\t" + else: texteDesFields = texteDesUserASSD[0:-2] #print (texteDesUserASSD) #print (texteDesFields) if texteDesFields != "" : - #print (texteDesFields) texteKeyRef += producingASSDkeyRefDeclaration.format( clef ,texteDesFields) + # Pour le nom des key-ref en utilisation : la genealogie complete ( une key-ref par utilisation et on retrouve facilement la ) for clef in self.dictTypesASSDorUserASSDUtilises: for unSimp in self.dictTypesASSDorUserASSDUtilises[clef]: # il faut la genealogie - texteKeyRef += UsingASSDkeyRefDeclaration.format(unSimp.nom, unSimp.type[0].__name__,self.code, unSimp.type[0].__name__,unSimp.getXPath() ) + texteKeyRef += UsingASSDkeyRefDeclaration.format(unSimp.getNomCompletAvecBloc(), unSimp.type[0].__name__,self.code, unSimp.type[0].__name__,unSimp.getXPath() ) if texteKeyRef != '' : self.texteXSD = self.texteXSD[0:-3]+'>\n' -- 2.39.2