<xcall>

Purpose The <xcall> statement is used to invoke another Superx++ program from within a Superx++ program. The <xcall> can pass the same input stream that it has or it can pass another one or none at all to the remote Superx++ program.
Format <xcall acceptremotexout="{boolVal}">
   <program>{file path}</program>
   <xin>{remote input stream}</xin>
</xcall>
{boolVal} (optional) a boolean value of true or false that specifies whether or not the contents of the output stream of the remote program will be merged into the output stream of the calling program. The default value is false
{file path} the path or URL of the Superx++ program to be invoked
{remote input stream} the input stream to be passed from the caller to the remote Superx++ program
Example #1 Consider that the file C:\\MyDir\\MyProg.xml contains the following code:
<xpp>
   <xout>\r\nIn the remote program</xout>
</xpp>

Now consider the following caller program code snippet:
<xout>In the caller</xout>
<xcall acceptremotexout="true">
   <program>C:\\MyDir\\MyProg.xml</program>
   <xin />
</xcall>
<xout>\r\nBack in the caller</xout>

The result is that the following text is written to the output stream of the caller program:
In the caller
In the remote program
Back in the caller

Example #2 Consider that the file C:\\MyDir\\MyProg.xml contains the following code:
<xpp>
   <xout>\r\nIn the remote program</xout>
</xpp>

Now consider the following caller program code snippet:
<xout>In the caller</xout>
<xcall acceptremotexout="false">
   <program>C:\\MyDir\\MyProg.xml</program>
   <xin />
</xcall>
<xout>\r\nBack in the caller</xout>

The result is that the following text is written to the output stream of the caller program:
In the caller
Back in the caller

The reason for the omission of the output stream contents of the remote program is that the acceptremotexout attribute is set to false.