# iXML — LLM full working set
## Spec
- ixmldoc.xml: /__doc/ixmldoc.xml
## Indexes
- Namespaces (JSON): /ai/ixml/namespaces.json
- Commands with parents, children, result bindings and source lines (JSON): /ai/ixml/commands.json
- Full reference (Markdown): /ai/ixml/ixml.md
## Per-namespace docs (Markdown)
- array: /ai/ixml/namespace.array.md
- auth: /ai/ixml/namespace.auth.md
- bin: /ai/ixml/namespace.bin.md
- ctrl: /ai/ixml/namespace.ctrl.md
- date: /ai/ixml/namespace.date.md
- db: /ai/ixml/namespace.db.md
- debug: /ai/ixml/namespace.debug.md
- decode: /ai/ixml/namespace.decode.md
- encode: /ai/ixml/namespace.encode.md
- excel: /ai/ixml/namespace.excel.md
- extdata: /ai/ixml/namespace.extdata.md
- file: /ai/ixml/namespace.file.md
- form: /ai/ixml/namespace.form.md
- http: /ai/ixml/namespace.http.md
- mail: /ai/ixml/namespace.mail.md
- math: /ai/ixml/namespace.math.md
- misc: /ai/ixml/namespace.misc.md
- numformat: /ai/ixml/namespace.numformat.md
- pdf: /ai/ixml/namespace.pdf.md
- rest: /ai/ixml/namespace.rest.md
- soap: /ai/ixml/namespace.soap.md
- std: /ai/ixml/namespace.std.md
- tags: /ai/ixml/namespace.tags.md
- temp: /ai/ixml/namespace.temp.md
- xml: /ai/ixml/namespace.xml.md
- zip: /ai/ixml/namespace.zip.md
---
# iXML Language Reference (AI-friendly)
## Spec
- /__doc/ixmldoc.xml
## Terminology
- Element: Simple XML element
- Structure: Compound XML structure containing one or more elements
- Operation: Semantic definition of an element
- Construct: Semantic definition of a structure
- Statement: Executable instance of an operation or construct
- Code: Series of statements
## Input types
- var: String referencing a variable ('name') or an array item with a specific key ('name[key]', 'name.key') (unnecessary whitespace characters are automatically stripped)
- bool: Applicable if set and not empty
- int: Arithmetic expression cast to an integer number
- float: Arithmetic expression cast to a floating point number
- date: Arithmetic expression cast to an integer number and interpreted as a Unix timestamp
- string: Arbitrary byte sequence or series of Unicode (UTF-8) characters
- regexp: String interpreted as a Perl-compatible regular expression pattern enclosed in delimiters ('/[a-z]+/i')
- type: Meta type (case-insensitive)
- ixml: Arbitrary code
## Result types
- null: NULL
- bool: Boolean
- int: Integer number
- float: Floating point number
- string: String (arbitrary byte sequence)
- array: Array (collection of items in an ordered map that associates keys to values)
- function: Function (closed subroutine)
- macro: Macro (open subroutine)
- class: Class (array prototype)
## Namespaces
- array — Array: /ai/ixml/namespace.array.md
- auth — Authentication (ZeyOS): /ai/ixml/namespace.auth.md
- bin — Binary data store (ZeyOS): /ai/ixml/namespace.bin.md
- ctrl — Control constructs: /ai/ixml/namespace.ctrl.md
- date — Date and time: /ai/ixml/namespace.date.md
- db — Database: /ai/ixml/namespace.db.md
- debug — Debug: /ai/ixml/namespace.debug.md
- decode — Decoding: /ai/ixml/namespace.decode.md
- encode — Encoding: /ai/ixml/namespace.encode.md
- excel — Excel: /ai/ixml/namespace.excel.md
- extdata — ExtData (ZeyOS): /ai/ixml/namespace.extdata.md
- file — File system: /ai/ixml/namespace.file.md
- form — Form (ZeyOS): /ai/ixml/namespace.form.md
- http — HTTP: /ai/ixml/namespace.http.md
- mail — Mail (ZeyOS): /ai/ixml/namespace.mail.md
- math — Mathematics: /ai/ixml/namespace.math.md
- misc — Miscellaneous (ZeyOS): /ai/ixml/namespace.misc.md
- numformat — Number format (ZeyOS): /ai/ixml/namespace.numformat.md
- pdf — PDF: /ai/ixml/namespace.pdf.md
- rest — RESTful: /ai/ixml/namespace.rest.md
- soap — SOAP: /ai/ixml/namespace.soap.md
- std — Standard: /ai/ixml/namespace.std.md
- tags — Tags (ZeyOS): /ai/ixml/namespace.tags.md
- temp — Temporary data store (ZeyOS): /ai/ixml/namespace.temp.md
- xml — XML: /ai/ixml/namespace.xml.md
- zip — ZIP: /ai/ixml/namespace.zip.md
---
# iXML — ctrl (Control constructs)
## Spec
- /__doc/ixmldoc.xml
## if — Conditional value execution
The IF construct is a control flow structure that allows for conditional execution of code dependent on two values.
If the condition is true, the embedded code is executed. Otherwise, a series of embedded ELSEIF and ELSEIS statements is tested one by one. Only the first ELSEIF or ELSEIS statement that is found to be true will be executed. If none of the conditions are true, the embedded ELSE statement will be executed instead.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| value1 | string | | Value to compare from |
| value2 | string\|regexp | | Value to compare to |
| func | string | = | Comparison function |
#### Possible values
Possible values for `func`:
- = — Equals
- =* — Equals, case-insensitive
- != — Not equals
- <> — Not equals
- !=* — Not equals, case-insensitive
- <>* — Not equals, case-insensitive
- < — Less than
- <= — Less than or equal to
- > — Greater than
- >= — Greater than or equal to
- _ — Contains
- _* — Contains, case-insensitive
- !_ — Not contains
- !_* — Not contains, case-insensitive
- ^ — Starts with
- ^* — Starts with, case-insensitive
- !^ — Not starts with
- !^* — Not starts with, case-insensitive
- $ — Ends with
- $* — Ends with, case-insensitive
- !$ — Not ends with
- !$* — Not ends with, case-insensitive
- ~ — Matches regular expression
- !~ — Not matches regular expression
### Children
- elseif (occurrence: multiple) — Elsewise conditional value execution
- elseis (occurrence: multiple) — Elsewise conditional type execution
- else (occurrence: single) — Elsewise execution
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
iXML
```
```xml
Steve Jobs
```
```xml
iXML
```
## is — Conditional type execution
The IS construct is a control flow structure that allows for conditional execution of code dependent on the data type of a variable.
If the condition is true, the embedded code is executed. Otherwise, a series of embedded ELSEIF and ELSEIS statements is tested one by one. Only the first ELSEIF or ELSEIS statement that is found to be true will be executed. If none of the conditions are true, the embedded ELSE statement will be executed instead.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| type | type | valid | Type |
#### Possible values
Possible values for `type`:
- valid — Is valid (defined and not NULL nor FALSE)
- non-valid — Is not valid
- empty — Is empty (non-valid, numeric zero, empty string or empty array)
- non-empty — Is not empty
- defined — Is defined
- undefined — Is undefined
- null — Is NULL
- non-null — Is not NULL
- true — Is TRUE
- non-true — Is not TRUE
- false — Is FALSE
- non-false — Is not FALSE
- bool — Is a boolean
- non-bool — Is not a boolean
- int — Is an integer number
- non-int — Is not an integer number
- float — Is a floating point number
- non-float — Is not a floating point number
- string — Is a string
- non-string — Is not a string
- array — Is an array
- non-array — Is not an array
- function — Is a function
- non-function — Is not a function
- macro — Is a macro
- non-macro — Is not a macro
- class — Is a class
- non-class — Is not a class
- number — Is a number
- non-number — Is not a number
- numeric — Is numeric
- non-numeric — Is non-numeric
- scalar — Is scalar
- non-scalar — Is non-scalar
- subroutine — Is a subroutine
- non-subroutine — Is not a subroutine
- complex — Is a complex type
- non-complex — Is not a complex type
- nan — Is not a number (NaN)
- infinite — Is positive or negative infinite (INF)
### Children
- elseif (occurrence: multiple) — Elsewise conditional value execution
- elseis (occurrence: multiple) — Elsewise conditional type execution
- else (occurrence: single) — Elsewise execution
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
iXML
```
## switch — Selective execution
The SWITCH construct is a control flow structure that allows for selective execution of code controlled via a multiway branch. It can be thought of as a series of IF constructs, each with the same value to compare from.
If the value of a SWITCH statement equals the value of an embedded CASE statement, the control flow continues with the execution of that CASE statement. Otherwise, the control flow continues with the execution of the embedded DEFAULT statement.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| value | string | | Value to compare from |
### Children
- case (occurrence: multiple) — Branch execution
- default (occurrence: single) — Default execution
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
Gates
```
```xml
Steve
Gates
```
## while — While loop
The WHILE construct is a control flow structure that allows code to be executed repeatedly based on a condition. It can be thought of as a repeating IF construct that is being re-evaluated before each loop iteration.
While the condition is true, the embedded code is executed. Otherwise, the execution continues outside the loop.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| value1 | string | | Value to compare from |
| value2 | string\|regexp | | Value to compare to |
| func | string | = | Comparison function |
#### Possible values
Possible values for `func`:
- = — Equals
- =* — Equals, case-insensitive
- != — Not equals
- <> — Not equals
- !=* — Not equals, case-insensitive
- <>* — Not equals, case-insensitive
- < — Less than
- <= — Less than or equal to
- > — Greater than
- >= — Greater than or equal to
- _ — Contains
- _* — Contains, case-insensitive
- !_ — Not contains
- !_* — Not contains, case-insensitive
- ^ — Starts with
- ^* — Starts with, case-insensitive
- !^ — Not starts with
- !^* — Not starts with, case-insensitive
- $ — Ends with
- $* — Ends with, case-insensitive
- !$ — Not ends with
- !$* — Not ends with, case-insensitive
- ~ — Matches regular expression
- !~ — Not matches regular expression
### Children
- else (occurrence: single) — Elsewise execution
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
0
```
```xml
0
```
```xml
0
```
## for — For loop
The FOR construct is a control flow structure for arithmetic progression, enumerating values of a given numeric range.
On each loop iteration, the embedded code is executed with the loop counter assigned to 'var'.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name for loop counter |
| from | int | | From |
| to | int | | To |
| step | int | 1 | Step |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
```xml
```
## foreach — For each loop
The FOREACH construct is a control flow structure for traversing items in a collection by iterating over an array, populating the associated key and value pairs for each item.
On each loop iteration, the embedded code is executed with the key of the current item assigned to 'var_key' and the value of the current item assigned to 'var_value'.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Source variable name |
| var_key | var | | Variable name for key |
| var_value | var | | Variable name for value |
### Children
- else (occurrence: single) — Elsewise execution
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
- Bill Gates
- Steve Jobs
```
```xml
- Bill Gates
- Steve Jobs
William Henry Gates III
```
```xml
- Bill
- Gates
- Steve
- Jobs
William Henry Gates III
```
```xml
- Bill Gates
- Steve Jobs
```
```xml
- Bill Gates
- Steve Jobs
```
## exit — Exit
EXIT irreversibly halts the execution completely after a final output.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## return — Return
RETURN returns to the original control flow of the invoking control statement, thereby passing back the special local variable 'return'.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
iXML
XML
```
## break — Break-off
BREAK breaks out of the current control flow and continues with the execution outside the paternal control statement, though leaping over arbitrary levels of nested control statements.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| leap | int | | Leap |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
0
```
```xml
- Bill Gates
- Steve Jobs
```
## next — Next
NEXT skips the rest of the current branch or loop iteration and continues with the execution of the next consecutive branch or loop iteration, though leaping over arbitrary levels of nested control statements.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| leap | int | | Leap |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
Steve
Gates
```
```xml
0
```
```xml
- Bill Gates
- Steve Jobs
```
## include — Include code source
INCLUDE parses and executes an external code source, specified by filename/URL. Arguments may be passed to local variables as parameters on switch of context.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_params | var | | Variable name for associated parameter name and value pairs |
| once | bool | | Include just once |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
## param — Parameter
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| name | string | (same as last member of 'var' or next consecutive numeric index) | Name |
| var | var | | Variable name |
### Children
- (none)
### Parents
- include
- call
- new
- zymba:run
### Result
- (none documented)
### Examples
```xml
iXML
```
## function — Function definition
The FUNCTION construct defines a closed subroutine as a code sequence that can be invoked with subsequent CALL statements.
The USE construct declares a free function variable for use as a local variable within the closure function that is explicitly bound to a corresponding variable from the immediate context within which the function is defined, thereby directly referencing the non-local variable from the parent scope outside of the inherent context of the function. The parent scope of the closure is the one in which the function is defined, not necessarily the one that the function was called from.
In the context of object-oriented design, a function that corresponds to an array item is to be termed a method while the referenced array is to be termed an object.
A function can be coded so that it may call itself recursively. This technique allows direct implementation of functions defined by mathematical induction and recursive divide and conquer algorithms.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- use (occurrence: multiple) — Use
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: function; predicate: no-result-propagation
### Examples
```xml
iXML
```
```xml
iXML
```
```xml
iXML
```
```xml
iXML
XML
```
```xml
- Bill Gates
- Steve Jobs
$name
```
```xml
1
```
## call — Call function
CALL breaks out of the current control flow and continues with the execution of a function. It then returns to its original control flow. Arguments may be passed to local variables as parameters on switch of context.
A function can be coded so that it may call itself recursively. This technique allows direct implementation of functions defined by mathematical induction and recursive divide and conquer algorithms.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| func | var | | Function variable name |
| var | var | | Result variable name |
| var_params | var | | Variable name for associated parameter name and value pairs |
| var_this | var | | Variable name for explicit rebinding of 'this' |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
iXML
```
```xml
iXML
```
```xml
iXML
```
```xml
iXML
XML
```
```xml
- Bill Gates
- Steve Jobs
$name
```
```xml
1
```
```xml
CountryName
- DE
```
```xml
Content-Type: application/json
/products/
/products/:id
/products/:id
{"name": "Some Fruit", "price": 4.99}
{"name": "Wildberries"}
```
## macro — Macro definition
The MACRO construct defines an open subroutine as a code sequence that can be expanded with subsequent EXPAND statements.
Macro expansion allows for code reuse with minimal computational overhead compared to function invocation.
A macro can be coded so that it may expand itself recursively. This technique allows direct implementation of functions defined by mathematical induction and recursive divide and conquer algorithms.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: macro; predicate: no-result-propagation
### Examples
```xml
iXML
```
```xml
- Bill Gates
- Steve Jobs
```
## expand — Expand macro
EXPAND breaks out of the current control flow and continues with the execution of a macro. It then returns to its original control flow.
Macro expansion allows for code reuse with minimal computational overhead compared to function invocation.
A macro can be coded so that it may expand itself recursively. This technique allows direct implementation of functions defined by mathematical induction and recursive divide and conquer algorithms.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| macro | var | | Macro variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
iXML
```
```xml
- Bill Gates
- Steve Jobs
```
## class — Class definition
The CLASS construct defines a class that can be instantiated with subsequent NEW statements. It serves as an array prototype for object-oriented design.
A class is used as a blueprint to create instances of itself. It defines constituent properties and methods which enable these class instances to have state and behavior. Upon instantiation the properties and methods of a class become the associated key and value pairs of a newly created array, which in the context of object-oriented design is to be termed an object.
Classes can be derived from multiple existing classes, thereby establishing a hierarchial relationship in which a parent class can be considered as a common part of its subclasses. Extending a class will have the subclass inherit all the properties and methods from the parent class.
The EXTENDS construct incorporates the properties, constructors and methods of a parent class, thereby overloading existing constituents.
The PROPERTY construct defines a property of the class, which upon instantiation will become a regular array item with its name as the key.
The CONSTRUCTOR construct defines a special type of subroutine as a code sequence that cannot be invoked directly but will automatically be called on each newly created object in order to establish the invariant of the class and put the object in some desired state upon instantiation. Upon instantiation parent constructors are automatically called along the lines of inheritance.
The METHOD construct defines a closed subroutine as a code sequence analog to the FUNCTION construct but with explicit reference to the corresponding class. Upon instantiation a class method becomes a regular array item with its name as the key and the underlying function as the value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- extends (occurrence: multiple) — Extends
- property (occurrence: multiple) — Property
- constructor (occurrence: single) — Constructor
- method (occurrence: multiple) — Method
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: class; predicate: no-result-propagation
### Examples
```xml
male
$firstname
$lastname
$this.firstname $this.lastname
Bill
Gates
```
## new — New instance
NEW creates a new object by instantiating a class and automatically calling all constructors along the lines of inheritance. Arguments may be passed to local variables as parameters on switch of context.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| class | var | | Class variable name |
| var | var | | Object variable name |
| var_params | var | | Variable name for associated parameter name and value pairs |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
male
$firstname
$lastname
$this.firstname $this.lastname
Bill
Gates
```
## try — Error handling
The TRY construct is a control flow structure that handles the occurrence of errors, warnings, exceptions and other special conditions that change the normal control flow.
An error can be thrown and caught. Code may be surrounded by a TRY statement, to facilitate the catching of potential errors. If an error is thrown or otherwise triggered within a TRY statement, the control flow continues with the execution of the embedded CATCH statement with the error message assigned to 'var'. In case no error occurs, the control flow continues with the execution of the embedded ELSE statement instead. Eventually the control flow always continues with the execution of the embedded FINALLY statement wheter an error occurred or not.
### Attributes
- (none)
### Children
- catch (occurrence: single) — Error triggered execution
- else (occurrence: single) — Elsewise execution
- finally (occurrence: single) — Final execution
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
iXML
An error has occurred!
```
```xml
iXML
My name is unknown!
My name is $name!
```
## error — Throw error
ERROR breaks out of the current control flow by throwing an error with an error message.
An error can be thrown and caught. Code may be surrounded by a TRY statement, to facilitate the catching of potential errors.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
iXML
An error has occurred!
```
## warning — Throw warning (ZeyOS)
WARNING breaks out of the current control flow by throwing a warning with a warning message.
A warning can be thrown and caught. Code may be surrounded by a TRY statement, to facilitate the catching of potential warnings.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
This is a warning!
```
---
# iXML — std (Standard)
## Spec
- /__doc/ixmldoc.xml
## global — Global variable
Global declares a variable as global.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a; predicate: no-result-propagation
### Examples
```xml
iXML
```
```xml
iXML
```
## typeof — Type of variable
TYPEOF returns the intrinsic data type of a variable.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: string
### Examples
```xml
iXML
```
## instanceof — Instance of class
INSTANCEOF checks whether a variable is an object of a given class.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| class | var | | Class variable name |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: bool
### Examples
```xml
$name
Bill Gates
```
```xml
$name
Bill Gates
Steve Jobs
```
## classinfo — Class information
CLASSINFO returns various components of a class.
CLASSINFO returns an array comprised of the following items:
Key Description
------------------------------------------------
class class
extends array of extended classes
parents array of all derived parent classes
constructors array of constructor functions
prototype array prototype
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| class | var | | Class variable name |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
$name
```
```xml
$name
Bill Gates
```
## equals — Equals strictly
EQUALS checks whether the values of two variables are strictly equal without type coercion.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var1 | var | | Variable name 1 |
| var2 | var | | Variable name 2 |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: bool
### Examples
```xml
Bill Gates
Steve Jobs
```
```xml
123
123
```
## set — Set variable
SET sets the value of a variable.
These three statements are semantically equivalent:
value
value
value
These two statements are semantically equivalent:
value
value
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| key | string | (no key) | Key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
Bill
Gates
```
```xml
Bill Gates
Steve Jobs
```
```xml
Bill Gates
Steve Jobs
```
## unset — Unset variable
UNSET unsets a variable.
These three statements are semantically equivalent:
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| key | string | (no key) | Key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
```xml
```
```xml
```
## null — Set variable to NULL
NULL sets the value of a variable to NULL.
These three statements are semantically equivalent:
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| key | string | (no key) | Key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: null
### Examples
```xml
```
```xml
```
```xml
```
## true — Set variable to TRUE
TRUE sets the value of a variable to TRUE.
These three statements are semantically equivalent:
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| key | string | (no key) | Key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: bool
### Examples
```xml
```
```xml
```
```xml
```
## false — Set variable to FALSE
FALSE sets the value of a variable to FALSE.
These three statements are semantically equivalent:
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| key | string | (no key) | Key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: bool
### Examples
```xml
```
```xml
```
```xml
```
## assign — Assign variable
ASSIGN assignes the value of a source variable to a target variable.
These three statements are semantically equivalent:
These three statements are semantically equivalent:
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Target variable name |
| var_source | var | | Source variable name |
| key | string | (no key) | Target key |
| key_source | string | (no key) | Source key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a; predicate: no-result-propagation
### Examples
```xml
iXML
```
## clone — Clone variable
CLONE creates a shallow copy of the value of a variable independent of it's data type.
If the result variable 'var_result' is omitted, the resulting value will be stored in 'var' instead.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (same as 'var') | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
Larry Ellison
```
## swap — Swap variables
SWAP swappes the values of two variables.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var1 | var | | Variable name 1 |
| var2 | var | | Variable name 2 |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var1; type: n/a; predicate: no-result-propagation
- binding: var2; type: n/a; predicate: no-result-propagation
### Examples
```xml
XML
iXML
```
## cast — Cast variable
CAST casts a variable to a given data type.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| type | type | string | Data type |
#### Possible values
Possible values for `type`:
- bool — Boolean
- int — Integer number
- float — Floating point number
- string — String
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: bool|int|float|string
### Examples
```xml
123
```
## eval — Evaluate expression
EVAL evaluates an expression of a given data type.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| type | type | string | Data type |
#### Possible values
Possible values for `type`:
- bool — Boolean
- int — Integer number
- float — Floating point number
- string — String
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: bool|int|float|string
### Examples
```xml
$
iXML
```
## verbatim — Verbatim content
VERBATIM returns verbatim content without variable substitution or inherint expression evaluation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## serialize — Serialize variable
SERIALIZE generates a storable representation of the value of a variable.
SERIALIZE is the complement of the UNSERIALIZE operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: string
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## unserialize — Unserialize variable
UNSERIALIZE generates a value from a stored representation.
UNSERIALIZE is the complement of the SERIALIZE operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
a:2:{s:2:"bg";s:10:"Bill Gates";s:2:"sj";s:10:"Steve Jobs";}
```
## length — String length
LENGTH returns the string length of a value in characters.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
iXML
$name
```
## size — Binary size
SIZE returns the binary size of a value in bytes.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
$name
```
## char — Character of UTF-8 code
CHAR returns the specific character of an UTF-8 code.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
```
## ord — Ordinal number of character
ORD returns the ordinal number of a character as an UTF-8 code.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
```
## concat — Concatenate
CONCAT concatenates a value to a variable.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
i
XML
```
## tolower — To lower case
TOLOWER returns the lower case representation of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## toupper — To upper case
TOUPPER returns the upper case representation of a value by capitalizing the first character, all words or all characters.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| type | type | chars | Capitilization type |
#### Possible values
Possible values for `type`:
- chars — All characters
- words — All words
- first — First character
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
```xml
```
```xml
```
## trim — Strip whitespaces
TRIM strips whitespace characters from the beginning and/or end of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| type | type | both | Direction type |
#### Possible values
Possible values for `type`:
- both — Both
- left — From left
- right — From right
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## pos — Position of first/last occurrence
POS finds the position of first or last occurrence of a value within a subject and returns the index of the corresponding byte or character if applicable.
If the offset is negative it will start that many bytes or characters from the end of the subject.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| value | string | | Value |
| offset | int | | Search offset |
| type | type | chars-first | Measurement type |
#### Possible values
Possible values for `type`:
- chars-first — First occurrence by characters
- chars-last — Last occurrence by characters
- bytes-first — First occurrence by bytes
- bytes-last — Last occurrence by bytes
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
```
## substr — Substring
SUBSTR returns part of a value, isolated by an offset and a length.
If the offset is negative it will start that many bytes or characters from the end of the value. If the length is omitted, every byte or character from the offset until the end of the value will be returned. If the length is negative then it will stop that many bytes or characters from the end of the value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| offset | int | | Offset |
| length | int | (end of value) | Length |
| type | type | chars | Measurement type |
#### Possible values
Possible values for `type`:
- chars — By characters
- bytes — By bytes
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## pad — Pad
PAD pads a value to a given length.
If the length is positive then the value is padded on the right, if it is negative then on the left. If the padding value is empty or the absolute length is less than or equal to the actual length of the value then no padding takes place.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| length | int | | Length |
| padding | string | (space) | Padding value |
| type | type | chars | Measurement type |
#### Possible values
Possible values for `type`:
- chars — By characters
- bytes — By bytes
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## match — Regular expression match
MATCH performs a global regular expression match on a subject against a given pattern and assignes the number of full matches to 'var', while the actual matches are assigned to 'var_matches'.
Results are ordered so that matches[0] is an array of first set of matches, matches[1] is an array of second set of matches, and so on.
If the offset is negative it will start that many characters from the end of the subject.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for number of matches |
| var_matches | var | | Result variable name for actual matches |
| pattern | regexp | | Pattern |
| offset | int | | Search offset |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
- binding: var_matches; type: array; predicate: no-result-propagation
### Examples
```xml
My name is iXML!
```
## replace — Search and replace
REPLACE searches a subject for occurrences of a given search value or matches to a given search pattern and replaces them with a given replacement value. The number of actual replacements is assigned to 'var_count'.
The replacement value of a regular expression may contain backreferences of the form '\n'. Every such reference will be replaced by the text captured by the n'th parenthesized pattern. '\0' always refers to the text matched by the entire search pattern.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_count | var | | Result variable name for number of replacements |
| replacement | string | | Replacement value |
| limit | int | (no limit) | Limit |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
```xml
```
```xml
```
## split — Split
SPLIT splits a subject along boundaries formed by a given delimiter or matched by a given pattern.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| limit | int | (no limit) | Limit |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
Bill Gates, Steve Jobs
```
```xml
Bill Gates, Steve Jobs
```
## convert — Convert character encoding
CONVERT converts the character encoding of a value from a source character set to a target character set.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| from | type | UTF-8 | Source character set |
| to | type | UTF-8 | Target character set |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## output — Output
OUTPUT outputs a value.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
## header — Set HTTP header
HEADER sets a single HTTP response header field and optionally resets the HTTP response status code.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| status | int | | HTTP status code |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
## sleep — Sleep
SLEEP execution for a specific duration in number of seconds.
The duration may include nano seconds in the fractional part.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
0.1
```
---
# iXML — math (Mathematics)
## Spec
- /__doc/ixmldoc.xml
## math:abs — Absolute number
MATH:ABS returns the absolute number of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:sign — Extract sign
MATH:SIGN extracts the sign of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
```
## math:inc — Increment variable
MATH:INC increments the value of a variable.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
1
```
## math:dec — Decrement variable
MATH:DEC decrements the value of a variable.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
2
```
## math:mod — Floating point modulo
MATH:MOD calculates the floating point remainder of the division of two values (x/y).
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| x | float | | Numerator |
| y | float | | Denominator |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:exp — Exponent of Euler's constant
MATH:EXP raises Euler's constant (e) to a given power.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:ln — Natural logarithm
MATH:LN calculates the natural logarithm of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:log — Logarithm
MATH:LOG calculates the logarithm of a value using a given logarithmic base.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| base | int | 10 | Logarithmic base |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:pow — Raise to power
MATH:POW raises a value to the power of an exponent.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| exponent | int | 2 | Exponent |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:sqrt — Square root
MATH:SQRT calculates the square root of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:hypot — Hypotenuse
MATH:HYPOT calculates the length of the hypotenuse of a right-angle triangle.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| x | float | | Abscissa |
| y | float | | Ordinate |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:pi — PI
MATH:PI returns the circle constant (π).
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:sin — Sine
MATH:SIN calculates the sine of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:sinh — Hyperbolic sine
MATH:SINH calculates the hyperbolic sine of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:asin — Arc sine
MATH:ASIN calculates the inverse sine of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:asinh — Arc hyperbolic sine
MATH:ASINH calculates the inverse hyperbolic sine of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:cos — Cosine
MATH:COS calculates the cosine of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:cosh — Hyperbolic cosine
MATH:COSH calculates the hyperbolic cosine of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:acos — Arc cosine
MATH:ACOS calculates the inverse cosine of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:acosh — Arc hyperbolic cosine
MATH:ACOSH calculates the inverse hyperbolic cosine of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:tan — Tangent
MATH:TAN calculates the tangent of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:tanh — Hyperbolic tangent
MATH:TANH calculates the hyperbolic tangent of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:atan — Arc tangent
MATH:ATAN calculates the inverse tangent of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:atanh — Arc hyperbolic tangent
MATH:ATANH calculates the inverse hyperbolic tangent of a value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:atan2 — Arc tangent of y/x
MATH:ATAN2 calculates the inverse tangent of the division of two values (y/x) using the sign of both values to determine the quadrant.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| x | float | | Abscissa |
| y | float | | Ordinate |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:round — Round
MATH:ROUND rounds a value to a number of decimal digits, specified by a given precision.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| precision | int | | Precision |
| type | type | half-infinity | Rounding type |
#### Possible values
Possible values for `type`:
- half-infinity — Symmetrically to nearest, ties towards infinity.
- half-zero — Symmetrically to nearest, ties towards zero.
- half-up — Upwards to nearest, ties towards positive infinity
- half-down — Downwards to nearest, ties towards negative infinity
- half-even — Symmetrically to nearest, ties to even
- half-odd — Symmetrically to nearest, ties to odd.
- infinity — Symmetrically towards infinity
- zero — Symmetrically towards zero
- up — Upwards to positive infinity
- down — Downwards to negative infinity
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:ceil — Round fractions up
MATH:CEIL rounds a value up to the next highest integer number.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:floor — Round fractions down
MATH:FLOOR rounds a value down to the next lowest integer number.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:rand — Random number
MATH:RAND generates a random number between a given numeric range.
If the maximum number is omitted, it will range up to the largest possible integer number.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| min | int | | Minimum number |
| max | int | (largest possible integer number) | Maximum number |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: float
### Examples
```xml
```
## math:convert — Convert number
MATH:CONVERT converts the number representation of a value from a source representation to a target representation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| from | type | dec | Source representation |
| to | type | dec | Target representation |
#### Possible values
Possible values for `from`:
- bin — Binary
- oct — Octal
- dec — Decimal
- hex — Hexadecimal
- deg — Degrees (decimal)
- rad — Radian (decimal)
Possible values for `to`:
- bin — Binary
- oct — Octal
- dec — Decimal
- hex — Hexadecimal
- deg — Degrees (decimal)
- rad — Radian (decimal)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int|float|string
### Examples
```xml
```
## math:format — Format number
MATH:FORMAT returns the formatted representation of a value with a fixed number of decimal digits and grouped thousands.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| countdec | int | | Number of decimal digits |
| decpoint | string | . | Decimal point |
| separator | string | , | Thousands separator |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
---
# iXML — date (Date and time)
## Spec
- /__doc/ixmldoc.xml
## date:now — Current timestamp
DATE:NOW returns the timestamp for the current date and time. The timestamp may optionally include micro seconds in the fractional part.
Timestamps are based on Unix time, defined as the number of seconds elapsed since midnight proleptic Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| micro | bool | | Include micro seconds |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int|float
### Examples
```xml
```
## date:info — Date information
DATE:INFO returns the various components of a date and time.
DATE:INFO returns an array comprised of the following items:
Key Description
---------------------------------------------
day Day (1..31)
month Month (1..12)
year Year, 4 digits
hour Hour (0..59)
minute Minute (0..59)
second Second (0..59)
wday Day of week, Sunday to Saturday (0..6)
yday Day of year (0..365)
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| timezone | string | (system time zone) | Time zone |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
## date:create — Create timestamp
DATE:CREATE creates the timestamp for a date, specified by day, month, year, hour, minute and second.
Timestamps are based on Unix time, defined as the number of seconds elapsed since midnight proleptic Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| day | int | | Day |
| month | int | | Month |
| year | int | | Year |
| hour | int | | Hour |
| minute | int | | Minute |
| second | int | | Second |
| timezone | string | (system time zone) | Time zone |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
```
## date:parse — Parse date and time
DATE:PARSE returns the timestamp for a date by parsing a textual date and time value.
Timestamps are based on Unix time, defined as the number of seconds elapsed since midnight proleptic Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| timezone | string | (system time zone) | Time zone |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
```
## date:format — Format timestamp
DATE:FORMAT returns the formatted representation of a timestamp according to a given PHP-compatible format.
Timestamps are based on Unix time, defined as the number of seconds elapsed since midnight proleptic Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| format | string | c | Format |
| timezone | string | (system time zone) | Time zone |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
---
# iXML — array (Array)
## Spec
- /__doc/ixmldoc.xml
## array — Build array
ARRAY builds an array with associated key and value pairs. It may be deeply nested in order to build a multidimensional array.
If the key is omitted within ARRAY or ITEM, a consecutive numeric key will implicitly be generated.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| key | string | (next consecutive numeric key) | Key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
```
```xml
- Bill Gates
- Steve Jobs
```
## item — Array item
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| key | string | (next consecutive numeric key) | Key |
### Children
- (none)
### Parents
- array
### Result
- (none documented)
## array:range — Array range
ARRAY:RANGE creates an array with values of a given numeric range.
ARRAY:RANGE will implicitly generate a consecutive numeric key for each item of the numeric range.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| from | int | | From |
| to | int | | To |
| step | int | 1 | Step |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
```xml
```
## array:assoc — Associate keys and values
ARRAY:ASSOC creates an array of associated key and value pairs by combining two separate arrays of keys and values.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_keys | var | | Variable name for keys |
| var_values | var | | Variable name for values |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
- bg
- sj
- Bill Gates
- Steve Jobs
```
## array:populate — Populate array
ARRAY:POPULATE imports all associated key and value pairs from an array into the local variable scope by treating keys as variable names, expanded by a given prefix, and values as non-referential variable values.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| prefix | string | | Prefix |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:length — Array length
ARRAY:LENGTH returns the number of items in an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: int
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:keyexists — Array key exists
ARRAY:KEYEXISTS checks whether a key exists within an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: bool
### Examples
```xml
- Bill Gates
- Steve Jobs
sj
```
## array:valueexists — Array value exists
ARRAY:VALUEEXISTS checks whether a value exists within an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: bool
### Examples
```xml
- Bill Gates
- Steve Jobs
Steve Jobs
```
## array:pos — Position of first/last occurrence
ARRAY:POS finds the position of first or last occurrence of a value within an array and returns the key of the corresponding array item if applicable.
If the offset is negative it will start that many items from the end of the array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
| offset | int | | Search offset |
| type | type | first | Measurement type |
#### Possible values
Possible values for `type`:
- first — First occurrence
- last — Last occurrence
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: n/a
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:first — First array item
ARRAY:FIRST returns the first item of an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_key | var | | Result variable name for key |
| var_value | var | | Result variable name for value |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_key; type: n/a; predicate: no-result-propagation
- binding: var_value; type: n/a
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:last — Last array item
ARRAY:LAST returns the last item of an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_key | var | | Result variable name for key |
| var_value | var | | Result variable name for value |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_key; type: n/a; predicate: no-result-propagation
- binding: var_value; type: n/a
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:rand — Random array item
ARRAY:RAND returns a random item of an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_key | var | | Result variable name for key |
| var_value | var | | Result variable name for value |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_key; type: n/a; predicate: no-result-propagation
- binding: var_value; type: n/a
## array:push — Push onto array
ARRAY:PUSH pushes a value onto the end of an array.
ARRAY:PUSH will implicitly generate a consecutive numeric key.
These three statements are semantically equivalent:
value
value
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
Steve Jobs
```
## array:pop — Pop off array
ARRAY:POP pops an item off the end of an array and returns its value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
- binding: var_result; type: n/a
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:shift — Shift off array
ARRAY:SHIFT shifts an item off the beginning of an array and returns its value.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
- binding: var_result; type: n/a
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:unshift — Prepend to array
ARRAY:UNSHIFT prepends a value to the beginning of an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
Steve Jobs
```
## array:concat — Concatenate array
ARRAY:CONCAT concatenates the items of the tail array to an array.
ARRAY:CONCAT will implicitly generate a consecutive numeric key for each item of the tail array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| var_tail | var | | Tail variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:slice — Slice array items
ARRAY:SLICE slices part of an array, isolated by an offset and a length.
If the offset is negative it will start that many items from the end of the array. If the length is omitted, every item from the offset until the end of the array will be returned. If the length is negative then it will stop that many items from the end of the array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| offset | int | | Offset |
| length | int | (end of array) | Length |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
```
## array:extract — Extract array items
ARRAY:EXTRACT extracts and replaces part of an array, isolated by an offset and a length.
If the offset is negative it will start that many items from the end of the array. If the length is omitted, every item from the offset until the end of the array will be returned. If the length is negative then it will stop that many items from the end of the array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_replacement | var | | Replacement variable name |
| var_result | var | | Result variable name |
| offset | int | | Offset |
| length | int | (end of array) | Length |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
- binding: var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
```
```xml
- Bill Gates
- Larry Ellison
- Steve Jobs
```
## array:pad — Pad array
ARRAY:PAD pads an array to a given length.
If the length is positive then the array is padded on the right, if it is negative then on the left. If the absolute length is less than or equal to the actual length of the array then no padding takes place.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| length | int | | Length |
| padding | string | (NULL) | Padding value |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:reverse — Reverse array
ARRAY:REVERSE reverses the item order of an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:flip — Flip array
ARRAY:FLIP exchanges all keys in an array with their associated values.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:unique — Unique array
ARRAY:UNIQUE discards duplicate items from an array, keeping only the first occurrence of each value.
A given key may specify the column of a multidimensional array to distinguish by. If however, the key is omitted, then the array is treated as an unidimensional list.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Bill Gates
```
## array:merge — Array merging
ARRAY:MERGE merges an array with the set array, whereas duplicated non-numeric keys are overwritten while items with numeric keys are appended.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_set | var | | Set variable name |
| var_result | var | (destructive on 'var') | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
```
## array:complement — Array complement
ARRAY:COMPLEMENT generates the relative complement of two arrays by extracting those items of an array that do not exist within the set array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_set | var | | Set variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| type | type | values | Complement type |
#### Possible values
Possible values for `type`:
- keys — By keys
- values — By values
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
- Bill Gates
```
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
- Bill Gates
```
## array:diff — Array difference
ARRAY:DIFF generates the symmetric difference of two arrays by merging those items of both arrays that do not exist within both arrays together, whereas duplicated non-numeric keys are overwritten while items with numeric keys are appended.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_set | var | | Set variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| type | type | values | Difference type |
#### Possible values
Possible values for `type`:
- keys — By keys
- values — By values
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Steve Jobs
- Larry Ellison
```
```xml
- Bill Gates
- Steve Jobs
- Steve Jobs
- Larry Ellison
```
## array:intersect — Array intersection
ARRAY:INTERSECT generates the intersection of two arrays by extracting those items of an array that also exist within the set array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_set | var | | Set variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| type | type | values | Intersection type |
#### Possible values
Possible values for `type`:
- keys — By keys
- values — By values
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Steve Jobs
- Larry Ellison
- Bill Gates
```
```xml
- Bill Gates
- Steve Jobs
- Steve Jobs
- Larry Ellison
- Bill Gates
```
## array:union — Array union
ARRAY:UNION generates the union of two arrays by merging the items of an array with those items of the set array that do not exist in the original array, whereas duplicated non-numeric keys are overwritten while items with numeric keys are appended.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_set | var | | Set variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| type | type | values | Union type |
#### Possible values
Possible values for `type`:
- keys — By keys
- values — By values
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
```
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
```
## array:replace — Replace array items
ARRAY:REPLACE replaces the values of an array with the values of a replacement array based on their common keys.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_replacement | var | | Replacement variable name |
| var_result | var | (destructive on 'var') | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- William Henry Gates III
```
## array:filter — Filter array items
ARRAY:FILTER filters an array by extracting those items of an array whose values meet the given condition.
A given key may specify the column of a multidimensional array to filter by. If however, the key is omitted, then the array is treated as an unidimensional list.
Comparison of numeric values is always performed numerically regardless of the intrinsic data types.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| value | string\|regexp | | Value to compare to |
| func | string | = | Comparison function |
#### Possible values
Possible values for `func`:
- = — Equals
- =* — Equals, case-insensitive
- != — Not equals
- <> — Not equals
- !=* — Not equals, case-insensitive
- <>* — Not equals, case-insensitive
- < — Less than
- <= — Less than or equal to
- > — Greater than
- >= — Greater than or equal to
- _ — Contains
- _* — Contains, case-insensitive
- !_ — Not contains
- !_* — Not contains, case-insensitive
- ^ — Starts with
- ^* — Starts with, case-insensitive
- !^ — Not starts with
- !^* — Not starts with, case-insensitive
- $ — Ends with
- $* — Ends with, case-insensitive
- !$ — Not ends with
- !$* — Not ends with, case-insensitive
- ~ — Matches regular expression
- !~ — Not matches regular expression
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
## array:trim — Strip whitespaces from array items
ARRAY:TRIM strips whitespace characters from the beginning and/or end of the value of each item of an array.
A given key may specify the column of a multidimensional array to trim. If however, the key is omitted, then the array is treated as an unidimensional list.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| type | type | both | Direction type |
#### Possible values
Possible values for `type`:
- both — Both
- left — From left
- right — From right
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:keys — Array keys
ARRAY:KEYS extracts all keys of an array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:values — Array values
ARRAY:VALUES extracts all values of an array.
A given key may specify the column of a multidimensional array to extract from. If however, the key is omitted, then the array is treated as an unidimensional list.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## array:chunk — Chunk-split array
ARRAY:CHUNK splits an array into chunks of a given length.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| length | int | 1 | Length |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
## array:group — Group array items
ARRAY:GROUP groups the items of a multidimensional array by a given key.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| key | string | | Key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
## array:sort — Sort array items
ARRAY:SORT sorts the items of an array in a particular order based on a given sorting type.
A given key may specify the column of a multidimensional array to sort by. If however, the key is omitted, then the array is treated as an unidimensional list.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | (destructive on 'var') | Result variable name |
| type | type | asc | Sorting type |
#### Possible values
Possible values for `type`:
- asc — Ascending
- desc — Descending
- nat-asc — Ascending natural
- nat-desc — Descending natural
- keys-asc — Ascending by keys
- keys-desc — Descending by keys
- keys-nat-asc — Ascending natural by keys
- keys-nat-desc — Descending natural by keys
- rand — Random
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var|var_result; type: array; predicate: no-result-propagation
### Examples
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
```
## array:aggregate — Aggregate array items
ARRAY:AGGREGATE calculates an aggregated value of the values of an array based on a given aggregation type.
A given key may specify the column of a multidimensional array to aggregate by. If however, the key is omitted, then the array is treated as an unidimensional list.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
| type | type | count | Aggregation type |
#### Possible values
Possible values for `type`:
- count — Count
- sum — Summation
- avg — Average
- product — Product
- min — Minimum
- max — Maximum
- range — Range
- median — Median
- mean-arith — Arithmetic mean
- mean-geo — Geometric mean
- mean-harm — Harmonic mean
- mean-sqr — Square mean
- stddev-pop — Population standard deviation
- stddev-samp — Sample standard deviation
- var-pop — Population variance
- var-samp — Sample variance
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: n/a
### Examples
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
```xml
- 16
- 32
- 19
- 57
- 62
- 48
```
## array:join — Join array items
ARRAY:JOIN joins the items of an array together to form a string representation with each value separated by a given delimiter.
A given key may specify the column of a multidimensional array to join by. If however, the key is omitted, then the array is treated as an unidimensional list.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
| delimiter | string | | Delimiter |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: string
### Examples
```xml
- Bill Gates
- Steve Jobs
- Larry Ellison
```
---
# iXML — encode (Encoding)
## Spec
- /__doc/ixmldoc.xml
## encode:hash — Hash
ENCODE:HASH generates the hash of a value according to a given algorithm.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| algorithm | string | md5 | Algorithm |
| raw | bool | | Raw binary format |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:md5 — MD5 hash
ENCODE:MD5 generates the MD5 hash of a value as a 32-character hexadecimal number using the RSA Data Security, Inc. MD5 Message-Digest Algorithm.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:sha1 — SHA-1 hash
ENCODE:SHA1 generates the SHA-1 hash of a value as a 40-character hexadecimal number using the US Secure Hash Algorithm 1.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:crc32 — CRC32 checksum
ENCODE:CRC32 generates the 32-bit cyclic redundancy checksum polynomial of a value as a signed integer number.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
```
## encode:soundex — Soundex key
ENCODE:SOUNDEX generates the 4-character soundex key of a value.
Soundex keys have the property that words pronounced similarly produce the same soundex key.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:metaphone — Metaphone key
ENCODE:METAPHONE generates the metaphone key of a value.
Metaphone keys have the property that words pronounced similarly produce the same metaphone key.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:crypt — Symmetric-key encryption
ENCODE:CRYPT encryptes plaintext with a key according to a given cipher.
ENCODE:CRYPT is the complement of the DECODE:CRYPT operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for ciphertext |
| var_iv | var | | Result variable name for initialization vector |
| cipher | string | | Cipher |
| key | string | | Cryptographic key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## encode:deflate — DEFLATE compression
ENCODE:DEFLATE compresses a value to DEFLATE data format according to RFC 1951.
ENCODE:DEFLATE is the complement of the DECODE:DEFLATE operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| level | int | -1 | Compression level |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## encode:zlib — ZLIB compression
ENCODE:ZLIB compresses a value to ZLIB data format according to RFC 1950.
ENCODE:ZLIB is the complement of the DECODE:ZLIB operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| level | int | -1 | Compression level |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## encode:xml — Encode XML
ENCODE:XML encodes a value by converting special reserved characters to their applicable XML entites.
ENCODE:XML is the complement of the DECODE:XML operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:html — Encode HTML
ENCODE:HTML encodes a value by converting special reserved characters to their applicable HTML entites and whitespace characters to a meaningful HTML representation.
ENCODE:HTML is compatible to the DECODE:HTML operation, but not the complement thereof.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:url — Encode URL
ENCODE:URL encodes a value according to RFC 1738 by replacing non-alphanumeric characters except '-', '_' and '.' with a percent sign ('%') followed by a 2-character hexadecimal number.
ENCODE:URL is the complement of the DECODE:URL operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:base64 — Encode MIME Base64
ENCODE:BASE64 encodes a value according to RFC 2045 using a 65-character printable subset of US-ASCII to represent arbitrary byte sequences.
MIME Base64 is designed to make binary data survive transport through transport layers that are not 8-bit clean. MIME Base64-encoded data is about 33 percent larger than the unencoded data.
ENCODE:BASE64 is the complement of the DECODE:BASE64 operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:quotedprint — Encode quoted-printable
ENCODE:QUOTEDPRINT encodes a value according to RFC 2045 by replacing unprintable characters with an equal sign ('=') followed by a 2-character hexadecimal number.
ENCODE:QUOTEDPRINT is the complement of the DECODE:QUOTEDPRINT operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## encode:json — Encode JSON
ENCODE:JSON generates the JavaScript Object Notation (JSON) representation of the value of a variable according to RFC 4627.
ENCODE:JSON is the complement of the DECODE:JSON operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
| pretty | bool | | Pretty print |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: string
### Examples
```xml
- Bill Gates
- Steve Jobs
```
## encode:csv — Encode CSV
ENCODE:CSV joins the items of a multidimensional array to comma-separated values.
Comma-separated values represent tabular data. Each line corresponds to a row in the table. Within a line, fields are separated by a delimiter, each field belonging to one table column.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
| delimiter | string | ; | Delimiter |
| enclose | bool | | Enclose values |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: string
### Examples
```xml
- First Name
- Last Name
- Bill
- Gates
- Steve
- Jobs
```
## encode:binary — Pack binary data
ENCODE:BINARY packs the values of an array into binary data according to a given Perl/PHP-compatible format.
ENCODE:BINARY is the complement of the DECODE:BINARY operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
| format | string | | Format |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: string
---
# iXML — decode (Decoding)
## Spec
- /__doc/ixmldoc.xml
## decode:crypt — Symmetric-key decryption
DECODE:CRYPT decryptes ciphertext with a key according to a given cipher.
DECODE:CRYPT is the complement of the ENCODE:CRYPT operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| cipher | string | | Cipher |
| iv | string | | Initialization vector |
| key | string | | Cryptographic key |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## decode:deflate — DEFLATE decompression
DECODE:DEFLATE decompresses a value from DEFLATE data format according to RFC 1951.
DECODE:DEFLATE is the complement of the ENCODE:DEFLATE operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## decode:zlib — ZLIB decompression
DECODE:ZLIB decompresses a value from ZLIB data format according to RFC 1950.
DECODE:ZLIB is the complement of the ENCODE:ZLIB operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## decode:xml — Decode XML
DECODE:XML decodes a value by converting special XML entites back to their applicable characters.
DECODE:XML is the complement of the ENCODE:XML operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## decode:html — Decode HTML
DECODE:HTML decodes a value by stripping HTML tags and converting all HTML entites back to their applicable characters.
DECODE:HTML is compatible to the ENCODE:HTML operation, but it is not the complement thereof.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## decode:url — Decode URL
DECODE:URL decodes a value according to RFC 3986 by replacing sequences incipient with a percent sign ('%') followed by a 2-character hexadecimal number with their applicable characters.
DECODE:URL is the complement of the ENCODE:URL operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## decode:base64 — Decode MIME Base64
DECODE:BASE64 decodes a value according to RFC 2045 by converting printable characters back to arbitrary byte sequences.
MIME Base64 is designed to make binary data survive transport through transport layers that are not 8-bit clean. MIME Base64-encoded data is about 33 percent larger than the unencoded data.
DECODE:BASE64 is the complement of the ENCODE:BASE64 operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## decode:quotedprint — Decode quoted-printable
DECODE:QUOTEDPRINT decodes a value according to RFC 2045 by replacing sequences incipient with an equal sign ('=') followed by a 2-character hexadecimal number with their applicable characters.
DECODE:QUOTEDPRINT is the complement of the ENCODE:QUOTEDPRINT operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## decode:json — Decode JSON
DECODE:JSON generates a value from a JavaScript Object Notation (JSON) representation according to RFC 4627.
DECODE:JSON is the complement of the ENCODE:JSON operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
{"bg":"Bill Gates","sj":"Steve Jobs"}
```
## decode:csv — Decode CSV
DECODE:CSV parses comma-separated values into a multidimensional array.
Comma-separated values represent tabular data. Each line corresponds to a row in the table. Within a line, fields are separated by a delimiter, each field belonging to one table column.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| delimiter | string | ; | Delimiter (single ASCII character) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
## decode:binary — Unpack binary data
DECODE:BINARY unpacks binary data into an array according to a given Perl/PHP-compatible format.
DECODE:BINARY is the complement of the ENCODE:BINARY operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| format | string | | Format |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
---
# iXML — xml (XML)
## Spec
- /__doc/ixmldoc.xml
## xml:create — Create XML
XML:CREATE generates a XML document according to the XML 1.0 Specification.
The given variable references the root element and must be an array comprised of the following items:
Key Description
--------------------------------------------------------------
name tag name
attr array of attributes with associated name and value pairs
nodes array of child nodes including cdata parts
cdata cdata value (optionally instead of 'nodes')
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var_result; type: string
### Examples
```xml
- html
- http://www.w3.org/1999/xhtml
- en
```
## xml:parse — Parse XML
XML:PARSE parses a XML document.
XML:PARSE returns the root element as an array comprised of the following items:
Key Description
---------------------------------------------------------------------------
name tag name (upper case)
attr array of attributes with associated name (upper case) and value pairs
nodes array of child nodes including cdata parts
child array of child elements
elems array of child elements grouped by tag name (upper case)
cdata concatenated cdata value
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| preservecase | bool | | Preserve case |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
---
# iXML — soap (SOAP)
## Spec
- /__doc/ixmldoc.xml
## soap:client — SOAP client
SOAP:CLIENT defines a set of dynamically bound SOAP operations based on SOAP 1.1 according to a given WSDL model.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| wsdl | string | | WSDL filename/URL |
| username | string | | Username |
| password | string | | Password |
| timeout | int | 60 | Timeout in seconds |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
CountryName
- DE
```
## soap:bind — SOAP binding
SOAP:BIND defines a SOAP operation as a function that can be invoked with subsequent CALL statements.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Function variable name |
### Children
- (none)
### Parents
- soap:client
### Result
- binding: var; type: function; predicate: no-result-propagation
---
# iXML — rest (RESTful)
## Spec
- /__doc/ixmldoc.xml
## rest:client — RESTful client
REST:CLIENT defines a set of dynamically bound RESTful resources based on HTTP/1.1.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| url | string | | URL |
| timeout | int | 60 | Timeout in seconds |
| validate | bool | | Validate SSL |
### Children
- rest:header (occurrence: single) — REST header
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
Content-Type: application/json
/products/
/products/:id
/products/:id
{"name": "Some Fruit", "price": 4.99}
{"name": "Wildberries"}
```
## rest:bind — RESTful binding
REST:BIND defines a RESTful resource as a function that can be invoked with subsequent CALL statements.
Resource route arguments of the form ':name' are substituted with the actual corresponding parameter values when being called. All remaining parameters are treated as query arguments according to RFC 3986 and are generally passed via the URL query component except for method POST in which case they are transported as the HTTP body.
Invoked resources return an array comprised of the following items if type is specified as 'raw':
Key Description
----------------------------
status response status code
type response content type
header response header
body response body
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Function variable name |
| method | string | GET | Method |
| type | type | prepared | Processing type |
#### Possible values
Possible values for `method`:
- HEAD — HEAD
- GET — GET
- POST — POST
- PUT — PUT
- PATCH — PATCH
- DELETE — DELETE
- TRACE — TRACE
- OPTIONS — OPTIONS
- CONNECT — CONNECT
Possible values for `type`:
- prepared — Prepared
- raw — Raw
### Children
- (none)
### Parents
- rest:client
### Result
- binding: var; type: function; predicate: no-result-propagation
## rest:server — RESTful server
The REST:SERVER construct is a control flow structure that allows for selective execution of code according to the underlying RESTful request based on HTTP, in which each resource is a special type of subroutine.
REST:SERVER will invoke the resource subroutine of the first route that matches the current HTTP request's path and method with the associated request header field name and value pairs assigned to 'var_header' and the request body assigned to 'var_body'. Also, resource route arguments of the form ':name' as well as query arguments are assigned to corresponding local variables. The route may contain a final variadic argument of the form '*name' for all remaining route components as an array.
The USE construct declares a free function variable for use as a local variable within the resource subroutine that is explicitly bound to a corresponding variable from the immediate context within which the RESTful server is defined, thereby directly referencing the non-local variable from the parent scope outside of the inherent context of the resource subroutine.
### Attributes
- (none)
### Children
- rest:resource (occurrence: multiple) — RESTful resource definition
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
- Gates
- Bill
- Jobs
- Steve
$id
404
Content-Type: application/json
$lastname
$firstname
$data
201
```
---
# iXML — http (HTTP)
## Spec
- /__doc/ixmldoc.xml
## http:request — HTTP request
HTTP:REQUEST sends a HTTP/1.1 request and receives a HTTP response according to RFC 2616.
HTTP:REQUEST returns an array in 'var_info' comprised of the following items:
Key Description
----------------------------
status response status code
type response content type
header response header
body response body
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for response body |
| var_info | var | | Result variable name for detailed response information |
| url | string | | URL |
| timeout | int | 60 | Timeout in seconds |
| validate | bool | | Validate SSL |
| method | string | GET | Method |
#### Possible values
Possible values for `method`:
- HEAD — HEAD
- GET — GET
- POST — POST
- PUT — PUT
- DELETE — DELETE
- TRACE — TRACE
- OPTIONS — OPTIONS
- CONNECT — CONNECT
### Children
- http:header (occurrence: single) — HTTP header
- http:body (occurrence: single) — HTTP body
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
- binding: var_info; type: array; predicate: no-result-propagation
### Examples
```xml
Content-Type: application/json
{"name": "Wildberries", "price": 4.99}
$data.self_link
```
## http:urlinfo — URL information
HTTP:URLINFO parses a URL according to RFC 1738 and returns the various components thereof.
HTTP:URLINFO returns an array comprised of the following items:
Key Description
----------------------------------------------------------------------
scheme scheme
host hostname
port port
pass password
user username
path path
query query
fragment fragment/anchor
args array of query arguments with associated name and value pairs
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| url | string | | URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
## http:query — Build URL query
HTTP:QUERY builds a URL query component out of an array of associated name and value pairs according to RFC 3986.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| var_result | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
- iXML
```
---
# iXML — file (File system)
## Spec
- /__doc/ixmldoc.xml
## file:pathinfo — Path information
FILE:PATHINFO parses a filename and returns the various components thereof.
FILE:PATHINFO returns an array comprised of the following items:
Key Description
------------------------------------
dirname directory name
basename base name
extension file extension
filename filename without extension
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
## file:exists — File exists
FILE:EXISTS checks whether a file or directory exists and returns the canonicalized absolute filename if applicable.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
```
## file:typeof — Type of file
FILE:TYPEOF returns the type of a file or directory.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
iXML
```
## file:status — File status
FILE:STATUS returns the status of a file or directory.
FILE:STATUS returns an array comprised of the following items:
Index/Key Description
-----------------------------------------------------
0/dev device number
1/ino inode number
2/mode inode protection mode
3/nlink number of links
4/uid userid of owner
5/gid groupid of owner
6/rdev device type if inode device
7/size size in bytes
8/atime time of last access (Unix timestamp)
9/mtime time of last modification (Unix timestamp)
10/ctime time of last inode change (Unix timestamp)
11/blksize blocksize of filesystem IO
12/blocks number of 512-byte blocks allocated
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename |
| follow | bool | | Follow symbolic links |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
## file:read — Read file
FILE:READ reads the entire content of a file.
FILE:READ is the complement of the FILE:WRITE operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
iXML
```
## file:readcsv — Read CSV file
FILE:READCSV reads each line of a file, whereby parsing comma-separated values into a multidimensional array.
Comma-separated values represent tabular data. Each line corresponds to a row in the table. Within a line, fields are separated by a delimiter, each field belonging to one table column.
FILE:READCSV is the complement of the FILE:WRITECSV operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename/URL |
| delimiter | string | ; | Delimiter (single ASCII character) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
## file:readjson — Read JSON file
FILE:READJSON reads a file, whereby generating a value from a JavaScript Object Notation (JSON) representation according to RFC 4627.
FILE:READJSON is the complement of the FILE:WRITEJSON operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a; predicate: no-result-propagation
## file:write — Write file
FILE:WRITE writes content to a file.
If the file does not exist, it will implicitly be created. Otherwise, the existing file is overwritten.
FILE:WRITE is the complement of the FILE:READ operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
iXML
```
## file:writecsv — Write CSV file
FILE:WRITECSV writes a multidimensional array as comma-separated values to a file.
Comma-separated values represent tabular data. Each line corresponds to a row in the table. Within a line, fields are separated by a delimiter, each field belonging to one table column.
FILE:WRITECSV is the complement of the FILE:READCSV operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| filename | string | | Filename/URL |
| delimiter | string | ; | Delimiter (single ASCII character) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## file:writejson — Write JSON file
FILE:WRITEJSON writes the JavaScript Object Notation (JSON) representation of the value of a variable according to RFC 4627 to a file.
FILE:WRITEJSON is the complement of the FILE:READJSON operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
| filename | string | | Filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## file:append — Append file
FILE:APPEND appends content to a file.
If the file does not exist, it will implicitly be created.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
i
XML
```
## file:delete — Delete file
FILE:DELETE deletes a file.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
## file:send — Send file (ZeyOS)
FILE:SEND sends a file to the client.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
## file:rename — Rename file
FILE:RENAME renames/moves a file or directory from an old filename to a new filename.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| oldname | string | | Old filename/URL |
| newname | string | | New filename/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
iXML
```
## file:link — Create symbolic link
FILE:LINK creates a symbolic link to a target name.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| linkname | string | | Link name |
| targetname | string | | Target name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
## file:listdir — List directory
FILE:LISTDIR lists the filenames of all files within a directory.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| dirname | string | | Directory name/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
## file:makedir — Make directory
FILE:MAKEDIR makes a new directory.
The directory path is created recursively as paternal directories are implicitly created if they do not yet exist.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| dirname | string | | Directory name/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
## file:removedir — Remove directory
FILE:REMOVEDIR removes an empty directory.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| dirname | string | | Directory name/URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
## file:glob — Pathname pattern expansion
FILE:GLOB finds all pathnames matching a given pattern based on wildcard characters ('?', '*' and '[...]').
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| pattern | string | | Pattern |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
---
# iXML — zip (ZIP)
## Spec
- /__doc/ixmldoc.xml
## zip:archive — Archive
ZIP:ARCHIVE creates or opens an existing archive for reading and writing.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## zip:exists — Exists entry
ZIP:EXISTS checks whether an entry exists within an archive.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename |
### Children
- (none)
### Parents
- zip:archive
### Result
- binding: var; type: bool
## zip:status — Entry status
ZIP:STATUS returns the status of an entry within an archive.
ZIP:STATUS returns an array comprised of the following items:
Key Description
--------------------------------------------------------
name filename
index index
crc 32-bit cyclic redundancy checksum polynomial
size size in bytes
mtime time of last modification (Unix timestamp)
comp_size compressed size in bytes
comp_method compression method
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename |
### Children
- (none)
### Parents
- zip:archive
### Result
- binding: var; type: n/a; predicate: no-result-propagation
## zip:read — Read entry
ZIP:READ reads the entire content of an entry within an archive.
ZIP:READ is the complement of the ZIP:WRITE operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| filename | string | | Filename |
### Children
- (none)
### Parents
- zip:archive
### Result
- binding: var; type: string
## zip:write — Write entry
ZIP:WRITE writes content to an entry within an archive.
If the entry does not exist within the archive, it will implicitly be created. Otherwise, the existing entry is overwritten.
ZIP:WRITE is the complement of the ZIP:READ operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename |
### Children
- (none)
### Parents
- zip:archive
### Result
- (none documented)
## zip:delete — Delete entry
ZIP:DELETE deletes an entry within an archive.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename |
### Children
- (none)
### Parents
- zip:archive
### Result
- (none documented)
## zip:rename — Rename entry
ZIP:RENAME renames an entry within an archive from an old filename to a new filename.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| oldname | string | | Old filename |
| newname | string | | New filename |
### Children
- (none)
### Parents
- zip:archive
### Result
- (none documented)
## zip:list — List entries
ZIP:LIST lists the filenames of all entries within an archive.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- zip:archive
### Result
- binding: var; type: array; predicate: no-result-propagation
---
# iXML — db (Database)
## Spec
- /__doc/ixmldoc.xml
## db:connection — Connection
DB:CONNECTION establishes a database connection.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| server | string | | Server |
| dbname | string | | Database name |
| username | string | | Username |
| password | string | | Password |
| type | type | pgsql | Database type |
#### Possible values
Possible values for `type`:
- mysql — MySQL
- pgsql — PostgreSQL
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## db:run — Run query
DB:RUN executes an arbitrary SQL statement and retrieves the accordant result set from the database.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for retrieved result set |
| type | type | num | Result set type |
#### Possible values
Possible values for `type`:
- num — Multidimensional array with consecutive numeric keys
- assoc — Multidimensional array with field names as keys
- list — Unidimensional list
- av — Unidimensional array with associated attribute and value pairs
- single — Single array item with consecutive numeric keys
- self — Single array item with field names as keys
- value — Single value
### Children
- (none)
### Parents
- db:connection
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
SELECT * FROM "contacts"
```
## db:prepare — Prepare query
DB:PREPARE prepares a database query. Arguments may be passed for identifier and literal substitution as parameters.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_params | var | | Variable name for associated parameter name and value pairs |
### Children
- db:query (occurrence: single) — Query
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
```
## db:get — Get object (ZeyOS)
DB:GET gets a database object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_fields | var | | Variable name for field list |
| var_extdata | var | | Variable name for associated extdata field name and value pairs |
| var_tags | var | | Variable name for tag names |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- db:connection
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
```xml
lastname
Jobs
Steve
```
## db:field — Field
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
### Children
- (none)
### Parents
- db:get
- db:fields
### Result
- (none documented)
## db:expression — Expression
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
### Children
- (none)
### Parents
- db:get
- db:fields
### Result
- (none documented)
## db:set — Set object (ZeyOS)
DB:SET sets a database object, specified by entity and ID. ExtData and tags may optionally be set as one atomic operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for insert ID |
| var_data | var | | Variable name for associated field name and value pairs |
| var_extdata | var | | Variable name for associated extdata field name and value pairs |
| var_tags | var | | Variable name for tag names (addition only) |
| entity | string | | Entity |
| id | int | (new) | ID |
### Children
- (none)
### Parents
- db:connection
### Result
- binding: var; type: int
### Examples
```xml
Gates
Bill
```
```xml
Jobs
Steve
```
```xml
lastname
Jobs
Steve
```
```xml
Gates
Bill
Microsoft
Apple
Friends
A-Class
```
## db:data — Data
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| field | string | | Field name |
| alias | string | | Alias name |
### Children
- (none)
### Parents
- db:get
- db:set
- db:fields
- db:insert
- db:update
### Result
- (none documented)
## db:null — NULL
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| field | string | | Field name |
| alias | string | | Alias name |
### Children
- (none)
### Parents
- db:get
- db:set
- db:fields
- db:insert
- db:update
### Result
- (none documented)
## db:remove — Remove object (ZeyOS)
DB:REMOVE removes a database object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- db:connection
### Result
- (none documented)
### Examples
```xml
```
## db:lookup — Lookup object (ZeyOS)
DB:LOOKUP looks up a database object and returns it's ID if applicable.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| entity | string | | Entity |
### Children
- (none)
### Parents
- db:connection
### Result
- binding: var; type: n/a
### Examples
```xml
Gates
Bill
```
## db:select — Select rows
DB:SELECT generates and executes a SQL select statement and retrieves the accordant result set from the database.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for generated SQL statement |
| var_count | var | | Result variable name for number of results |
| var_result | var | | Result variable name for retrieved result set |
| type | type | num | Result set type |
| distinct | bool | | Distinct result set |
| offset | int | | Offset |
| limit | int | (no limit) | Limit |
#### Possible values
Possible values for `type`:
- num — Multidimensional array with consecutive numeric keys
- assoc — Multidimensional array with field names as keys
- list — Unidimensional list
- av — Unidimensional array with associated attribute and value pairs
- single — Single array item with consecutive numeric keys
- self — Single array item with field names as keys
- value — Single value
### Children
- db:fields (occurrence: single) — Fields
- db:table (occurrence: single) — Table
- db:join (occurrence: single) — Join clause
- db:groupby (occurrence: single) — Group by clause
- db:having (occurrence: single) — Having condition
- db:orderby (occurrence: single) — Order by clause
### Parents
- db:connection
### Result
- binding: var; type: string
- binding: var_count; type: int; predicate: no-result-propagation
- binding: var_result; type: array; predicate: no-result-propagation
## db:cross — Cross join
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
| table | string | | Table name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:crosslateral — Lateral cross join
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:inner — Inner join
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
| table | string | | Table name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:innerextdata — Inner join on ExtData (ZeyOS)
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
| entity | string | | Entity name |
| name | string | | ExtData name |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:innertags — Inner join on tags (ZeyOS)
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
| entity | string | | Entity name |
| name | string | | Tag name |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:left — Outer left join
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
| table | string | | Table name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:leftlateral — Lateral left join
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:leftextdata — Outer left join on ExtData (ZeyOS)
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
| entity | string | | Entity name |
| name | string | | ExtData name |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:lefttags — Outer left join on tags (ZeyOS)
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| alias | string | | Alias name |
| entity | string | | Entity name |
| name | string | | Tag name |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:join
### Result
- (none documented)
## db:groupfield — Group by field
### Attributes
- (none)
### Children
- (none)
### Parents
- db:groupby
### Result
- (none documented)
## db:orderfield — Order by field
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| type | type | asc | Sorting type |
#### Possible values
Possible values for `type`:
- asc — Ascending
- desc — Descending
### Children
- (none)
### Parents
- db:orderby
### Result
- (none documented)
## db:and — And condition
### Attributes
- (none)
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:or — Or condition
### Attributes
- (none)
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:not — Not condition
### Attributes
- (none)
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:is — Is condition
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| func | string | = | Comparison function |
#### Possible values
Possible values for `func`:
- = — Equals
- =* — Equals, case-insensitive
- != — Not equals
- <> — Not equals
- !=* — Not equals, case-insensitive
- <>* — Not equals, case-insensitive
- < — Less than
- <= — Less than or equal to
- > — Greater than
- >= — Greater than or equal to
- _ — Contains
- _* — Contains, case-insensitive
- !_ — Not contains
- !_* — Not contains, case-insensitive
- ^ — Starts with
- ^* — Starts with, case-insensitive
- !^ — Not starts with
- !^* — Not starts with, case-insensitive
- $ — Ends with
- $* — Ends with, case-insensitive
- !$ — Not ends with
- !$* — Not ends with, case-insensitive
- ~ — Matches regular expression
- ~* — Matches regular expression, case-insensitive
- !~ — Not matches regular expression
- !~* — Not matches regular expression, case-insensitive
- ~~ — Is like
- ~~* — Is like, case-insensitive
- !~~ — Is not like
- !~~* — Is not like, case-insensitive
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:isnull — Is NULL condition
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:isnotnull — Is not NULL condition
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:exists — Exists condition
### Attributes
- (none)
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:notexists — Not exists condition
### Attributes
- (none)
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:in — In condition
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name for static value list |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:notin — Not in condition
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name for static value list |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:intags — In tags condition (ZeyOS)
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name for static tag names list |
| entity | string | | Entity name |
| field | string | | Field name |
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:any — Any condition
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| field | string | | Field name |
| func | string | = | Comparison function |
#### Possible values
Possible values for `func`:
- = — Equals
- != — Not equals
- <> — Not equals
- < — Less than
- <= — Less than or equal to
- > — Greater than
- >= — Greater than or equal to
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:all — All condition
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| field | string | | Field name |
| func | string | = | Comparison function |
#### Possible values
Possible values for `func`:
- = — Equals
- != — Not equals
- <> — Not equals
- < — Less than
- <= — Less than or equal to
- > — Greater than
- >= — Greater than or equal to
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:search — Search condition
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name for field list |
| query | string | | Query |
### Children
- (none)
### Parents
- db:lookup
- db:select
- db:inner
- db:innerextdata
- db:innertags
- db:left
- db:leftextdata
- db:lefttags
- db:having
- db:update
- db:delete
### Result
- (none documented)
## db:searchfield — Search field
### Attributes
- (none)
### Children
- (none)
### Parents
- db:search
### Result
- (none documented)
## db:insert — Insert row
DB:INSERT executes a SQL/DML insert statement that inserts a new row into a table within the database.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for insert ID |
| var_data | var | | Variable name for associated field name and value pairs |
| table | string | | Table name |
### Children
- (none)
### Parents
- db:connection
### Result
- binding: var; type: int
## db:update — Update rows
DB:UPDATE executes a SQL/DML update statement that updates fields of existing rows in a table within the database.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_data | var | | Variable name for associated field name and value pairs |
| table | string | | Table name |
### Children
- (none)
### Parents
- db:connection
### Result
- (none documented)
## db:delete — Delete rows
DB:DELETE executes a SQL/DML delete statement that deletes rows from a table within the database.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| table | string | | Table name |
### Children
- (none)
### Parents
- db:connection
### Result
- (none documented)
## db:transaction — Transaction
DB:TRANSACTION specifies a transaction block for database and binary data store operations, ensuring that such processes leave the database and the binary data store in a consistent state even if an error occures within the transaction.
Transactions provide an all-or-nothing proposition, stating that each work-unit performed within a transaction must either complete in its entirety or have no effect whatsoever.
### Attributes
- (none)
### Children
- (none)
### Parents
- db:connection
### Result
- (none documented)
### Examples
```xml
New
lastname
```
---
# iXML — extdata (ExtData (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## extdata:get — Get ExtData
EXTDATA:GET gets the ExtData of an object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_fields | var | | Variable name for field list |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
```xml
company
Apple
```
## extdata:set — Set ExtData
EXTDATA:SET sets the ExtData of an object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_data | var | | Variable name for associated field name and value pairs |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
Microsoft
Apple
```
```xml
company
Apple
```
## extdata:unset — Unset ExtData
EXTDATA:UNSET unsets the ExtData of an object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_fields | var | | Variable name for field list |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
company
competitor
```
## extdata:field — Field
### Attributes
- (none)
### Children
- (none)
### Parents
- extdata:get
- extdata:unset
### Result
- (none documented)
## extdata:data — Data
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| field | string | | Field name |
### Children
- (none)
### Parents
- extdata:set
- db:set
### Result
- (none documented)
## extdata:null — NULL
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| field | string | | Field name |
### Children
- (none)
### Parents
- extdata:set
- db:set
### Result
- (none documented)
---
# iXML — tags (Tags (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## tags:exists — Exists any tags
TAGS:EXISTS checks whether any tag exists for an object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_names | var | | Variable name for tag names |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: bool
## tags:list — List tags
TAGS:LIST lists the tag names of an object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_names | var | | Variable name for tag names |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
## tags:add — Add tags
TAGS:ADD adds tags to an object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_names | var | | Variable name for tag names |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
Friends
A-Class
```
## tags:remove — Remove tags
TAGS:REMOVE removes tags from an object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_names | var | | Variable name for tag names |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
Friends
A-Class
```
## tags:reset — Reset tags
TAGS:RESET removes all existing tags from and adds new tags to an object, specified by entity and ID.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_names | var | | Variable name for tag names |
| entity | string | | Entity |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
Friends
A-Class
```
## tags:name — Name
### Attributes
- (none)
### Children
- (none)
### Parents
- tags:exists
- tags:list
- tags:add
- tags:remove
- tags:reset
- db:intags
- db:set
### Result
- (none documented)
---
# iXML — bin (Binary data store (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## bin:read — Read binary data file
BIN:READ reads the entire content of a binary data file.
BIN:READ is the complement of the BIN:WRITE operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| id | int | | ID |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
iXML
```
## bin:write — Write binary data file
BIN:WRITE writes content to a binary data file and returns its identifier.
BIN:WRITE is the complement of the BIN:READ operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
iXML
```
---
# iXML — temp (Temporary data store (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## temp:path — Path of temporary data file
TEMP:PATH returns the path of a temporary data file.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| id | string | | Identifier |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## temp:read — Read temporary data file
TEMP:READ reads the entire content of a temporary data file.
TEMP:READ is the complement of the TEMP:WRITE operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_struct | var | | Result variable name for structural value |
| id | string | | Identifier |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
- binding: var_struct; type: n/a
### Examples
```xml
iXML
```
## temp:write — Write temporary data file
TEMP:WRITE writes content to a temporary data file and returns its identifier.
If the identifier is omitted, it will implicitly be generated. If the temporary data file does not exist, it will implicitly be created. Otherwise, the existing temporary data file is overwritten.
TEMP:WRITE is the complement of the TEMP:READ operation.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_struct | var | | Variable name for structural value |
| id | string | (new) | Identifier |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
iXML
```
## temp:delete — Delete temporary data file
TEMP:DELETE deletes a temporary data file.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| id | string | | Identifier |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
---
# iXML — mail (Mail (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## mail:parse — Parse message
MAIL:PARSE parses the raw format of an e-mail message according to RFC 2822.
MAIL:PARSE returns an array comprised of the following items:
Key Description
---------------------------------------------------
date date (Unix timestamp)
subject subject
sender sender
sender_email e-mail address of sender
sender_name name of sender
to recipients
to_email e-mail address of first recipient
to_name name of first recipient
to_count total number of recipients
cc recipients of carbon copy
bcc recipients of blind carbon copy
messageid message ID
referenceid in-reply-to message ID
receipt receipt flag
autoreply autoreply flag
spam spam flag
contenttype content type
text text part *
html html part *
attachments attachment parts *
simpletext simple text
simpleattachments simple attachments
* Each part is an array comprised of the following items:
Key Description
-------------------------------------
contenttype content type
encoding content transfer encoding
charset character set
boundary boundary delimiter
disposition content disposition
filename filename
contentid content ID
rawheader raw header
rawbody raw body
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
## mail:queue — Queue message
MAIL:QUEUE consignes an e-mail message to the mail sending queue.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for message ID |
| mailserver | int | (default system SMTP server) | Mail server ID |
| senddate | int | (do not send) | Send date |
### Children
- mail:header (occurrence: single) — Mail header
- mail:body (occurrence: single) — Mail body
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
From: person@example.com
To: person@example.com
Date: Tue, 29 Dec 2009 17:23:37 +0100
Subject: This is the subject of the message
Content-Type: text/plain
This is the body of the message.
```
## mail:send — Send message
MAIL:SEND consignes an e-mail message to the mail sending queue and sends it immediately.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for message ID |
| mailserver | int | (default system SMTP server) | Mail server ID |
### Children
- mail:header (occurrence: single) — Mail header
- mail:body (occurrence: single) — Mail body
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
From: person@example.com
To: person@example.com
Date: Tue, 29 Dec 2009 17:23:37 +0100
Subject: This is the subject of the message
Content-Type: text/plain
This is the body of the message.
```
## mail:multipart — Build multipart message
MAIL:MULTIPART builds a MIME multipart message body according to RFC 2046.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| boundary | string | | Boundary delimiter |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
Content-Type: text/plain
This is the body of the message.
Content-Type: text/html
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="message.html"
PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUgYm9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
```
## mail:part — Multipart message part
### Attributes
- (none)
### Children
- mail:header (occurrence: single) — Mail header
- mail:body (occurrence: single) — Mail body
### Parents
- mail:multipart
### Result
- (none documented)
## mail:quote — Quote header value
MAIL:QUOTE encodes a header value with MIME encoded-word syntax according to RFC 2047.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
---
# iXML — excel (Excel)
## Spec
- /__doc/ixmldoc.xml
## excel:workbook — Workbook
EXCEL:WORKBOOK creates or opens an existing Excel workbook.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename |
| title | string | (initial title) | Title |
| subject | string | (initial subject) | Subject |
| keywords | string | (initial keywords) | Keywords |
| format | type | (based on file) | File format |
#### Possible values
Possible values for `format`:
- csv — Comma-separated Values
- gnumeric — Gnome Gnumeric
- ods — Open Document Format for Office Applications (ODF)
- slk — Microsoft Multiplan Symbolic Link Interchange
- xls — Microsoft Excel Binary File Format (BIFF)
- xlsx — Microsoft Office Open XML SpreadsheetML
- xml — Microsoft Excel 2003 SpreadsheetML
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## excel:length — Length
EXCEL:LENGTH gets the number of sheets, rows and columns in context of the current position of the cell cursor.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_sheets | var | | Result variable name for number of sheets |
| var_rows | var | | Result variable name for number of rows |
| var_cols | var | | Result variable name for number of columns |
### Children
- (none)
### Parents
- excel:workbook
### Result
- binding: var_sheets; type: int; predicate: no-result-propagation
- binding: var_rows; type: int; predicate: no-result-propagation
- binding: var_cols; type: int; predicate: no-result-propagation
## excel:next — Next cell
EXCEL:NEXT shifts the position of the cell cursor by a given offset.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| offset_sheet | int | | Sheet offset |
| offset_row | int | | Row offset |
| offset_col | int | 1 | Column offset |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:getpos — Get position
EXCEL:GETPOS gets the current position of the cell cursor.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_coords | var | | Result variable name for cell coordinates |
| var_sheet | var | | Result variable name for sheet index |
| var_row | var | | Result variable name for row index |
| var_col | var | | Result variable name for column index |
### Children
- (none)
### Parents
- excel:workbook
### Result
- binding: var_coords; type: string; predicate: no-result-propagation
- binding: var_sheet; type: int; predicate: no-result-propagation
- binding: var_row; type: int; predicate: no-result-propagation
- binding: var_col; type: int; predicate: no-result-propagation
## excel:setpos — Set position
EXCEL:SETPOS sets the position of the cell cursor by given indices or by given coordinates.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| sheet | int | (current sheet) | Sheet index |
| row | int | (current row) | Row index |
| col | int | (current column) | Column index |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:get — Get cell value
EXCEL:GET gets the cell value at the current position of the cell cursor or at given coordinates.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| coords | string | (current cell) | Cell coordinates |
| type | type | raw | Evaluation type |
#### Possible values
Possible values for `type`:
- raw — Raw
- calculated — Calculated
- formatted — Formatted
### Children
- (none)
### Parents
- excel:workbook
### Result
- binding: var; type: string
## excel:set — Set cell value
EXCEL:SET sets the cell value at the current position of the cell cursor or at given coordinates.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| coords | string | (current cell) | Cell coordinates |
| format | string | (preserve existing format) | Format |
| type | type | auto | Data type |
#### Possible values
Possible values for `type`:
- auto — Automatic recognition
- text — Text
- numeric — Numeric
- date — Date
- bool — Boolean
- null — NULL
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:addsheet — Add sheet
EXCEL:ADDSHEET adds a new sheet.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| index | int | (current sheet) | Sheet index |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:removesheet — Remove sheet
EXCEL:REMOVESHEET removes a sheet.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| index | int | (current sheet) | Sheet index |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:addrow — Add row
EXCEL:ADDROW adds a new row.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| index | int | (current row) | Row index |
| height | float | (no specific height) | Height |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:removerow — Remove row
EXCEL:REMOVEROW removes a row.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| index | int | (current row) | Row index |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:addcol — Add column
EXCEL:ADDCOL adds a new column.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| index | int | (current column) | Column index |
| width | float | (no specific width) | Width |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:removecol — Remove column
EXCEL:REMOVECOL removes a column.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| index | int | (current column) | Column index |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:style — Style
EXCEL:STYLE applies style to a range of cells.
The given variable must be an array corresponding to the following structure (keys are case-insensitive):
merge (range only)
freeze (no range)
heigth (no range)
width (no range)
collapseCol (no range)
collapseRow (no range)
outlineLevelCol (0-7) (no range)
outlineLevelRow (0-7) (no range)
font
- name
- bold
- italic
- superscript
- subscript
- underline: none, double, doubleAccounting, single, singleAccounting
- strikethrough
- color
- rgb
- argb
- size
alignment
- horizontal: general, left, right, center, centerContinuous, justify, fill, distributed
- verical: bottom, top, center, justify, distributed
- textRotation
- wrapText
- shrinkToFit
- indent
- readOrder: 0 (context), 1 (ltr), 2 (rtl)
borders
- allBorders, left, right, top, bottom, diagonal, outline, inside, horizontal, vertical
- borderStyle: none, dashDot, dashDotDot, dashed, dotted, double, hair, medium, mediumDashDot, mediumDashDotDot, mediumDashed, slantDashDot, thick, thin
- color
- rgb
- argb
- diagonalDirection: 0 (none), 1 (up), 2 (down), 3 (both)
fill
- fillType: none, solid, linear, path, darkDown, darkGray, darkGrid, darkHorizontal, darkTrellis, darkVertical, gray0625, gray125, lightDown, lightGray, lightGrid, lightHorizontal, lightTrellis, lightUp, lightVertical, mediumGray
- rotation
- startColor
- rgb
- argb
- endColor
- rgb
- argb
- color
- rgb
- argb
numberFormat
- formatCode
protection
- locked: inherit, protected, unprotected
- hidden: inherit, protected, unprotected
quotePrefix
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name for associated style name and value pairs |
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:autofilter — Auto filter
EXCEL:AUTOFILTER sets the auto filter for a range of cells.
### Attributes
- (none)
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
## excel:array — To array
EXCEL:ARRAY extracts all cell values of a workbook into a multidimensional array.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| type | type | raw | Evaluation type |
#### Possible values
Possible values for `type`:
- raw — Raw
- calculated — Calculated
- formatted — Formatted
### Children
- (none)
### Parents
- excel:workbook
### Result
- binding: var; type: array; predicate: no-result-propagation
## excel:create — Create
EXCEL:CREATE generates an Excel workbook according to a given file format.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| format | type | xlsx | File format |
#### Possible values
Possible values for `format`:
- csv — Comma-separated Values
- ods — Open Document Format for Office Applications (ODF)
- xls — Microsoft Excel Binary File Format (BIFF)
- xlsx — Microsoft Office Open XML SpreadsheetML
### Children
- (none)
### Parents
- excel:workbook
### Result
- (none documented)
---
# iXML — pdf (PDF)
## Spec
- /__doc/ixmldoc.xml
## pdf:document — Document
PDF:DOCUMENT generates a PDF document that is comprised of multiple sections.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| author | string | | Author |
| title | string | | Title |
| subject | string | | Subject |
| keywords | string | | Keywords |
| pdfa | bool | | PDF/A (version 3) |
| compress | bool | | Compress |
| subsetting | bool | | Font subsetting |
| unit | string | mm | Unit |
| zoom | string | default | Zoom |
| layout | string | SinglePage | Layout |
| mode | string | UseNone | Mode |
#### Possible values
Possible values for `unit`:
- mm — Millimeter
- cm — Centimeter
- in — Inch
- pt — Point
Possible values for `zoom`:
- fullpage — Full page on screen
- fullwidth — Maximum width of window
- real — Real size
- default — Viewer Default
Possible values for `layout`:
- SinglePage — One page at a time
- OneColumn — Pages in one column
- TwoColumnLeft — Pages in two columns, odd-numbered on the left
- TwoColumnRight — Pages in two columns, odd-numbered on the right
- TwoPageLeft — Two pages at a time, odd-numbered on the left (PDF 1.5)
- TwoPageRight — Two pages at a time, odd-numbered on the right (PDF 1.5)
Possible values for `mode`:
- UseNone — None
- UseOutlines — Document outline
- UseThumbs — Thumbnail images
- FullScreen — Fullscreen
- UseOC — Content group panel (PDF 1.5)
- UseAttachments — Attachments panel (PDF 1.6)
### Children
- pdf:signature (occurrence: single) — Signature
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
## pdf:file — Embedded file
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename |
| relationship | string | | Relationship |
| description | string | | Description |
| type | string | | MIME Type |
#### Possible values
Possible values for `relationship`:
- An alternative version of the document — Alternative
- Additional data required to understand or process the document — Data
- Source material for the document — Source
- Supplementary to the document, but not essential — Supplement
- Relationship unclear or not explicitly defined — Unspecified
### Children
- (none)
### Parents
- pdf:document
### Result
- (none documented)
## pdf:section — Section
PDF:SECTION represents a thematic grouping of content, with a header, a footer and a body.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| orientation | string | P | Orientation |
| format | string | A4 | Format |
| height | float | | Page height |
| width | float | | Page width |
| leftmargin | float | | Left margin |
| rightmargin | float | | Right margin |
| topmargin | float | | Top margin |
| bottommargin | float | | Bottom margin |
#### Possible values
Possible values for `orientation`:
- P — Portrait
- L — Landscape
Possible values for `format`:
- A0 — A0
- A1 — A1
- A2 — A2
- A3 — A3
- A4 — A4
- A5 — A5
- A6 — A6
- A7 — A7
- A8 — A8
- A9 — A9
- A10 — A10
- A11 — A11
- A12 — A12
- B0 — B0
- B1 — B1
- B2 — B2
- B3 — B3
- B4 — B4
- B5 — B5
- B6 — B6
- B7 — B7
- B8 — B8
- B9 — B9
- B10 — B10
- B11 — B11
- B12 — B12
- C0 — C0
- C1 — C1
- C2 — C2
- C3 — C3
- C4 — C4
- C5 — C5
- C6 — C6
- C7 — C7
- C8 — C8
- C9 — C9
- C10 — C10
- C11 — C11
- C12 — C12
- C76 — C76
- DL — DL
- E0 — E0
- E1 — E1
- E2 — E2
- E3 — E3
- E4 — E4
- E5 — E5
- E6 — E6
- E7 — E7
- E8 — E8
- E9 — E9
- E10 — E10
- E11 — E11
- E12 — E12
- G0 — G0
- G1 — G1
- G2 — G2
- G3 — G3
- G4 — G4
- G5 — G5
- G6 — G6
- G7 — G7
- G8 — G8
- G9 — G9
- G10 — G10
- G11 — G11
- G12 — G12
- RA0 — RA0
- RA1 — RA1
- RA2 — RA2
- RA3 — RA3
- RA4 — RA4
- SRA0 — SRA0
- SRA1 — SRA1
- SRA2 — SRA2
- SRA3 — SRA3
- SRA4 — SRA4
- 4A0 — 4A0
- 2A0 — 2A0
- A2_EXTRA — A2_EXTRA
- A3+ — A3+
- A3_EXTRA — A3_EXTRA
- A3_SUPER — A3_SUPER
- SUPER_A3 — SUPER_A3
- A4_EXTRA — A4_EXTRA
- A4_SUPER — A4_SUPER
- SUPER_A4 — SUPER_A4
- A4_LONG — A4_LONG
- F4 — F4
- SO_B5_EXTRA — SO_B5_EXTRA
- A5_EXTRA — A5_EXTRA
- ANSI_E — ANSI_E
- ANSI_D — ANSI_D
- ANSI_C — ANSI_C
- ANSI_B — ANSI_B
- ANSI_A — ANSI_A
- USLEDGER — USLEDGER
- LEDGER — LEDGER
- ORGANIZERK — ORGANIZERK
- BIBLE — BIBLE
- USTABLOID — USTABLOID
- TABLOID — TABLOID
- ORGANIZERM — ORGANIZERM
- USLETTER — USLETTER
- LETTER — LETTER
- USLEGAL — USLEGAL
- LEGAL — LEGAL
- GOVERNMENTLETTER — GOVERNMENTLETTER
- GLETTER — GLETTER
- JUNIORLEGAL — JUNIORLEGAL
- JLEGAL — JLEGAL
- QUADDEMY — QUADDEMY
- SUPER_B — SUPER_B
- QUARTO — QUARTO
- GOVERNMENTLEGAL — GOVERNMENTLEGAL
- FOLIO — FOLIO
- MONARCH — MONARCH
- EXECUTIVE — EXECUTIVE
- ORGANIZERL — ORGANIZERL
- STATEMENT — STATEMENT
- MEMO — MEMO
- FOOLSCAP — FOOLSCAP
- COMPACT — COMPACT
- ORGANIZERJ — ORGANIZERJ
- P1 — P1
- P2 — P2
- P3 — P3
- P4 — P4
- P5 — P5
- P6 — P6
- ARCH_E — ARCH_E
- ARCH_E1 — ARCH_E1
- ARCH_D — ARCH_D
- BROADSHEET — BROADSHEET
- ARCH_C — ARCH_C
- ARCH_B — ARCH_B
- ARCH_A — ARCH_A
- ANNENV_A2 — ANNENV_A2
- ANNENV_A6 — ANNENV_A6
- ANNENV_A7 — ANNENV_A7
- ANNENV_A8 — ANNENV_A8
- ANNENV_A10 — ANNENV_A10
- ANNENV_SLIM — ANNENV_SLIM
- COMMENV_N6_1/4 — COMMENV_N6_1/4
- COMMENV_N6_3/4 — COMMENV_N6_3/4
- COMMENV_N8 — COMMENV_N8
- COMMENV_N9 — COMMENV_N9
- COMMENV_N10 — COMMENV_N10
- COMMENV_N11 — COMMENV_N11
- COMMENV_N12 — COMMENV_N12
- COMMENV_N14 — COMMENV_N14
- CATENV_N1 — CATENV_N1
- CATENV_N1_3/4 — CATENV_N1_3/4
- CATENV_N2 — CATENV_N2
- CATENV_N3 — CATENV_N3
- CATENV_N6 — CATENV_N6
- CATENV_N7 — CATENV_N7
- CATENV_N8 — CATENV_N8
- CATENV_N9_1/2 — CATENV_N9_1/2
- CATENV_N9_3/4 — CATENV_N9_3/4
- CATENV_N10_1/2 — CATENV_N10_1/2
- CATENV_N12_1/2 — CATENV_N12_1/2
- CATENV_N13_1/2 — CATENV_N13_1/2
- CATENV_N14_1/4 — CATENV_N14_1/4
- CATENV_N14_1/2 — CATENV_N14_1/2
- JIS_B0 — JIS_B0
- JIS_B1 — JIS_B1
- JIS_B2 — JIS_B2
- JIS_B3 — JIS_B3
- JIS_B4 — JIS_B4
- JIS_B5 — JIS_B5
- JIS_B6 — JIS_B6
- JIS_B7 — JIS_B7
- JIS_B8 — JIS_B8
- JIS_B9 — JIS_B9
- JIS_B10 — JIS_B10
- JIS_B11 — JIS_B11
- JIS_B12 — JIS_B12
- PA0 — PA0
- PA1 — PA1
- PA2 — PA2
- PA3 — PA3
- PA4 — PA4
- PA5 — PA5
- PA6 — PA6
- PA7 — PA7
- PA8 — PA8
- PA9 — PA9
- PA10 — PA10
- PASSPORT_PHOTO — PASSPORT_PHOTO
- E — E
- L — L
- 3R — 3R
- KG — KG
- 4R — 4R
- 4D — 4D
- 2L — 2L
- 5R — 5R
- 8P — 8P
- 6R — 6R
- 6P — 6P
- 8R — 8R
- 6PW — 6PW
- S8R — S8R
- 4P — 4P
- 10R — 10R
- 4PW — 4PW
- S10R — S10R
- 11R — 11R
- S11R — S11R
- 12R — 12R
- S12R — S12R
- NEWSPAPER_BROADSHEET — NEWSPAPER_BROADSHEET
- NEWSPAPER_BERLINER — NEWSPAPER_BERLINER
- NEWSPAPER_TABLOID — NEWSPAPER_TABLOID
- NEWSPAPER_COMPACT — NEWSPAPER_COMPACT
- CREDIT_CARD — CREDIT_CARD
- BUSINESS_CARD — BUSINESS_CARD
- BUSINESS_CARD_ISO7810 — BUSINESS_CARD_ISO7810
- BUSINESS_CARD_ISO216 — BUSINESS_CARD_ISO216
- BUSINESS_CARD_IT — BUSINESS_CARD_IT
- BUSINESS_CARD_UK — BUSINESS_CARD_UK
- BUSINESS_CARD_FR — BUSINESS_CARD_FR
- BUSINESS_CARD_DE — BUSINESS_CARD_DE
- BUSINESS_CARD_ES — BUSINESS_CARD_ES
- BUSINESS_CARD_CA — BUSINESS_CARD_CA
- BUSINESS_CARD_US — BUSINESS_CARD_US
- BUSINESS_CARD_JP — BUSINESS_CARD_JP
- BUSINESS_CARD_HK — BUSINESS_CARD_HK
- BUSINESS_CARD_AU — BUSINESS_CARD_AU
- BUSINESS_CARD_DK — BUSINESS_CARD_DK
- BUSINESS_CARD_SE — BUSINESS_CARD_SE
- BUSINESS_CARD_RU — BUSINESS_CARD_RU
- BUSINESS_CARD_CZ — BUSINESS_CARD_CZ
- BUSINESS_CARD_FI — BUSINESS_CARD_FI
- BUSINESS_CARD_HU — BUSINESS_CARD_HU
- BUSINESS_CARD_IL — BUSINESS_CARD_IL
- 4SHEET — 4SHEET
- 6SHEET — 6SHEET
- 12SHEET — 12SHEET
- 16SHEET — 16SHEET
- 32SHEET — 32SHEET
- 48SHEET — 48SHEET
- 64SHEET — 64SHEET
- 96SHEET — 96SHEET
- EN_EMPEROR — EN_EMPEROR
- EN_ANTIQUARIAN — EN_ANTIQUARIAN
- EN_GRAND_EAGLE — EN_GRAND_EAGLE
- EN_DOUBLE_ELEPHANT — EN_DOUBLE_ELEPHANT
- EN_ATLAS — EN_ATLAS
- EN_COLOMBIER — EN_COLOMBIER
- EN_ELEPHANT — EN_ELEPHANT
- EN_DOUBLE_DEMY — EN_DOUBLE_DEMY
- EN_IMPERIAL — EN_IMPERIAL
- EN_PRINCESS — EN_PRINCESS
- EN_CARTRIDGE — EN_CARTRIDGE
- EN_DOUBLE_LARGE_POST — EN_DOUBLE_LARGE_POST
- EN_ROYAL — EN_ROYAL
- EN_SHEET — EN_SHEET
- EN_HALF_POST — EN_HALF_POST
- EN_SUPER_ROYAL — EN_SUPER_ROYAL
- EN_DOUBLE_POST — EN_DOUBLE_POST
- EN_MEDIUM — EN_MEDIUM
- EN_DEMY — EN_DEMY
- EN_LARGE_POST — EN_LARGE_POST
- EN_COPY_DRAUGHT — EN_COPY_DRAUGHT
- EN_POST — EN_POST
- EN_CROWN — EN_CROWN
- EN_PINCHED_POST — EN_PINCHED_POST
- EN_BRIEF — EN_BRIEF
- EN_FOOLSCAP — EN_FOOLSCAP
- EN_SMALL_FOOLSCAP — EN_SMALL_FOOLSCAP
- EN_POTT — EN_POTT
- BE_GRAND_AIGLE — BE_GRAND_AIGLE
- BE_COLOMBIER — BE_COLOMBIER
- BE_DOUBLE_CARRE — BE_DOUBLE_CARRE
- BE_ELEPHANT — BE_ELEPHANT
- BE_PETIT_AIGLE — BE_PETIT_AIGLE
- BE_GRAND_JESUS — BE_GRAND_JESUS
- BE_JESUS — BE_JESUS
- BE_RAISIN — BE_RAISIN
- BE_GRAND_MEDIAN — BE_GRAND_MEDIAN
- BE_DOUBLE_POSTE — BE_DOUBLE_POSTE
- BE_COQUILLE — BE_COQUILLE
- BE_PETIT_MEDIAN — BE_PETIT_MEDIAN
- BE_RUCHE — BE_RUCHE
- BE_PROPATRIA — BE_PROPATRIA
- BE_LYS — BE_LYS
- BE_POT — BE_POT
- BE_ROSETTE — BE_ROSETTE
- FR_UNIVERS — FR_UNIVERS
- FR_DOUBLE_COLOMBIER — FR_DOUBLE_COLOMBIER
- FR_GRANDE_MONDE — FR_GRANDE_MONDE
- FR_DOUBLE_SOLEIL — FR_DOUBLE_SOLEIL
- FR_DOUBLE_JESUS — FR_DOUBLE_JESUS
- FR_GRAND_AIGLE — FR_GRAND_AIGLE
- FR_PETIT_AIGLE — FR_PETIT_AIGLE
- FR_DOUBLE_RAISIN — FR_DOUBLE_RAISIN
- FR_JOURNAL — FR_JOURNAL
- FR_COLOMBIER_AFFICHE — FR_COLOMBIER_AFFICHE
- FR_DOUBLE_CAVALIER — FR_DOUBLE_CAVALIER
- FR_CLOCHE — FR_CLOCHE
- FR_SOLEIL — FR_SOLEIL
- FR_DOUBLE_CARRE — FR_DOUBLE_CARRE
- FR_DOUBLE_COQUILLE — FR_DOUBLE_COQUILLE
- FR_JESUS — FR_JESUS
- FR_RAISIN — FR_RAISIN
- FR_CAVALIER — FR_CAVALIER
- FR_DOUBLE_COURONNE — FR_DOUBLE_COURONNE
- FR_CARRE — FR_CARRE
- FR_COQUILLE — FR_COQUILLE
- FR_DOUBLE_TELLIERE — FR_DOUBLE_TELLIERE
- FR_DOUBLE_CLOCHE — FR_DOUBLE_CLOCHE
- FR_DOUBLE_POT — FR_DOUBLE_POT
- FR_ECU — FR_ECU
- FR_COURONNE — FR_COURONNE
- FR_TELLIERE — FR_TELLIERE
- FR_POT — FR_POT
### Children
- pdf:templates (occurrence: single) — Templates
- pdf:header (occurrence: single) — Header
- pdf:footer (occurrence: single) — Footer
- pdf:body (occurrence: single) — Body
### Parents
- pdf:document
### Result
- (none documented)
## pdf:template — Template
PDF:TEMPLATE imports a page as a template.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| source | int | 1 | Source page number |
| target | int | (all pages) | Target page number |
### Children
- (none)
### Parents
- pdf:templates
### Result
- (none documented)
## pdf:style — Style
PDF:STYLE defines the style for its content.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| align | string | (parent style, initially L) | Horizontal alignment |
| valign | string | (parent style) | Vertical alignment |
| dir | string | (parent style, initially LTR) | Text direction |
| font | string | (parent style, initially arial) | Font family |
| fontstyle | string | (parent style) | Font style |
| fontsize | float | (parent style, initially 12) | Font size (pt) |
| fontspace | float | (parent style) | Font spacing |
| fontstretch | int | (parent style, initially 100) | Font stretching (%) |
| bgcolor | string | (parent style) | Background color |
| textcolor | string | (parent style, initially #000) | Text color |
| border | string | (parent style) | Border |
| borderwidth | float | (parent style) | Border width |
| bordercolor | string | (parent style, initially #000) | Border color |
| lineheight | float | (parent style) | Line height |
| padding | float | (parent style) | Padding |
| rotate | int | (parent style) | Rotate (degrees) |
#### Possible values
Possible values for `align`:
- L — Left
- C — Center
- R — Right
- J — Justify
Possible values for `valign`:
- T — Top
- M — Middle
- B — Bottom
Possible values for `dir`:
- LTR — Left-to-right
- RTL — Right-to-left
Possible values for `font`:
- arial — Arial
- serif — Serif
- sans — Sans-serif
- mono — Monospace
Possible values for `fontstyle`:
- B — Bold
- I — Italic
- U — Underline
- O — Overline
- D — Line-through
Possible values for `border`:
- L — Left
- R — Right
- T — Top
- B — Bottom
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:linebreak — Line break
PDF:LINEBREAK adds a new line and shifts the ordinate by a given offset.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| offset | float | | Offset |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:pagebreak — Page break
PDF:PAGEBREAK adds a new page and shifts the ordinate to a given offset.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| offset | float | | Offset |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:inline — Inline text
PDF:INLINE prints text as flow content.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| html | bool | | HTML content |
| leftmargin | float | | Left margin |
| rightmargin | float | | Right margin |
| x | float | (current abscissa) | Abscissa |
| y | float | (current ordinate) | Ordinate |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:block — Block text
PDF:BLOCK prints a block of text as sectioning content.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| html | bool | | HTML content |
| nowrap | bool | | No text wrapping |
| height | float | | Minimum Height |
| width | float | (expands to right margin) | Width |
| leftmargin | float | | Left margin |
| rightmargin | float | | Right margin |
| x | float | (current abscissa) | Abscissa |
| y | float | (current ordinate) | Ordinate |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:row — Row
PDF:ROW prints a row of text columns as tabular content.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| leftmargin | float | | Left margin |
| rightmargin | float | | Right margin |
| x | float | (current abscissa) | Abscissa |
| y | float | (current ordinate) | Ordinate |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:col — Column
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| html | bool | | HTML content |
| nowrap | bool | | No text wrapping |
| height | float | | Minimum Height |
| width | float | (expands to right margin) | Width |
### Children
- (none)
### Parents
- pdf:row
### Result
- (none documented)
## pdf:image — Image
PDF:IMAGE prints an image, specified by filename/URL.
If the type is omitted, it will implicitly be inferred from the filename extension component of the given filename.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename/URL |
| type | string | (filename extension) | Image type |
| dpi | int | 300 | Dots per inch |
| height | float | (image height) | Height |
| width | float | (image width) | Width |
| x | float | (current abscissa) | Abscissa |
| y | float | (current ordinate) | Ordinate |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:barcode — Barcode
PDF:BARCODE prints a linear or matrix bar code according to a given type.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| type | string | C128 | Barcode type |
| height | float | | Height |
| width | float | (expands to right margin) | Width |
| x | float | (current abscissa) | Abscissa |
| y | float | (current ordinate) | Ordinate |
| resolution | float | (default resolution) | Resolution |
#### Possible values
Possible values for `type`:
- C39 — CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9
- C39+ — CODE 39 + CHECKSUM
- C39E — CODE 39 EXTENDED
- C39E+ — CODE 39 EXTENDED + CHECKSUM
- C93 — CODE 93 - USS-93
- S25 — Standard 2 of 5
- S25+ — Standard 2 of 5 + CHECKSUM
- I25 — Interleaved 2 of 5
- I25+ — Interleaved 2 of 5 + CHECKSUM
- C128 — CODE 128
- C128A — CODE 128 A
- C128B — CODE 128 B
- C128C — CODE 128 C
- EAN2 — 2-Digits UPC-Based Extention
- EAN5 — 5-Digits UPC-Based Extention
- EAN8 — EAN 8
- EAN13 — EAN 13
- UPCA — UPC-A
- UPCE — UPC-E
- MSI — MSI (Variation of Plessey code)
- MSI+ — MSI + CHECKSUM
- POSTNET — POSTNET
- PLANET — PLANET
- RMS4CC — RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code)
- KIX — KIX (Klant index - Customer index)
- IMB — Intelligent Mail Barcode - Onecode - USPS-B-3200
- CODABAR — CODABAR
- CODE11 — CODE 11
- PHARMA — PHARMACODE
- PHARMA2T — PHARMACODE TWO-TRACKS
- DATAMATRIX — DATAMATRIX
- QRCODE — QR-CODE
- QRCODE,L — QR-CODE Low error correction
- QRCODE,M — QR-CODE Medium error correction
- QRCODE,Q — QR-CODE Better error correction
- QRCODE,H — QR-CODE Best error correction
- PDF417 — PDF417
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:include — Include document
PDF:INCLUDE imports and inserts select pages of an external PDF document, specified by filename/URL.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| filename | string | | Filename/URL (local only) |
| from | int | 1 | From page number |
| to | int | (last page) | To page number |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
## pdf:getpos — Get position
PDF:GETPOS gets the current position.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var_page | var | | Result variable name for page number |
| var_subpage | var | | Result variable name for section page number |
| var_x | var | | Result variable name for abscissa |
| var_y | var | | Result variable name for ordinate |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- binding: var_page; type: int; predicate: no-result-propagation
- binding: var_subpage; type: int; predicate: no-result-propagation
- binding: var_x; type: float; predicate: no-result-propagation
- binding: var_y; type: float; predicate: no-result-propagation
## pdf:setpos — Set position
PDF:SETPOS sets the position.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| page | int | (current page) | Page number |
| x | float | (current abscissa) | Abscissa |
| y | float | (current ordinate) | Ordinate |
### Children
- (none)
### Parents
- pdf:header
- pdf:footer
- pdf:body
### Result
- (none documented)
---
# iXML — numformat (Number format (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## numformat:get — Get next number
NUMFORMAT:GET returns the next formatted number, specified by name.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for formatted number |
| name | string | | Name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
## numformat:inc — Increment counter
NUMFORMAT:INC increments and returns the counter of a formatted number, specified by name.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for new counter |
| name | string | | Name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: int
### Examples
```xml
```
## numformat:next — Get next number and increment counter
NUMFORMAT:NEXT returns the next formatted number and increments the counter, specified by name.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name for formatted number |
| name | string | | Name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: string
### Examples
```xml
```
---
# iXML — auth (Authentication (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## auth:simple — Simple authentication
AUTH:SIMPLE authenticates a user by username and password.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| username | string | | Username or e-mail address |
| password | string | | Password |
| otp | string | | OTP authentication code for 2FA (optional) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a; predicate: no-result-propagation
---
# iXML — misc (Miscellaneous (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## session — Session information
SESSION returns information about the current browser session.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a; predicate: no-result-propagation
### Examples
```xml
```
## config — Configuration information
CONFIG returns information about the system configuration.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
### Examples
```xml
```
## resetcron — Reset cron scheduler
RESETCRON resets a cron scheduler.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## transitems — Initialize transaction items
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: array; predicate: no-result-propagation
## zymba:run — Run embedded Zymba
ZYMBA parses and executes Zymba code. Arguments may be passed to global Zymba variables as parameters.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Result variable name |
| var_params | var | | Variable name for associated parameter name and value pairs |
### Children
- zymba:code (occurrence: single) — Code
### Parents
- (not restricted in the reference)
### Result
- binding: var; type: n/a
### Examples
```xml
iXML
```
---
# iXML — form (Form (ZeyOS))
## Spec
- /__doc/ixmldoc.xml
## hbox — Horizontal box
HBOX represents a set of form controls horizontally aligned like tabular columns.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| align | string | | Content alignment (CSS) |
| height | string | | Height (CSS) |
| width | string | | Width (CSS) |
| padding | string | | Padding (CSS) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## vbox — Vertical box
VBOX represents a set of form controls vertically aligned like tabular rows.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| align | string | | Content alignment (CSS) |
| height | string | | Height (CSS) |
| width | string | | Width (CSS) |
| padding | string | | Padding (CSS) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## placeholder — Placeholder
PALCEHOLDER represents an empty placeholder.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| height | string | | Height (CSS) |
| width | string | | Width (CSS) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## title — Section title
TITLE represents a section title with a text that is displayed with an emphasized style.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## description — Description
DESCRIPTION represents a description with a text that is displayed with a normal style and is attached to a label.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| label | string | | Label |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## link — Hyperlink
LINK represents a hyperlink with a text that links to an URL and is displayed with a normal style and is attached to a label.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| label | string | | Label |
| url | string | | URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## image — Image
IMAGE represents an image that optionally links to an URL and is attached to a label.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| label | string | | Label |
| caption | string | | Caption |
| url | string | | URL |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## rule — Horizontal rule
RULE represents a horizontal rule to be used as a thematic break.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| width | string | | Width (CSS) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## checkbox — Check box
CHECKBOX represents a two-state form control that displays the checkedness of a data element and is attached to a label.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| id | var | | Identifier |
| label | string | | Label |
| caption | string | | Caption |
| selected | bool | | Initially selected |
| disabled | bool | | Disabled |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## listbox — List box
LISTBOX represents a form control for selecting one or multiple data element among a set of unique options that are displayed as a list of items and are attached to a label.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| id | var | | Identifier |
| label | string | | Label |
| disabled | bool | | Disabled |
| required | bool | | Required |
| width | string | | Width (CSS) |
| type | type | single | Input type |
#### Possible values
Possible values for `type`:
- single — Single select list
- multi — Multiple check list
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## listitem — List item
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| caption | string | (same as value) | Caption |
| selected | bool | | Initially selected |
### Children
- (none)
### Parents
- listbox
### Result
- (none documented)
## entitybox — Entity box
ENTITYBOX represents a form control for selecting an object ID among a set of entity related objects that are displayed as a list of items and are attached to a label.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| id | var | | Identifier |
| entity | string | | Entity |
| tag | string | | Tag filter |
| label | string | | Label |
| caption | string | | Caption |
| disabled | bool | | Disabled |
| required | bool | | Required |
| placeholder | string | | Placeholder |
| width | string | | Width (CSS) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## textbox — Text box
TEXTBOX represents a form control for editing a data element that is displayed according to a given input type and is attached to a label.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| id | var | | Identifier |
| label | string | | Label |
| caption | string | (type dependent) | Caption |
| disabled | bool | | Disabled |
| required | bool | | Required |
| readonly | bool | | Read-only |
| placeholder | string | | Placeholder |
| width | string | | Width (CSS) |
| type | type | single | Input type |
#### Possible values
Possible values for `type`:
- single — Single text line
- multi — Multiple text lines
- html — HTML code
- email — E-Mail address
- url — URL
- tel — Telephone number
- password — Password
- count — Count
- num — Number
- percent — Percent
- rate — Rate (in %)
- progress — Progress (in %)
- money — Money
- price — Price
- pricebilling — Price (Billing)
- priceprocurement — Price (Procurement)
- priceproduction — Price (Production)
- size — Size (in bytes)
- weight — Weight (in kg)
- duration — Duration (in minutes)
- date — Date
- datetime — Date and time
- country — Country code (ISO 3166-1 alpha-2)
- currency — Currency code (ISO 4217)
- unit — Unit code (UN/CEFACT Recommendation 20)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
## textbox — Text box
CUSTOMBOX represents a form control for editing a data element based on a ZeyOS custom field and is attached to a label.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| id | var | | Custom field identifier |
| label | string | (custom field name) | Label |
| caption | string | (custom field type dependent) | Caption |
| disabled | bool | | Disabled |
| required | bool | | Required |
| readonly | bool | | Read-only |
| placeholder | string | | Placeholder |
| width | string | | Width (CSS) |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
---
# iXML — debug (Debug)
## Spec
- /__doc/ixmldoc.xml
## debug:output — Output to debug console
DEBUG:OUTPUT outputs a value to the debug console.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
An error has occurred!
```
## debug:dump — Dump variables to debug console
DEBUG:DUMP dumps human-readable information about all variables or only one specific variable to the debug console. Arrays are thereby explored recursively with values indented to show structure.
### Attributes
| Name | Type | Default | Description |
| ---- | ---- | ------- | ----------- |
| var | var | | Variable name |
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```
## debug:log — Write to debug log
DEBUG:LOG writes a message to the debug log.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
An error has occurred!
```
## debug:exclude — Exclude code
DEBUG:EXCLUDE excludes the embedded code from execution.
### Attributes
- (none)
### Children
- (none)
### Parents
- (not restricted in the reference)
### Result
- (none documented)
### Examples
```xml
```