Input text can be processed in
Different lexical rules apply for each mode, but heitml comments are allowed within all modes. A comment starts with two forward-slash marks "//" followed by a whitespace character such as a Space or Tab, and extends until the end of the line. Also, text enclosed in "/*" and "*/" is interpreted as a comment.
- HTML mode or in
- expression mode
Text processed in HTML mode is left unchanged (except for comments).
Based on the context, the text is either
heitml starts to process a document in HTML mode and to send it to the
browser. HTML mode ends as soon as a heitml-tag or a user-defined tag is
encountered. All the text inside the < > brackets of a heitml or
user-defined tag is processed in expression mode.
In expression mode the following lexical tokens can occur:
- Identifiers - created from any combination of case insensitive letters, digits, the underscore character '_', and the dollar sign '$', but must always begin with a letter. Identifiers starting with an underscore character '_' are reserved for internal use by heitml.
- Integer constants - a sequence of numbers
- Real constants - composed of numbers plus a decimal point ".", followed by more number(s) and, optionally, an exponent in the following format: [E [+\-] number(s)]
- String constants - enclosed in double-quote or single marks.
However, to include (double-)quotes within the constant, they must be
preceded by the backslash symbol "\". To include a backslash as part of the
string, you must enter the backslash character twice "\\".
Character References of the Form &... inside strings are replaced by
their corresponding characters. Currently &(&), >(>),
<(<), "(") '('), and \ (\) are
replaced but more might come with future versions. So the & character in
strings should always be written as &. To remain XML 1.0 compatible
strings may not contain & characters (outside character references),
may not contain '<' characters (use < instead). Besides
that you might want to avoid the special meaning of the \ in heitml
strings by using the \ character reference.
- Operator Symbols
- Reserved Words - currently true, false, null, defbody, this, parent, creator and emptytuple are reserved words.
White space (including new lines) is ignored in expression mode, unless needed to
separate two tokens.
In HTML mode, the following character sequences are ignored by the existing heitml
interpreter. This enables cooperation with existing HTML editors. It is not
considered a feature of the heitml language itself but only of the current
'<%", "%>', '<!--heitml>', '<heitml-->', '<server>', '</server>', '<script language="heitml">',
These strings can be used to escape heitml tags and so to make file editable by
a conventional HTML editor. The current heitml interpreter has functions to automatically
insert and remove these strings from source files.
heitml is written in pages, just like HTML. A heitml page is processed
as a procedural program producing an HTML page which is sent through
the Internet to the browser on the fly.
Although this is how heitml works on a technical level, it is probably not the way you should think while
writing heitml pages.
When creating heitml applications you can view heitml and HTML as a single integrated
language that produces nicely formatted
output on your screen. The fact that there are two languages (heitml and HTML) and
two programs (heitml on the Web Server and a Browser on the Client computer) is completely transparent
to both programmers and end users alike and should have no effect on their thinking.
A heitml page is normally executed top down, left to right.
Normal text and HTML Tags are executed by just copying them to the output.
As soon as a heitml tag or a user-defined tag is encountered it is executed.
Execution means to evaluate the parameters and to perform a certain
action, as described below for every heitml tag.
Kinds of Tags
heitml distinguishes between heitml, HTML, and User-defined
Tags. A Tag generally has the form:
< [/] Identifier Parameters >
The type of Tag is implicitly known by the identifier. heitml has
several built-in heitml Tags that are specified in this document. All Tags defined by the user using the def and defenv Tags are user-defined Tags. All other Tags are HTML Tags and remain undisturbed by heitml. User-defined Tags can override HTML Tags, but not heitml Tags.
Several heitml and User-defined Tags can be combined and written within
one pair of brackets < > separated by semicolons:
< [/] Identifier Parameters ; [/] Identifier Parameters ; ... >
After some heitml Tags without parameters the semicolon can be omitted.
You cannot use the semicolon after the static heitml include tag,
e.g. to combine several static include tags.
This page was dynamically generated by the
web application development tool RADpage
Read the article (in German) on AJAX Design? (in German) on www.h-e-i.de.
© 1996-2017 H.E.I. All Rights Reserved.