]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Ajout de la documentation sur le mapping xsd
authorEric Fayolle <eric.fayolle@edf.fr>
Wed, 20 Nov 2019 14:38:03 +0000 (15:38 +0100)
committerEric Fayolle <eric.fayolle@edf.fr>
Wed, 20 Nov 2019 14:38:03 +0000 (15:38 +0100)
docCataWriter/conf.py
docCataWriter/index.rst
docCataWriter/oper_and_proc.rst
docCataWriter/simp.rst
docCataWriter/structure_rules.rst

index 1989792c72a259dfeaa10b9838489809c26ee4bd..e7fb10ac3dceb46eb59c07f4bc31a677d59e2adc 100644 (file)
@@ -25,7 +25,8 @@ import sys, os
 
 # Add any Sphinx extension module names here, as strings. They can be extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = []
+extensions = ['sphinx.ext.todo']
+#extensions = []
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
@@ -245,3 +246,6 @@ texinfo_documents = [
 
 # How to display URL addresses: 'footnote', 'no', or 'inline'.
 #texinfo_show_urls = 'footnote'
+
+#TODO extension option :
+todo_include_todos=True
index 71da5032524909a6b897f92c6c0124421a9de523..0788a2c8c5647eac53b58838b728d43976114011 100644 (file)
@@ -23,7 +23,4 @@ Contents:
    oper_and_proc.rst
    structure_rules.rst
    python_rules
-
-
-   
-
+   xsd_mapping
index 05cf2c6369036ff58f35f12b2d34bbc6963f8c83..3376e8b249a2b95bf1a17a8708b956da8a71264e 100644 (file)
@@ -1,3 +1,5 @@
+.. _Defining-steps-in-a-catalog:
+
 Defining steps in a catalog
 ===========================
 
@@ -5,13 +7,13 @@ Root node
 _________
 
 The 'root node' is called 'JdC'.
-It has to be declared at the very begininng in the catalog file such as :
+It has to be declared at the very begininng in the catalog file such as :
 
 ::
 
   from Accas import *
    
-  jdc = JDC_CATA (
+  JdC = JDC_CATA (
       code = 'MyCodeName',
   )
 
@@ -24,16 +26,19 @@ General syntax
 ~~~~~~~~~~~~~~
 A step can be :
  * PROC  : a simple procedure 
- * OPER  : a command returning a concept
+ * OPER  : a command returning a concept/user type
+
+A PROC definition agregate hierarchical data in order to express a coherent part of your modelisation.
+A PROC may also be seen as a PROCedure call with more or less complex parameters.
 
 ::
 
-  MonPROC = PROC (nom = MonOPER, ..
+  MonPROC = PROC (nom = 'MonPROC', ..
   );
-  MonOPER = OPER (nom = MonPROC, sd_prod= myUserClass,
+  MonOPER = OPER (nom = 'MonOPER', sd_prod= myUserClass,
   );  
 
-To describe a PROC, attribute 'nom' is mandatory and has to be the lvalue. Note that the name has to begin with a upper character. after that, inside elements are added.
+To describe a PROC, the 'nom' attribute is mandatory and has to be the stringfied lvalue. Note that the variable name must begin with an upper character. Once a PROC or an OPER is defined you can add elements inside.
 
 ::
 
@@ -50,11 +55,17 @@ To describe a PROC, attribute 'nom' is mandatory and has to be the lvalue. Note
        ),
   );
 
+.. _Defining-a-concept-type-user:
+
+Defining a concept type / user type
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A OPER definition agregate hierarchical data in order to express a coherent part of your modelisation.
+Despite an PROC it produce a new data that you can reuse in further defintion. 
+A OPER may also be seen as a fuction call with more or less complex parameters which return a new 
 
-Defining a user concept type
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 To describe an OPER , you have first to describe a user-defined type of concept.
-Declarations appears at the beginning of the catalogs. User classes inherits from ASSD. Most of the time, pass statement is all you need.
+Declarations appears at the beginning of the catalogs. User classes inherits from ASSD. Most of the time the pass statement is all you need to write.
 
 ::
 
index 234b02546fab9a27a14d1790c2adb584807b11a7..56319e52657a20bc7219644ff738423ad6d33bff 100644 (file)
@@ -21,32 +21,34 @@ Source line code is  :
 
 | Attribute "typ" defines the keyword type (in this case, float)
 | "myKeyword" is the keyword name. it is a python label. A keyword can not have the same name as its brothers.
-| Attribute typ is mandatory. Other SIMP attributes (see below) have default value and are optional. 
+| Attribute *typ* is mandatory. Other SIMP attributes (see below) have default value and are optional. 
 
 
 Typ
 ~~~
 
-The attribute typ can take several values :
+The attribute *typ* can take several values :
 
-  - A  "simple "type :
+  - A  simple type :
      *  boolean (bool)
-     *  integer (I),
-     *  float (R) 
-     *  complex(C)
-     *  text(TXM), 
+     *  integer (I)
+     *  float   (R) 
+     *  complex (C)
+     *  text    (TXM)
 
     Examples :
 
     ::
-     
+
          number_of_species    = SIMP( typ='I'   ),
          YoungModulus         = SIMP( typ='R'   ),
          electrostatics_is_on = SIMP( typ=bool, ),
-  
-         Valid values for number_of_species    : 1, -6, 128 
-         Valid values for YoungModulus         : 1, 110.3,  -6., 14.5×10−3 
-         Valid values for electrostatics_is_on : True, False , 0, 1
+
+
+    * Valid values for number_of_species    : 1, -6, 128 
+    * Valid values for YoungModulus         : 1, 110.3,  -6., 14.5×10−3 
+    * Valid values for electrostatics_is_on : True, False , 0, 1
+  |
 
   - A tuple of N elements (Tuple(3)). 
 
@@ -70,41 +72,44 @@ The attribute typ can take several values :
     * Then, inside each tuple, each model element has a specified type. 
 
     ::
-       
+
          pair_identification  = SIMP(statut ='o', typ=Tuple(2), validators=VerifTypeTuple(('TXM','TXM'   )),),
          simulation_box_sizes = SIMP(statut ='o', typ=Tuple(3), validators=VerifTypeTuple(('R'  ,'R', 'R')),),
          length               = SIMP(statut ='o', typ=Tuple(2), validators=VerifTypeTuple(('R'  ,'TXM'   )),),
 
-      means that pair_identification is a tuple of two strings, simulation_box_sizes a tuple of three floats and lenght a tuple which first parameter is a float and second a string.
-       ::
-         
-        Valid values for pair_identification  : ('A', 'A'), ('A','B')
-        Valid values for simulation_box_sizes : (1,1.,0), (2.,-2.5, 10+3)
-        Valid values for length               : (1,'m'), (2., 'cm') but also (-500, 'Fahr') or (32, 'fareneit')
 
-      Note that a tuple element is not seen as a list but as ONE element. (it is possible to define list of tuple)
+    means that pair_identification is a tuple of two strings, simulation_box_sizes a tuple of three floats and lenght a tuple which first parameter is a float and second a string.
+                 
+       * Valid values for pair_identification  : ('A', 'A'), ('A','B')
+       * Valid values for simulation_box_sizes : (1,1.,0), (2.,-2.5, 10+3)
+       * Valid values for length               : (1,'m'), (2., 'cm') but also (-500, 'Fahr') or (32, 'fareneit')
+
+    .. note:: A tuple element is not seen as a list but as ONE element. (it is possible to define list of tuple)
 
 
   -  A directory  or a file (existing or not)
 
-     +-------------------------------------+--------------------------------------------------+
-     | parameter is  :                     | catalog's description is :                       |
-     +=====================================+==================================================+
-     |an existing file                     | typ='Fichier'                                    |
-     +-------------------------------------+--------------------------------------------------+
-     |a directory                          | typ='Repertoire'                                 |
-     +-------------------------------------+--------------------------------------------------+
-     |an existing file with specific suffix| typ='Fichier','JDC Files (*.comm);;All Files (*) |
-     +-------------------------------------+--------------------------------------------------+
-     |a non-allready existing file         | typ=('Fichier',"",'Sauvegarde'),                 |
-     +-------------------------------------+--------------------------------------------------+
-     |a file (existing or not)             | typ='FichierNoAbs'                               |
-     +-------------------------------------+--------------------------------------------------+
-     |a file or a directory                | typ='FichierOuRepertoire'                        |
-     +-------------------------------------+--------------------------------------------------+
-
-     
-     |
+     +-------------------------------------+-----------------------------------------------------+
+     | parameter is  :                     | catalog's description is :                          |
+     +=====================================+=====================================================+
+     |an existing file                     | typ='Fichier'                                       |
+     +-------------------------------------+-----------------------------------------------------+
+     |a directory                          | typ='Repertoire'                                    |
+     +-------------------------------------+-----------------------------------------------------+
+     |an existing file with specific suffix| typ=('Fichier','JDC Files (*.comm);;All Files (*)') |
+     +-------------------------------------+-----------------------------------------------------+
+     |a non-allready existing file         | typ=('Fichier',"",'Sauvegarde'),                    |
+     +-------------------------------------+-----------------------------------------------------+
+     |a file (existing or not)             | typ='FichierNoAbs'                                  |
+     +-------------------------------------+-----------------------------------------------------+
+     |a file or a directory                | typ='FichierOuRepertoire'                           |
+     +-------------------------------------+-----------------------------------------------------+
+
+     .. note:: To filter filenames, you have to set the *typ* attribute with a python tuple :
+
+           * The first element is a fixed string value : *'Fichier'* , *'Repertoire'* , *'FichierNoAbs'* , *'FichierOuRepertoire'*
+           * The second element is a Qt filter string as defined by QT. This string is used only by the graphical interface. The filter is inactive for *typ* *'Repertoire'* . 
+           * The third element is only used with the value *'Sauvegarde'* in the triple *('Fichier',"",'Sauvegarde')* to activate the non-alreay existing file usecase  
 
   -  Or previously user defined type in the catalog (a mesh for example)
 
@@ -123,15 +128,17 @@ Cardinality
 ~~~~~~~~~~~
 It is possible to constrain the number of instances (cardinality) of a keyword. The cardinality is specified using the min and max attributes.
 If min=max=1 (default), the keyword has a single value. if max > 1, parameter is a list. min/max specify the minimum/maximum number of occurences in the list. 'max= "**"' sets no upper limit for the maximal cardinality.
-::
-   
+
+..  code-block:: python
+
       scalar               = SIMP(typ = 'R')
       list_of_scalars      = SIMP(typ = 'R',max="**")
       list_of_3_to_5_scalars= SIMP(typ = 'R',max=5, min=3)
-   
-      Valid values for scalar                : 1., 2., 
-      Valid values for list_of_scalars       : (1.,1.,0), (2.,5., 7.,8,.,... 999.), (1.,)
-      Valid values for list_of_3_to_5_scalars : (1.,1.,1), (1.,1.,1.,1.),(1.,1.,1.)
+
+
+* Valid values for scalar                    : 1., 2., 
+* Valid values for list_of_scalars           : (1.,1.,0), (2.,5., 7.,8,.,... 999.), (1.,)
+* Valid values for list_of_3_to_5_scalars : (1.,1.,1), (1.,1.,1.,1.),(1.,1.,1.)
 
 Note that a list can be mandatory or optional. 
     
@@ -156,14 +163,15 @@ Other useful attributes
   
   And some examples :
 
-  ::
-   
-   print_frequency = SIMP(statut='f', typ='TXM', defaut='every', into=['every','never','10 steps'])
-   close_time     = SIMP(statut='f', typ='R'  , defaut=1000, val_min=0),
-   number_of_steps = SIMP(statut='f', typ='I'  , defaut=100 , val_min=0, val_max=1000)
+..  code-block:: python
+                  
+    print_frequency = SIMP(statut='f', typ='TXM', defaut='every', into=['every','never','10 steps'])
+    close_time             = SIMP(statut='f', typ='R'  , defaut=1000, val_min=0)
+    number_of_steps = SIMP(statut='f', typ='I'  , defaut=100 , val_min=0, val_max=1000)
+
 
-   Valid values for print_frequency : 'every','never','10 steps' and no others
-   Valid values for close_time             : positive float (not nul)
-   Valid values for number_of_steps : integer between 1 and 999
+* Valid values for print_frequency : 'every','never','10 steps' and no others
+* Valid values for close_time      : positive float (not nul)
+* Valid values for number_of_steps : integer between 1 and 999
     
-  
+
index 716dec4e7f2a9d765dd54ea6df1962c8e55182b2..404a9df0b3557698911575911a45bb2f04fe23c6 100644 (file)
@@ -130,6 +130,7 @@ That means  :
 
 
 All  rules can be combinated, creating more complicated rules.
+
 ::
    
      GRID  = FACT(statut='f',