# --> homonymie on peut utiliser genealogie ?
self.nomDuTypeDeBase = self.traduitType()
self.nomDuTypePyxb = self.definitNomDuTypePyxb()
-
+
# on se sert des listes ou non pour la gestion des minOccurs /maxOccurs est > 0
if self.statut =='f' : minOccurs = 0
else : minOccurs = 1
return ('XXXXXXXX')
else :
typeATraduire=self.type[0]
- if not (typeATraduire in list(dictNomsDesTypes.keys())) :
+ if not (typeATraduire in list(dictNomsDesTypes.keys())) :
if (isinstance(typeATraduire, Accas.ASSD) or issubclass(typeATraduire, Accas.ASSD)) : return 'xs:string'
else : return ('YYYYY')
return dictNomsDesTypes[typeATraduire]
self.texteSimple = ""
self.texteComplexe = ""
self.texteCata = ""
- print ('todo --> quel est le nom a mettre')
- self.texteCata = debutTypeCata.format('PNPNPNPN')
# a verifier
if self.implement == "" :
self.nomDuCodeDumpe = self.implement
if self.implement == "" :
- self.texteCata = texteDebut.format(self.nomDuCodeDumpe,self.nomDuCodeDumpe,self.nomDuCodeDumpe)
+ self.texteCata = debutTypeCata.format(self.nomDuCodeDumpe)
self.inExtension = False
else :
self.inExtension = True
-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'
+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/{}"\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">'
+texteDebutCataSpecifique='<?xml version="1.0" encoding="UTF-8"?>\n<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:{}="http://chercheurs.edf.com/logiciels/{}" xmlns="http://chercheurs.edf.com/logiciels/{}" targetNamespace="http://chercheurs.edf.com/logiciels/{}" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0">'
# SIMP
# User OR ASSD
-
-operAttributeName = '\t\t<xs:attribute name="nom" type="xs:string"/>\n'
-attributeTypeForASSD = '\t\t<xs:attribute name="acassType" type="xs:string" fixed="ASSD"/>\n'
+operAttributeName = '\t\t<xs:attribute name="name" type="xs:string"/>\n'
+attributeTypeForASSD = '\t\t<xs:attribute name="accasType" type="xs:string" fixed="ASSD"/>\n'
attributeTypeUtilisateurName = '\t\t<xs:attribute name="typeUtilisateur" type="xs:string" fixed="{}"/>\n'
#keyRefDeclaration ='\n\t<xs:keyref name="{}_Name_ref" refer="Key_Name_In_{}"> \n\t\t<xs:selector xpath="{}:{}_Name"/>\n\t\t<xs:field xpath="."/>\n\t</xs:keyref>\n'
# CATA
-debutTypeCata = '\t<xs:complexType name="{}">\n\t\t<xs:choice minOccurs="0" maxOccurs="unbounded">\n'
+debutTypeCata = '\t<xs:complexType name="T_{}">\n\t\t<xs:choice minOccurs="0" maxOccurs="unbounded">\n'
finTypeCata = '\t\t</xs:choice>\n\t</xs:complexType>\n'
finSchema = '</xs:schema>'
eltCata = '\t<xs:element name="{}" type="{}:{}"/>\n'
#type ASSD
class Mesh(ASSD): pass
#type UserASSD
-class MeshBis(UserASSD): pass
+class MeshU(UserASSD): pass
#Be careful when modidying the order/names od the test_simp since they are used bye the documentation xsd_mapping.rst
#beginJdC
Test_proc_2 = PROC(nom = 'Test_proc_2',)
Test_oper_1 = OPER(nom = 'Test_oper_1', sd_prod=Mesh,)
-#Usecase 1 : Il est possible de créer plusieurs maillages à la racine
-ConstructMesh = OPER(nom = 'ConstructMesh', sd_prod=Mesh,
- dimension = SIMP(typ='I', into=[1,2,3]),
- listOfEntities = SIMP(typ='I', max='**'),)
-#Usecase 1 : Chaque champ crée à la racine référence un maillage par son nom
-# (il faut qu'il soit crée au préalable)
+#Usecase 1a : Il est possible de créer plusieurs maillages à la racine
+ReadMesh = OPER(nom = 'ReadMesh', sd_prod=Mesh,
+ MyFile= SIMP(typ='Fichier', statut ='o'),)
+#Usecase 1abis : Le contenu de l'objet est completement déterminé par les paramètres suivants
+CreateMesh = OPER(nom = 'CreateMesh', sd_prod=Mesh,
+ meshname = SIMP(typ='TXM'),
+ dimension = SIMP(typ='I', into=[1,2,3]),
+ listOfEntities = SIMP(typ='I', max='**'),)
+#Usecase 1ater : Il est possible de créer plusieurs
+CreateBoth = OPER(nom = 'CreateBoth', sd_prod=Mesh,
+ meshname = SIMP(typ=(MeshU,'createObject')),
+ dimension = SIMP(typ='I', into=[1,2,3]),
+ listOfEntities = SIMP(typ='I', max='**'),)
+
+#Usecase 1b : Chaque champ (crée à la racine) utilise l'objet maillage précedement construit (à la racine)
+# statut='o', ??
MyField = PROC(nom='MyField',
onMesh = SIMP(statut='o',typ=Mesh),)
-#Usecase 2 : Il est possible de créer plusieurs maillages dans une me structure nommée meshes
+############################
+#Usecase 2a : Il est possible de créer plusieurs maillages dans une structure nommée meshes
+# La définition du nom du maillage dans le JDD sert de référence à un notre mesh (un objet python du type UserASSD Mesh
+# est également crée pour l'occasion (sans paramètre au constructeur) ).
+# le typ <réel> du SIMP est en fait une chaîne pour laquelle il est possible d'ajouter un validateur.
Meshes = PROC(nom = 'Meshes',
mesh = FACT(max='**',
- meshname = SIMP(typ=(MeshBis,'createObject')),
+ name = SIMP(typ=(MeshU,'createObject')),
dimension = SIMP(typ='I', into=[1,2,3]),
listOfEntities = SIMP(typ='I', max='**'),
),
)#Meshes
-# #Usecase 1 : Chaque champ crée à la racine référence un maillage par son nom
-# # (il faut qu'il soit crée au préalable)
+
+# Usecase 2b : Chaque champ crée à la racine référence un maillage par son nom
+# (il faut qu'il soit crée au préalable)
+# statut='o', ??
MyFieldBis = PROC(nom='MyFieldBis',
- onMesh = SIMP(typ=MeshBis),
+ onMesh = SIMP(statut='o',typ=MeshU),
)
-
#endJdC
+#UserASSD c'est une référence sur un objet alors qu'un ASSD c'est l'objet retourné.
#typeDeCata='XML'
catalogues=(
# ('VimmpEssai','VimmpEssai',os.path.join(repIni,'cata_Vimmp_2304.py'),'python','python'),
- ('Cata1','Cata1',os.path.join(repIni,'cata_1.py'),'xml','python'),
+ ('Test1','Test1',os.path.join(repIni,'cata_1.py'),'xml','python'),
# ('Vimmp','Vimmp',os.path.join(repIni,'cata_Vimmp.py'),'xml','python'),
# ('MD','VimmpG',os.path.join(repIni,'cata_gromacs.py'),'xml','python'),
# ('VimmpEN','VimmpEN',os.path.join(repIni,'cata_en.py'),'python','python'),