Salome HOME
7f114cdffe1c3b0c8e61a4dbf1576fcfeae0e160
[samples/datafiles.git] / Yacs / Schemas / foreach2.xml
1 <!--
2   Copyright (C) 2006-2015  CEA/DEN, EDF R&D
3
4   This library is free software; you can redistribute it and/or
5   modify it under the terms of the GNU Lesser General Public
6   License as published by the Free Software Foundation; either
7   version 2.1 of the License, or (at your option) any later version.
8
9   This library is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with this library; if not, write to the Free Software
16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17
18   See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19
20 -->
21 <proc>
22     <!-- a for each loop with 3 branches in a bloc -->
23     <!--types -->
24     <sequence name="dblevec" content="double"/>
25
26     <!--nodes -->
27     <inline name="node0" >
28       <script>
29         <code>p1=[i*0.5 for i in range(10)]</code>
30       </script>
31       <outport name="p1" type="dblevec"/>
32     </inline>
33
34     <bloc name="b">
35     <foreach name="b1" nbranch="3" type="double" >
36       <inline name="node2" >
37         <function name="f">
38             <code>a=0</code>
39             <code>def f(p1):</code>
40             <code>  global a</code>
41             <code>  p1= p1+10.</code>
42             <code>  print(a)</code>
43             <code>  a=a+p1</code>
44             <code>  print(a)</code>
45             <code>  return p1</code>
46         </function>
47         <inport name="p1" type="double"/>
48         <outport name="p1" type="double"/>
49       </inline>
50     </foreach>
51     <datalink>
52       <fromnode>b1</fromnode><fromport>SmplPrt</fromport>
53       <tonode>b1.node2</tonode> <toport>p1</toport>
54     </datalink>
55   </bloc>
56     <inline name="node1" >
57       <script>
58         <code>print(p1)</code>
59       </script>
60       <inport name="p1" type="dblevec"/>
61     </inline>
62
63     <!--control -->
64     <control> <fromnode>node0</fromnode> <tonode>b</tonode> </control>
65     <control> <fromnode>b</fromnode> <tonode>node1</tonode> </control>
66
67     <!--datalink -->
68     <datalink>
69       <fromnode>node0</fromnode><fromport>p1</fromport>
70       <tonode>b.b1</tonode> <toport>SmplsCollection</toport>
71     </datalink>
72     <datalink>
73       <fromnode>b.b1.node2</fromnode><fromport>p1</fromport>
74       <tonode>node1</tonode> <toport>p1</toport>
75     </datalink>
76
77     <!--parameters -->
78
79 </proc>