Salome HOME
5fa94a187ade2eff8dd0511c1f9ade612a02ab17
[samples/datafiles.git] / Yacs / Schemas / struct2.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     <!--types -->
23     <sequence name="dblevec" content="double"/>
24     <objref name="eo/Obj" />
25     <objref name="eo/C" >
26       <base>eo/Obj</base>
27     </objref>
28     <sequence name="objvec" content="eo/Obj"/>
29     <struct name="eo/S1" >
30       <member name="x" type="double"/>
31       <member name="y" type="int"/>
32       <member name="s" type="string"/>
33       <member name="b" type="bool"/>
34       <member name="vd" type="dblevec"/>
35     </struct>
36
37     <struct name="eo/S2" >
38       <member name="s" type="eo/S1"/>
39     </struct>
40
41     <struct name="eo/S3" >
42       <member name="x" type="double"/>
43       <member name="y" type="int"/>
44       <member name="s" type="string"/>
45       <member name="b" type="bool"/>
46       <member name="ob" type="eo/Obj"/>
47     </struct>
48     <struct name="eo/S4" >
49       <member name="x" type="double"/>
50       <member name="y" type="int"/>
51       <member name="s" type="string"/>
52       <member name="b" type="bool"/>
53       <member name="ob" type="eo/C"/>
54     </struct>
55
56     <!--nodes -->
57     <service name="corba0" >
58       <ref>corbaname:rir:#test.my_context/Echo.Object</ref>
59       <method>createObj</method>
60       <inport name="p1" type="int"/>
61       <outport name="o1" type="eo/Obj"/>
62     </service>
63
64     <service name="corba2" >
65       <ref>corbaname:rir:#test.my_context/Echo.Object</ref>
66       <method>createC</method>
67       <outport name="o1" type="eo/C"/>
68     </service>
69
70     <inline name="node0" >
71       <script>
72         <code>s1={'x':1,'y':2,'s':"coucou",'b':1,'ob':o2}</code>
73         <code>s2=[o2,o2]</code>
74       </script>
75       <inport name="o1" type="eo/Obj"/>
76       <inport name="o2" type="eo/C"/>
77       <outport name="s1" type="eo/S4"/>
78       <outport name="s2" type="objvec"/>
79     </inline>
80
81     <service name="corba1" >
82       <ref>corbaname:rir:#test.my_context/Echo.Object</ref>
83       <method>echoStruct2</method>
84       <inport name="s1" type="eo/S3"/>
85       <outport name="s1" type="eo/S3"/>
86     </service>
87
88     <service name="corba3" >
89       <ref>corbaname:rir:#test.my_context/Echo.Object</ref>
90       <method>echoObjectVec</method>
91       <inport name="s1" type="objvec"/>
92       <outport name="s1" type="objvec"/>
93     </service>
94
95     <!--parameters -->
96     <parameter>
97         <tonode>corba0</tonode> <toport>p1</toport>
98         <value><int>1</int> </value>
99     </parameter>
100
101     <!--datalinks -->
102     <datalink>
103       <fromnode>corba0</fromnode><fromport>o1</fromport>
104       <tonode>node0</tonode> <toport>o1</toport>
105     </datalink>
106
107     <datalink>
108       <fromnode>corba2</fromnode><fromport>o1</fromport>
109       <tonode>node0</tonode> <toport>o2</toport>
110     </datalink>
111
112     <datalink>
113       <fromnode>node0</fromnode><fromport>s1</fromport>
114       <tonode>corba1</tonode> <toport>s1</toport>
115     </datalink>
116
117     <datalink>
118       <fromnode>node0</fromnode><fromport>s2</fromport>
119       <tonode>corba3</tonode> <toport>s1</toport>
120     </datalink>
121
122 </proc>