RXML, RoXen Macro Language, is a functional serverside XML compliant scripting language that is built into Roxen WebServer.
RXML is made to be easy to learn, especially for people with skills in HTML, as its syntax and visible semantics is similar to HTML.
RXML consists of over one hundred different tags that in themselves are much more complicated than HTML-tags, but as simple to use as HTML-tags. RXML makes it possible to create new tags by writing modules in Java or Pike, or by making wrappers around, i.e. CGI-scripts with the <define tag> tag.
In this way the webdesigner's and the developer's work can be separated. The developer can bind code to RXML-tags which then can be used by the webdesigners. If taken into account that webdesigners often are better than developers at designing webpages than writing code and vice versa, it can be assumed that the developer never has to hard wire HTML code into the code.
RXML was designed with security in mind, thus it is a blessing to write complex and secure applications.
RXML consists of many often simple tags, that when combined can create very advanced and dynamic webpages. Most chapters following this will discuss these tags.
Since the Roxen WebServer is highly modular (all functions, tags, etc are built into modules) it is possible to customize every aspect of the Roxen WebServer. Hence, if a tag isn't working, it is very possible that its module hasn't been loaded. The tag <help/> gives a listing of all tags enabled as well as the latest documentation available for those tags. Note that the <help/> tag only will give a listing of those tags written properly as modules, not those made with the <define> tag and similar tags.
RXML Naming Convention
In case of planning an upgrade from a Roxen 1.3 product to Roxen 2.1 this section should be taken into consideration.
In RXML 1.3, many attributes had different names despite them performing the same tasks and some tags had strange names that didn't reflect their functionality. Due to these and other internal inconsistencies a RXML naming convention has been created.
If a tag or an attribute has changed name it most probably is because of this convention. The tags that still don't conform to the naming convention have not yet been 'newstyled', i.e. converted to make full use of the RXML 2 parser.