Skip to main content

iXML Definitions

This document provides the foundational definitions for understanding iXML syntax and semantics.

Terminology

Basic terms and concepts used in iXML:

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

Occurrences

Defines how often elements may appear:

single : Element may appear once at most

multiple : Element may appear any number of times including not at all

Input Types

Data types that can be used as input to iXML elements:

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

Data types that can be returned by iXML operations:

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)

Predicates

Special conditions that affect operation behavior:

no-result-propagation : Result is not propagated to paternal statement