]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
qls modifs
authorEric Fayolle <eric.fayolle@edf.fr>
Tue, 26 Nov 2019 17:54:37 +0000 (18:54 +0100)
committerEric Fayolle <eric.fayolle@edf.fr>
Tue, 26 Nov 2019 17:54:37 +0000 (18:54 +0100)
Efi2Xsd/AccasXsd.py
Efi2Xsd/balisesXSD.py
Tests/MappingAccasXsd/cata_1.py
Tests/MappingAccasXsd/prefs_Test.py

index 0a4161e5f1e21eeec232ef46feeef4c3ecb89177..fd66a79832c46e1eadd36f1417c17811d4774f97 100755 (executable)
@@ -227,7 +227,7 @@ class X_SIMP (X_definition):
        #  --> 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
@@ -294,7 +294,7 @@ class X_SIMP (X_definition):
              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]
@@ -334,8 +334,6 @@ class X_JDC_CATA :
         self.texteSimple   = ""
         self.texteComplexe = ""
         self.texteCata     = ""
-        print ('todo --> quel est le nom a mettre')
-        self.texteCata     = debutTypeCata.format('PNPNPNPN')
 
         # a verifier
         if self.implement == "" :
@@ -344,7 +342,7 @@ class X_JDC_CATA :
            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
index 5e8545ca5d3aca62c77c9806a247999e87b1904b..8a300646fd7b245402c23e9b7a75c4257f185cc4 100644 (file)
@@ -1,6 +1,6 @@
-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
 
@@ -37,14 +37,13 @@ substDsSequence = '\t\t\t<xs:group ref="{}:{}"  minOccurs="{}" maxOccurs="{}"/>\
 
 
 # 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'
index 8e43daf4cdb7b821b486aeec2325ae057a499cdc..06a94f7162227ca44ce54409ce1d32fca266f057 100644 (file)
@@ -13,7 +13,7 @@ class User_Data(UserASSD): pass
 #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
@@ -55,29 +55,45 @@ Test_proc_1 = PROC(nom = 'Test_proc_1',
 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é.
index ef68e065eb8d10610b35636f02b840ba910f5845..6b05827f32ac128ba8800d6508b02b5815cf24ae 100644 (file)
@@ -37,7 +37,7 @@ encoding='iso-8859-1'
 #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'),