Type | Description | |||
String | A String expression that specifies the x-script code to be executed. |
For instance Caption property on: 'Height=64;AssemblyQualifiedName = "System.Windows.Forms.TreeView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";Host.Item("Nodes.Add(`Root 1`)").Template = "Nodes{ Add(`Child 1`); Add(`Child 2`) }; Expand() }"' generates a result such as:
or in other words inserts a TreeView control with a root and two-child elements.
The Template/x-script syntax in BNF notation is defined like follows:
<x-script> := <lines> <lines> := <line>[<eol> <lines>] | <block> <block> := <call> [<eol>] { [<eol>] <lines> [<eol>] } [<eol>] <eol> := ";" | "\r\n" <line> := <dim> | <createobject> | <call> | <set> | <comment> <dim> := "DIM" <variables> <variables> := <variable> [, <variables>] <variable> := "ME" | <identifier> <createobject> := "CREATEOBJECT(`"<type>"`)" <call> := <variable> | <property> | <variable>"."<property> | <createobject>"."<property> <property> := [<property>"."]<identifier>["("<parameters>")"] <set> := <call> "=" <value> <property> := <identifier> | <identifier>"("[<parameters>]")" <parameters> := <value> [","<parameters>] <value> := <boolean> | <number> | <color> | <date> | <string> | <createobject> | <call> <boolean> := "TRUE" | "FALSE" <number> := "0X"<hexa> | ["-"]<integer>["."<integer>] <digit10> := 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <digit16> := <digit10> | A | B | C | D | E | F <integer> := <digit10>[<integer>] <hexa> := <digit16>[<hexa>] <color> := "RGB("<integer>","<integer>","<integer>")" <date> := "#"<integer>"/"<integer>"/"<integer>" "[<integer>":"<integer>":"<integer>"]"#" <string> := '"'<text>'"' | "`"<text>"`" <comment> := "'"<text>
where:
<identifier> indicates an identifier of the variable, property or
method, and should start with a letter.
<type> indicates the type the CreateObject function creates, as
the assembly-qualified name of the type to create.
<text> any string of characters
The Template / x-script is composed by lines of instructions. Instructions are separated by "\r\n" ( new line characters ) or ";" character. The TemplateThrowError property specifies whether the control fires an exception/error when the Template call fails. The TemplateError / TemplateException gets the error if the Template calls fails. The TemplateResult property returns the result of the last instruction into a Template call, as a NAVObjectTemplate object.
An x-script instruction/line can be one of the following:
where
The x-script uses constant expressions as follows:
Also , the template or x-script code supports general functions as follows: