]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
essai de fact xml avec maxOccurs=4
authorpascale.noyret <pascale.noyret@edf.fr>
Wed, 30 May 2018 13:31:56 +0000 (15:31 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Wed, 30 May 2018 13:31:56 +0000 (15:31 +0200)
20 files changed:
Accas/A_BLOC.py
Accas/A_ETAPE.py
Accas/A_FACT.py
Accas/A_JDC.py
Accas/A_JDC_CATA.py
Accas/A_MACRO_ETAPE.py
Accas/A_MCBLOC.py
Accas/A_MCFACT.py
Accas/A_MCLIST.py
Accas/A_MCSIMP.py
Accas/A_OPER.py
Accas/A_PROC.py
Accas/A_PROC_ETAPE.py
Accas/A_SIMP.py
Atmo/atmo.png [deleted file]
Atmo/cata_test_fact_genere.xsd
Atmo/cata_test_types.py [new file with mode: 0755]
Atmo/cree_essai1_fact_xml.py [new file with mode: 0644]
Atmo/essai1_fact.xml [new file with mode: 0644]
Atmo/essai2_fact.xml [new file with mode: 0644]

index 295717263202ba46cd55e8030f3336c930534625..badd8d9d94f5c7909d1fdc24f3e4029aab362779 100644 (file)
 from __future__ import absolute_import
 from Noyau import N_BLOC
 from Ihm import I_ENTITE
-from . import A_MCBLOC
+from Accas import A_MCBLOC
+from Efi2Xsd.AccasXsd  import X_BLOC
 
-class BLOC(N_BLOC.BLOC,I_ENTITE.ENTITE):
+
+class BLOC(N_BLOC.BLOC,X_BLOC,I_ENTITE.ENTITE):
    class_instance=A_MCBLOC.MCBLOC
    def __init__(self,*tup,**args):
       I_ENTITE.ENTITE.__init__(self)
index 0a9b8e943465edc86e161fcf4e142b4101a9c7a2..4c72b8120fc4ba9f77ce812bcaac33167bb52b70 100644 (file)
@@ -21,10 +21,10 @@ from __future__ import absolute_import
 from Noyau import N_ETAPE
 from Validation import V_ETAPE
 from Ihm import I_ETAPE
+from Efi2Xsd.MCAccasXsd  import X_MCCOMPO
 
-class ETAPE(I_ETAPE.ETAPE,V_ETAPE.ETAPE,
-            N_ETAPE.ETAPE):
+class ETAPE(I_ETAPE.ETAPE,V_ETAPE.ETAPE,X_MCCOMPO,N_ETAPE.ETAPE):
    def __init__(self,oper=None,reuse=None,args={}):
-      # Pas de constructeur pour B_ETAPE.ETAPE
+      #print ('ETAPE accas', oper.nom)
       N_ETAPE.ETAPE.__init__(self,oper,reuse,args)
       V_ETAPE.ETAPE.__init__(self)
index e26c97faf4be30e75ddcaca19e4be9b2bd156916..ebccc614dafeaec6c5bee2c892d6bd27f6c18f89 100644 (file)
 from __future__ import absolute_import
 from Noyau import N_FACT
 from Ihm import I_ENTITE
-from . import A_MCFACT
-from . import A_MCLIST
+from Accas import A_MCFACT
+from Accas import A_MCLIST
+from Efi2Xsd.AccasXsd  import X_FACT
 
-class FACT(N_FACT.FACT,I_ENTITE.ENTITE):
+
+class FACT(N_FACT.FACT,X_FACT,I_ENTITE.ENTITE):
    class_instance=A_MCFACT.MCFACT
    list_instance=A_MCLIST.MCList
    def __init__(self,*tup,**args):
index 8ef54772c9520edcc1e6322e9f256b162ccafaec..d17bd2343340876411b1d27b653f0281aae9522b 100644 (file)
@@ -22,12 +22,14 @@ from Noyau import N_JDC
 from Validation import V_JDC
 from Extensions import jdc
 from Ihm import I_JDC
+from Efi2Xsd.MCAccasXsd  import X_JDC
 
-class JDC(jdc.JDC,I_JDC.JDC,V_JDC.JDC,N_JDC.JDC):
+class JDC(jdc.JDC,I_JDC.JDC,X_JDC,V_JDC.JDC,N_JDC.JDC):
    from .A_ASSD import CO,assd
 
    def __init__(self,*pos,**args):
       N_JDC.JDC.__init__(self,*pos,**args)
+      X_JDC.__init__(self)
       V_JDC.JDC.__init__(self)
       I_JDC.JDC.__init__(self)
       jdc.JDC.__init__(self)
index 75e1c27e501bd593f789eae29372049075c56e07..fd8a248d57043bd53b1f96cea76847d1734c78f7 100644 (file)
@@ -21,8 +21,9 @@ from __future__ import absolute_import
 from . import A_JDC
 from Noyau import N_JDC_CATA
 from Ihm import I_JDC_CATA
+from Efi2Xsd.AccasXsd  import X_JDC_CATA
 
-class JDC_CATA(I_JDC_CATA.JDC_CATA,N_JDC_CATA.JDC_CATA):
+class JDC_CATA(I_JDC_CATA.JDC_CATA,N_JDC_CATA.JDC_CATA,X_JDC_CATA):
    class_instance=A_JDC.JDC
    def __init__(self,*pos,**kw):
       #print pos
index a9af48273a687caad7d9c5ecc24dcd038c21ffaa..2bba807e646337db45ac04c2e9aa95f8a7ad55f8 100644 (file)
@@ -22,8 +22,10 @@ from Noyau import N_MACRO_ETAPE
 from Validation import V_MACRO_ETAPE
 from Ihm import I_MACRO_ETAPE
 from .A_ASSD import CO
+from Efi2Xsd.MCAccasXsd  import X_MCCOMPO
 
 class MACRO_ETAPE(I_MACRO_ETAPE.MACRO_ETAPE,
+                  X_MCCOMPO,
                   V_MACRO_ETAPE.MACRO_ETAPE,
                   N_MACRO_ETAPE.MACRO_ETAPE):
    typeCO=CO
index 0cc5047b820a0d0387c5a0ced5c047e8195319f9..d6d1bcb53c3e3bce7e95a027e2d762196b8e33e7 100644 (file)
@@ -21,8 +21,10 @@ from __future__ import absolute_import
 from Noyau import N_MCBLOC
 from Validation import V_MCBLOC
 from Ihm import I_MCBLOC
+from Efi2Xsd.MCAccasXsd  import X_MCCOMPO
 
-class MCBLOC(I_MCBLOC.MCBLOC,N_MCBLOC.MCBLOC,V_MCBLOC.MCBLOC):
+
+class MCBLOC(I_MCBLOC.MCBLOC,N_MCBLOC.MCBLOC,X_MCCOMPO,V_MCBLOC.MCBLOC):
    def __init__(self,val,definition,nom,parent):
       N_MCBLOC.MCBLOC.__init__(self,val,definition,nom,parent)
       V_MCBLOC.MCBLOC.__init__(self)
index 03128a7910e1519c4c45dda144a4fc9e7289908f..31fe0a4e128d161fa0e8b861a91ee0407ddeca75 100644 (file)
@@ -21,8 +21,9 @@ from __future__ import absolute_import
 from Noyau import N_MCFACT
 from Validation import V_MCFACT
 from Ihm import I_MCFACT
+from Efi2Xsd.MCAccasXsd  import X_MCFACT
 
-class MCFACT(I_MCFACT.MCFACT,N_MCFACT.MCFACT,V_MCFACT.MCFACT):
+class MCFACT(I_MCFACT.MCFACT,N_MCFACT.MCFACT,X_MCFACT,V_MCFACT.MCFACT):
    def __init__(self,val,definition,nom,parent):
       N_MCFACT.MCFACT.__init__(self,val,definition,nom,parent)
       V_MCFACT.MCFACT.__init__(self)
index 7ba5c53f6ad8f199cafeab85cdaa08e944bc9b29..5554f5ecc330f28d94446ca248d8f972a9e43f3f 100644 (file)
@@ -21,7 +21,9 @@ from __future__ import absolute_import
 from Noyau import N_MCLIST
 from Validation import V_MCLIST
 from Ihm import I_MCLIST
+from Efi2Xsd.MCAccasXsd  import X_MCLIST
 
-class MCList(I_MCLIST.MCList,N_MCLIST.MCList,V_MCLIST.MCList):
+
+class MCList(I_MCLIST.MCList,N_MCLIST.MCList,X_MCLIST,V_MCLIST.MCList):
    def __init__(self):
       N_MCLIST.MCList.__init__(self)
index cc246e89af9a3cd7f942f5a608181a8cc8d1cb36..c3920907a61363839fa345855ca7debb11143c2f 100644 (file)
@@ -21,8 +21,9 @@ from __future__ import absolute_import
 from Noyau import N_MCSIMP
 from Validation import V_MCSIMP
 from Ihm import I_MCSIMP
+from Efi2Xsd.MCAccasXsd  import X_MCSIMP
 
-class MCSIMP(I_MCSIMP.MCSIMP,N_MCSIMP.MCSIMP,V_MCSIMP.MCSIMP):
+class MCSIMP(I_MCSIMP.MCSIMP,N_MCSIMP.MCSIMP,X_MCSIMP,V_MCSIMP.MCSIMP):
    def __init__(self,val,definition,nom,parent):
       N_MCSIMP.MCSIMP.__init__(self,val,definition,nom,parent)
       V_MCSIMP.MCSIMP.__init__(self)
index 7c1e59e48bba6a91a03091143328882e1718028c..c1a4f0a54505203dc5bd5cf510c686d1342b1fa4 100644 (file)
 from __future__ import absolute_import
 from Noyau import N_OPER
 from Ihm import I_ENTITE
-from . import A_ETAPE 
+from Accas import A_ETAPE 
+from Efi2Xsd.AccasXsd  import X_OPER
 
-class OPER(N_OPER.OPER,I_ENTITE.ENTITE):
+
+class OPER(N_OPER.OPER,X_OPER,I_ENTITE.ENTITE):
    class_instance=A_ETAPE.ETAPE
    def __init__(self,*tup,**args):
       I_ENTITE.ENTITE.__init__(self)
index a920913d4f0455635a2b516770b7a53297344a39..0ae8bb484094180106f5648a19516d7850c4ca0e 100644 (file)
 from __future__ import absolute_import
 from Noyau import N_PROC
 from Ihm import I_ENTITE
-from . import A_PROC_ETAPE 
+from Accas import A_PROC_ETAPE 
+from Efi2Xsd.AccasXsd import X_PROC
 
-class PROC(N_PROC.PROC,I_ENTITE.ENTITE):
+class PROC(N_PROC.PROC,X_PROC,I_ENTITE.ENTITE):
    class_instance=A_PROC_ETAPE.PROC_ETAPE
    def __init__(self,*tup,**args):
-      #print tup
-      #print args
+      #print (tup)
+      #print (args)
       I_ENTITE.ENTITE.__init__(self)
       N_PROC.PROC.__init__(self,*tup,**args)
 
index b3ab7529f0739e99ff40826071b5751cbb204b0d..7db1db8bf055e7f4ac034b11cf2961ad56ec4629 100644 (file)
@@ -21,9 +21,11 @@ from __future__ import absolute_import
 from Noyau import N_PROC_ETAPE
 from Validation import V_PROC_ETAPE
 from Ihm import I_PROC_ETAPE
+from Efi2Xsd.MCAccasXsd  import X_MCCOMPO
 
 class PROC_ETAPE(I_PROC_ETAPE.PROC_ETAPE,
                  V_PROC_ETAPE.PROC_ETAPE,
+                 X_MCCOMPO,
                  N_PROC_ETAPE.PROC_ETAPE):
    def __init__(self,oper=None,args={}):
       N_PROC_ETAPE.PROC_ETAPE.__init__(self,oper=oper,args=args)
index 9a438d15fcc537649b9f9e4626327347560a28a6..584627ed3a37dbccc58e9ffc021dcbc505ca2638 100644 (file)
 from __future__ import absolute_import
 from Noyau import N_SIMP
 from Ihm import I_ENTITE
-from . import A_MCSIMP
+from Accas import A_MCSIMP
+from Efi2Xsd.AccasXsd import X_SIMP
 
-class SIMP(N_SIMP.SIMP,I_ENTITE.ENTITE):
+class SIMP(N_SIMP.SIMP,X_SIMP,I_ENTITE.ENTITE):
    class_instance=A_MCSIMP.MCSIMP
    def __init__(self,*tup,**args):
       #print tup
diff --git a/Atmo/atmo.png b/Atmo/atmo.png
deleted file mode 100755 (executable)
index 2e8d4a5..0000000
Binary files a/Atmo/atmo.png and /dev/null differ
index b28391ae806251d4cf6c30176f26645997589c70..06a1f00416f63baf55001bb1e8186c896fdc6d95 100644 (file)
        <simpleType name="T_Niveau4SIMP">
                <restriction base="int"/>
        </simpleType>
-       <complexType name="T_Niveau3Fact"  minOccurs="1" maxOccurs="1">
-               <sequence>
+       <complexType name="T_Niveau3Fact" >
+               <sequence minOccurs="0" maxOccurs="6">
                        <element name="Niveau4SIMP" type="Atmos:T_Niveau4SIMP" minOccurs="1" maxOccurs="1"/>
                </sequence>
        </complexType>
-       <complexType name="T_Niveau2Fact"  minOccurs="1" maxOccurs="4">
-               <sequence>
+       <complexType name="T_Niveau2Fact" >
+               <sequence minOccurs="0" maxOccurs="4">
                        <element name="Niveau3SIMP" type="Atmos:T_Niveau3SIMP" minOccurs="1" maxOccurs="1"/>
-                       <element name="Niveau3Fact" type="Atmos:T_Niveau3Fact"/>
+                       <element name="Niveau3Fact" type="Atmos:T_Niveau3Fact" minOccurs="0" maxOccurs="1"/>
                </sequence>
        </complexType>
-       <complexType name="T_Niveau1Fact"  minOccurs="1" maxOccurs="4">
-               <sequence>
+       <complexType name="T_Niveau1Fact" >
+               <sequence minOccurs="0" maxOccurs="4">
                        <element name="Niveau2SIMP" type="Atmos:T_Niveau2SIMP" minOccurs="1" maxOccurs="1"/>
-                       <element name="Niveau2Fact" type="Atmos:T_Niveau2Fact"/>
+                       <element name="Niveau2Fact" type="Atmos:T_Niveau2Fact" minOccurs="0" maxOccurs="1"/>
                </sequence>
        </complexType>
-       <complexType name="T_Wind"  minOccurs="0" maxOccurs="1">
-               <sequence>
+       <complexType name="T_Wind" >
+               <sequence minOccurs="0" maxOccurs="1">
                        <element name="Niveau1SIMP" type="Atmos:T_Niveau1SIMP" minOccurs="1" maxOccurs="1"/>
-                       <element name="Niveau1Fact" type="Atmos:T_Niveau1Fact"/>
+                       <element name="Niveau1Fact" type="Atmos:T_Niveau1Fact" minOccurs="0" maxOccurs="1"/>
                </sequence>
        </complexType>
        <complexType name="T_Atmos">
                <choice minOccurs="0" maxOccurs="unbounded">
-                       <element name="Wind" type="Atmos:T_Wind"/>
+                       <element name="Wind" type="Atmos:T_Wind" />
                </choice>
        </complexType>  <element name="Atmos" type="Atmos:T_Atmos"/>
 </schema>
diff --git a/Atmo/cata_test_types.py b/Atmo/cata_test_types.py
new file mode 100755 (executable)
index 0000000..d0f75fe
--- /dev/null
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+#
+#  Copyright (C) 2012-2013 EDF
+#
+#  This file is part of SALOME HYDRO module.
+#
+#  SALOME HYDRO module is free software: you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation, either version 3 of the License, or
+#  (at your option) any later version.
+#
+#  SALOME HYDRO module is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with SALOME HYDRO module.  If not, see <http://www.gnu.org/licenses/>.
+
+import types
+from Accas import *
+
+
+
+JdC = JDC_CATA(code='Atmos',regles = (UN_PARMI('Wind',)),
+                        )
+Wind = PROC( nom="Wind", op = None,
+    FACTA = FACT( statut='o', 
+       VinAetBnotC = SIMP(statut = "o", typ = 'I'),
+       SousFactInAetBnotC = FACT( statut='o',
+          S1 = SIMP(statut = "o", typ = 'I'),
+          S2 = SIMP(statut = "o", typ = 'I'),
+          ),
+    ),
+    FACTB = FACT( statut='o', 
+       VinAetBnotC = SIMP(statut = "o", typ = 'I'),
+       SousFactInAetBnotC = FACT( statut='o',
+          S1 = SIMP(statut = "o", typ = 'I'),
+          S2 = SIMP(statut = "o", typ = 'I'),
+          ),
+       ),
+    FACTC = FACT( statut='o', 
+       VinAetBnotC = SIMP(statut = "o", typ = 'R'),
+       SousFactInAetBnotC = FACT( statut='o',
+          S1 = SIMP(statut = "o", typ = 'I'),
+          S2 = SIMP(statut = "o", typ = 'R'),
+          ),
+       ),
+    FACTD = FACT( statut='o', 
+    # identique FACTC
+    # donc pas de creation de Type mais utilisation de ceux de FACTC
+       VinAetBnotC = SIMP(statut = "o", typ = 'R'),
+       SousFactInAetBnotC = FACT( statut='o',
+          S1 = SIMP(statut = "o", typ = 'I'),
+          S2 = SIMP(statut = "o", typ = 'R'),
+          ),
+       ),
+    FACTE = FACT( statut='o', 
+          S3 = SIMP(statut = "o", typ = 'I'),
+          BinEetFNotG = BLOC(condition="S3 == 0",
+             S4 = SIMP(statut = "o", typ = 'I'),
+             ),
+        ),
+    FACTF = FACT( statut='o', 
+          S3 = SIMP(statut = "o", typ = 'I'),
+          BinEetFNotG = BLOC(condition="S3 == 0",
+             S4 = SIMP(statut = "o", typ = 'I'),
+             ),
+        ),
+    FACTG = FACT( statut='o', 
+          S3 = SIMP(statut = "o", typ = 'I'),
+          BinEetFNotG = BLOC(condition="S3 == 1",
+             S4 = SIMP(statut = "o", typ = 'I'),
+             ),
+        ),
+)
+
diff --git a/Atmo/cree_essai1_fact_xml.py b/Atmo/cree_essai1_fact_xml.py
new file mode 100644 (file)
index 0000000..0d51a13
--- /dev/null
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+import raw.cata_genere_fact as mdm
+s1=mdm.T_Niveau1SIMP(1)
+s2=mdm.T_Niveau2SIMP(2)
+s31=mdm.T_Niveau3SIMP(3)
+s4=mdm.T_Niveau4SIMP(4)
+s32=mdm.T_Niveau3SIMP(5)
+s6=mdm.T_Niveau4SIMP(6)
+
+f31=mdm.T_Niveau3Fact(s4)
+f32=mdm.T_Niveau3Fact(s6)
+
+#f2=mdm.T_Niveau2Fact(s31,f31)
+f2=mdm.T_Niveau2Fact(s32,f32)
+# ligne suivante nonok ?
+#f2=mdm.T_Niveau2Fact(s31,f31,s32,f32)
+#f2=mdm.T_Niveau2Fact(s31) # ok --> s obligatoire et f facultatif
+#f2=mdm.T_Niveau2Fact(f31) # nok
+f1=mdm.T_Niveau1Fact(s2,f2)
+wind=mdm.T_Wind(s1,f1)
+jdd=mdm.Atmos(wind)
+#print (jdd.toxml())
+print(jdd.toDOM().toprettyxml())
diff --git a/Atmo/essai1_fact.xml b/Atmo/essai1_fact.xml
new file mode 100644 (file)
index 0000000..2266d6b
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" ?>
+<ns1:Atmos xmlns:ns1="http://chercheurs.edf.com/logiciels/Atmos">
+       <ns1:Wind>
+               <ns1:Niveau1SIMP>1</ns1:Niveau1SIMP>
+               <ns1:Niveau1Fact>
+                       <ns1:Niveau2SIMP>2</ns1:Niveau2SIMP>
+                       <ns1:Niveau2Fact>
+                               <ns1:Niveau3SIMP>5</ns1:Niveau3SIMP>
+                               <ns1:Niveau3Fact>
+                                       <ns1:Niveau4SIMP>6</ns1:Niveau4SIMP>
+                               </ns1:Niveau3Fact>
+                       </ns1:Niveau2Fact>
+               </ns1:Niveau1Fact>
+       </ns1:Wind>
+</ns1:Atmos>
+
diff --git a/Atmo/essai2_fact.xml b/Atmo/essai2_fact.xml
new file mode 100644 (file)
index 0000000..3d77110
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" ?>
+<ns1:Atmos xmlns:ns1="http://chercheurs.edf.com/logiciels/Atmos">
+       <ns1:Wind>
+               <ns1:Niveau1SIMP>1</ns1:Niveau1SIMP>
+               <ns1:Niveau1Fact>
+                       <ns1:Niveau2SIMP>2</ns1:Niveau2SIMP>
+                       <ns1:Niveau2Fact>
+                               <ns1:Niveau3SIMP>3</ns1:Niveau3SIMP>
+                               <ns1:Niveau3Fact>
+                                       <ns1:Niveau4SIMP>4</ns1:Niveau4SIMP>
+                               </ns1:Niveau3Fact>
+                               <ns1:Niveau3SIMP>5</ns1:Niveau3SIMP>
+                               <ns1:Niveau3Fact>
+                                       <ns1:Niveau4SIMP>6</ns1:Niveau4SIMP>
+                               </ns1:Niveau3Fact>
+                       </ns1:Niveau2Fact>
+               </ns1:Niveau1Fact>
+       </ns1:Wind>
+</ns1:Atmos>
+