What is WebX ?
Syntax
Download
Contact us

Syntax.

There are only 15 simple operators.

     <node> {<entry content>}

This operator describes the entry node with name <node> and content <entry content> to include content of enother node at the place of including should be inserted mark with such fassion {<node>}, where <node> is a name of inserted node. But to describe the node it must be already declared, (used in any other previosly describes entry node). The node "main" declared in special way, is a root node for the page.
In this operator content of node might contain actually all charaters, except characters with codes lower then 5.

     # <comment> <CR>

All content from the symbol # untill the end of the line ingnores. You could write there any what you like.

     | include <file>

Includes a file with a name <file> directly in current code.

     ;

Very strange operator it does nothing but if it happens inside recording of any other operator this operator coveres it. Put it after each operator to surely cover such operator. It helpes interperter to localize errors.

     | env <dimention> [<dimention2> ...] |

Defines values of what parameters (dimention) have to be taken from CGI paramter string to be set like current. This one or the next one operator must be used regarding each dimemntion, before first force definition of environment variables inside the entry node.
Note: If some dimention listed in this operator is not defined in CGI parameters, it does not define as current, to define it surely use next operator.

     | def <dimention> <value> [<dimention2> <value2> ...] |

Defines current values for their respective dimentions.

Note: In two last operators, if dimention defines twice or more times, workes only first definition.

     <dimention> = <value>

Declares condition of dimention <dimetion> with value <value>

     [

Begines the conditional area. Since this operator previosly declared conditions get the power, and if they does not respect to the current. All opeators inside conditional have no power. (Execpt operator which covers conditional area.) But in any case all operators must be written correctly.

     ]

Finishes the conditional area.

Note: After end of conditional are value restored for previous. (Because each condition has it's stack.)

     | node <node>

Declares node, which might be redeclared. For a case when it describes before first including.

     | routine <filename>

Includes the output of routine directly in code.

     <node> | file <file>

Describes the node <node> which content comes from the file <file>. It can not have any internal element of language, the file just includes as is (all characters allowed).

     <node> | routine <file>

Like previous but include not a file but output of the program.

     | alphabet <dimention> <target value> <source value> <table>

     | codeset <dimention> <target value> <source value> <table>

This two operators used to tanslitrate and transcode several alpabets and code sets.

To describe a hyperlink with current dimentions like a set of CGI fassion perameters in (GET method). Put the symbol '?' after heperlink URL and then this fassion entry "{|}", if you need to change some value or values relatively to current values, Write it such: {|<dimention>=<value>[,<dimetion>=value...]}

WebX interperter has such facilities:
it stops any recursive including.
Current directory for including files is the directory where main file is placed,
The only directory for running programs is directory where this engine is placed.


Quas