Salome HOME
7a75897d034e5112f62619b006d29e0b5ed28765
[samples/datafiles.git] / Yacs / Schemas / foreach5.xml
1 <!--
2   Copyright (C) 2006-2019  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 with a service node corba and 
23   2 nodes on output : a python node and a service node corba -->
24     <!--types -->
25     <sequence name="dblevec" content="double"/>
26
27     <!--nodes -->
28     <inline name="node0" >
29       <script>
30         <code>p1=[i*0.5 for i in range(10)]</code>
31       </script>
32       <outport name="p1" type="dblevec"/>
33     </inline>
34
35     <bloc name="b">
36     <foreach name="b1" nbranch="3" type="double" >
37       <service name="node2" >
38         <ref>corbaname:rir:#test.my_context/Echo.Object</ref>
39         <method>echoDouble</method>
40         <inport name="p1" type="double"/>
41         <outport name="p1" type="double"/>
42       </service>
43     </foreach>
44     <inline name="node3" >
45       <script>
46         <code>print("coucou")</code>
47       </script>
48     </inline>
49     <service name="node4" >
50       <ref>corbaname:rir:#test.my_context/Echo.Object</ref>
51       <method>echoDoubleVec</method>
52       <inport name="p1" type="dblevec"/>
53       <outport name="p1" type="dblevec"/>
54     </service>
55     <control> <fromnode>b1</fromnode> <tonode>node3</tonode> </control>
56     <control> <fromnode>b1</fromnode> <tonode>node4</tonode> </control>
57     <datalink>
58       <fromnode>b1</fromnode><fromport>SmplPrt</fromport>
59       <tonode>b1.node2</tonode> <toport>p1</toport>
60     </datalink>
61     <datalink>
62       <fromnode>b1.node2</fromnode><fromport>p1</fromport>
63       <tonode>node4</tonode> <toport>p1</toport>
64     </datalink>
65   </bloc>
66     <inline name="node1" >
67       <script>
68         <code>print(p1)</code>
69       </script>
70       <inport name="p1" type="dblevec"/>
71     </inline>
72
73     <!--control -->
74     <control> <fromnode>node0</fromnode> <tonode>b</tonode> </control>
75     <control> <fromnode>b</fromnode> <tonode>node1</tonode> </control>
76
77     <!--datalink -->
78     <datalink>
79       <fromnode>node0</fromnode><fromport>p1</fromport>
80       <tonode>b.b1</tonode> <toport>SmplsCollection</toport>
81     </datalink>
82     <datalink>
83       <fromnode>b.b1.node2</fromnode><fromport>p1</fromport>
84       <tonode>node1</tonode> <toport>p1</toport>
85     </datalink>
86
87     <!--parameters -->
88
89 </proc>