xvl, a command-line implementation of the script language, has dynamically loadable modules in c-code that are activated when a tagname in the input is reached. This effectively turns data into code, with the tag's properties and child nodes as input.
Some of the tags are very simple, and are implemented in tens of lines of c code. Others activate file or socket I/O operations that can be nested recursively, providing the means to write XML data-driven client and server applications [I still can't get used to not having to recompile].
This documentation is therefore written as a guide to this fledgling scripting language, and also as an aid to its designer to understand what is really going on :)
<test:tag/>
in HOWTO-add-new-tags will output a
Header "I am a test tag!" at any point in the data stream
where <test:tag/>
is placed. If the tag has a property testprop,
for example <test:tag testprop="brown cows are fun!"/>
then
it will place the string of the testprop property in the output
as well. Additionally, if there is not a property named
stop, with any string, then any child nodes of <test:tag/>
will also be processed.