Salome HOME
Merge from V6_main_20120808 08Aug12
[samples/datafiles.git] / Yacs / Schemas / forloop5.xml
diff --git a/Yacs/Schemas/forloop5.xml b/Yacs/Schemas/forloop5.xml
new file mode 100644 (file)
index 0000000..48ad3fe
--- /dev/null
@@ -0,0 +1,62 @@
+<!--
+  Copyright (C) 2006-2011  CEA/DEN, EDF R&D
+
+  This library is free software; you can redistribute it and/or
+  modify it under the terms of the GNU Lesser General Public
+  License as published by the Free Software Foundation; either
+  version 2.1 of the License.
+
+  This library 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
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with this library; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+-->
+<proc>
+    <!--a forloop (3 steps) in a bloc with an interior Python node in a bloc -->
+    <!--types -->
+    <!--nodes -->
+    <inline name="n" >
+        <script>
+            <code>nstep=3</code>
+        </script>
+        <outport name="nstep" type="int"/>
+    </inline>
+    <bloc name="b">
+      <forloop name="b1" >
+          <bloc name="c">
+            <inline name="node2" >
+              <function name="f">
+                <code>a=0</code>
+                <code>def f(p1):</code>
+                <code>  global a</code>
+                <code>  p1= p1+10.</code>
+                <code>  print a</code>
+                <code>  a=a+p1</code>
+                <code>  print a</code>
+                <code>  return p1</code>
+              </function>
+              <inport name="p1" type="double"/>
+              <outport name="p1" type="double"/>
+            </inline>
+          </bloc>
+      </forloop>
+    </bloc>
+    <!--control links -->
+    <control> <fromnode>n</fromnode> <tonode>b</tonode> </control>
+    <!--data links -->
+    <datalink> <fromnode>n</fromnode><fromport>nstep</fromport>
+               <tonode>b.b1</tonode> <toport>nsteps</toport> </datalink>
+    <!--parameters -->
+    <parameter>
+        <tonode>b.b1.c.node2</tonode> <toport>p1</toport>
+        <value><double>23</double> </value>
+    </parameter>
+
+</proc>