Table of Contents
- Introduction
- Information Tags
- String Tags

  | · Introduction · ai · autoformat · case · comment · doc · fl · obox · smallcaps · sort · source · spell · tablify · trimlines

- Variable Tags
- URL Tags
- If Tags
- Graphics Tags
- Database Tags
- Programming Tags
- Supports System
- SSI
- htaccess
- Image Maps
- Appendix

Introduction
String tags are container tags that process their contents somehow. Examples are the `<sort>` tag that sorts its contents and the `<tablify>` tag that creates good looking tables from tab separated text files.

The contents of an RXML container tag may contain other RXML tags. However, this is not as simple as it may seem since the outer tag is, by default, handled first. The following example will try to explain what happens.

Our example contains an `<obox>` tag enclosing a `<smallcaps>` tag.

<doc>{obox} {smallcaps}Hello World{/smallcaps} {/obox}</doc>

Which will result in:

<obox><smallcaps>Hello World</smallcaps></obox>

The first thing that will happen is that the RXML parser handles the `<obox>` tag, which creates some HTML table code to draw a box around its contents. The result from the first pass will be something like:

<doc>{generated HTML table code} {smallcaps}Hello World{/smallcaps} {/generated HTML table code} </doc>

This result will then be parsed another time by the RXML parser, which will then run the `<smallcaps>` tag.

That the outer tag is handled first is usually not a problem, but in some special cases it will cause a problem. It is, therefore, possible to give the `preparse` attribute to all RXML container tags. This will cause the RXML parser to parse the contents of the tag before parsing the actual tag.

Below follows an example where the `preparse` attribute makes a huge difference.

<doc>{source} {smallcaps}Hello World{/smallcaps} {/source}</doc>

generates

<smallcaps>Hello World</smallcaps>

while

<doc>{source preparse} {smallcaps}Hello World{/smallcaps} {/source}</doc>

generates

<smallcaps>Hello World</smallcaps>

Special Attributes
`preparse` is not the only special attribute that can be given to all RXML tags. They are

`nooutput`
  The tag will generate no output at all. Side effects, for example sending queries to databases, will have effect.

`noparse`
  Don't run the results of the tag through the RXML parser.

`preparse`
  Run the contents of the tag through the RXML parser, before the tag itself is handled.