# XML Definition

<span lang="EN-US">Native Functions are defined in an XML Schema file which is located at “cgi\_studio\_connector/schema/NativeFunction.xsd”. This file can be used to validate xml files and with some editors (e.g. Visual-Studio) and provide code-completion when writing the XML file.</span>

#### <span lang="EN-US">NativeFunctionDefinition-Element</span>

<span lang="EN-US">Root Element. List of Function types.</span>

**<span lang="EN-US">Attributes:  
</span>**<span lang="EN-US">None</span>

<span lang="EN-US"> </span>**<span lang="EN-US">Children:</span>**

<table border="1" id="bkmrk-argument-occurrence-" style="border-collapse: collapse; width: 67.037%;"><colgroup><col style="width: 23.8004%;"></col><col style="width: 22.5109%;"></col><col style="width: 53.6916%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>Function</td><td>0 - \*</td><td>A native function definition</td></tr></tbody></table>

#### <span lang="EN-US">Function-Element</span>

<span lang="EN-US">Definition of a native Function.</span><span lang="EN-US"> </span>

**<span lang="EN-US">Attributes:</span>**

<table border="1" id="bkmrk-argument-required-de" style="border-collapse: collapse; width: 91.8519%;"><colgroup><col style="width: 17.6301%;"></col><col style="width: 16.8248%;"></col><col style="width: 65.5451%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>name</td><td>Yes</td><td>Name of the function.</td></tr><tr><td>uid</td><td>Yes</td><td>Unique Id of function.</td></tr><tr><td>has\_result</td><td>Yes</td><td>Indicates if function has a result. If set, the function needs to return a bool value and can be called for checking events. In this case an event is triggered if the function returns true and all conditions are valid.</td></tr><tr><td>description</td><td>No</td><td>Description of the function.</td></tr></tbody></table>

**<span lang="EN-US">Children:</span>**

<table border="1" id="bkmrk-argument-occurrence--1" style="border-collapse: collapse; width: 67.037%;"><colgroup><col style="width: 23.2472%;"></col><col style="width: 23.0597%;"></col><col style="width: 53.6931%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>Argument</td><td>0 - \*</td><td>Argument of the function</td></tr></tbody></table>

#### <span lang="EN-US">Argument-Element</span>

<span lang="EN-US">Definition of an argument of the function.</span>

**<span lang="EN-US">Attributes:</span>**

<table border="1" id="bkmrk-argument-required-de-1" style="border-collapse: collapse; width: 91.8519%;"><colgroup><col style="width: 17.6301%;"></col><col style="width: 16.8248%;"></col><col style="width: 65.5451%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>name</td><td>Yes</td><td>Name of the argument.</td></tr><tr><td>uid</td><td>Yes</td><td>Unique Id of argument.</td></tr><tr><td>type</td><td>Yes</td><td>Type of the argument. This can be any basic or complex type if intended to be used for dynamic input/output. For static values any type is supported.</td></tr><tr><td>description</td><td>No</td><td>Description of the argument.</td></tr><tr><td>is\_output</td><td>No</td><td>If set, this argument is passed as a reference with the intend to use it as an output value or in a condition.</td></tr></tbody></table>

**<span lang="EN-US">Children:  
</span>**<span lang="EN-US" style="mso-fareast-font-family: 'Segoe UI';">None</span>

---