Introduction
    Access Control
    Version control
    Templates
    RXML
    Editors
  Content Editor
  Editing files
  Version Control
  Work areas
  LogView
  IntraSeek
 
RXML

Web pages in general is made up of text mixed with HTML tags, sent over the Internet from a web server to a browser such as Netscape or Internet Explorer. The browser uses the HTML tags to show the page in all its glory to the web-surfing user. There are a lot of different browsers and versions of browser in daily use, and so it is obvious that the set of HTML tags must be rather fixed and agreed upon by all. Despite this, Roxen Challenger offers its own tags, called RXML tags, to extend the sometimes quite limited power of HTML, and it even allows users to define their own tags. How is this possible?

Macro expansion
The answer is that the pages are not sent to the browser as you have written them. Rather, the pages are processed by Roxen Challenger and every instance of an RXML tag is substituted by its HTML equivalent. For instance, the <tablify> tag, which takes a list of things and turn them into a rather neat table, is substituted by a rather complicated expression using the ordinary HTML tag <table>. The <gtext> tag takes text and renders it as an image with selectable fonts, colors, shading, stippling and other graphical effects. When Challenger reaches a <gtext> tag, it generates the necessary image and substitutes an ordinary HTML <img> tag with a link to the newly generated image.

The same happens with tags defined by the user. Whenever a user-defined tag is encountered, it is substituted with the contents of its definition. This in turn may contain other RXML tags, which is then expanded into their definition, and so on, until it is only ordinary HTML tags left.

So, the RXML tags never reach the browsers. Instead, the server expands every RXML tag in the document to HTML before sending the, by now completely understandable, page to the requesting browser.