Table of Contents

  • Introduction
  • Information Tags
    · Introduction
    · accept-language
    · accessed
    · clientname
    · configurl
    · configimage
    · countdown
    · date
    · file
    · help
    · available_languages
    · language
    · unavailable_language
    · line
    · list-tags
    · modified
    · number
    · pr
    · referrer
    · user
    · version
  • String Tags
  • Variable Tags
  • URL Tags
  • If Tags
  • Graphics Tags
  • Database Tags
  • Programming Tags
  • Supports System
  • SSI
  • htaccess
  • Image Maps
  • Appendix
  •  <list-tags> 
    <list-tags> is defined in the Main RXML parser module.

    Lists all available RXML tags.

    Attributes
    verbose,  

    Attributes

    verbose
    Lists the tags with their help texts as well.
    Example
    source code
    
    <list-tags>
    

    result Tags at prioity level 0:

    <!--#config>
    <!--#echo>
    <!--#exec>
    <!--#flastmod>
    <!--#fsize>
    <!--#include>
    <!--#set>
    </ilayer>
    </layer>
    </table>
    </td>
    <accept-language>
    <accessed>
    <append>
    <auth-required>
    <body>
    <clientname>
    <configimage>
    <configurl>
    <countdown>
    <date>
    <debug>
    <echo>
    <expire-time>
    <expire_time>
    <false>
    <file>
    <header>
    <help>
    <ilayer>
    <imgs>
    <insert>
    <killframe>
    <layer>
    <line>
    <list-tags>
    <modified>
    <number>
    <pr>
    <quote>
    <realfile>
    <redirect>
    <referer>
    <referrer>
    <refferrer>
    <remove_cookie>
    <return>
    <sb-menu>
    <set>
    <set-max-cache>
    <set_cookie>
    <signature>
    <table>
    <td>
    <true>
    <undefine>
    <unset>
    <use>
    <user>
    <version>
    <vfs>
    <ximg>

    Containers at prioity level 0:

    <aconf></aconf>
    <aconfig></aconfig>
    <ai></ai>
    <allow></allow>
    <anfang></anfang>
    <apre></apre>
    <autoformat></autoformat>
    <cache></cache>
    <case></case>
    <catch></catch>
    <client></client>
    <comment></comment>
    <config_tablist></config_tablist>
    <crypt></crypt>
    <cset></cset>
    <default></default>
    <define></define>
    <deny></deny>
    <diagram></diagram>
    <doc></doc>
    <dump_else></dump_else>
    <dump_if></dump_if>
    <elif></elif>
    <else></else>
    <elseif></elseif>
    <fl></fl>
    <fl_postparse></fl_postparse>
    <fnord></fnord>
    <for></for>
    <formoutput></formoutput>
    <gauge></gauge>
    <gh></gh>
    <gh1></gh1>
    <gh2></gh2>
    <gh3></gh3>
    <gh4></gh4>
    <gh5></gh5>
    <gh6></gh6>
    <gtext></gtext>
    <gtext-id></gtext-id>
    <htable></htable>
    <if></if>

     <if> ... </if> 
    <if> is defined in the Main RXML parser module.

    <if> is used to conditionally show its contents. <else>, <elif> or <elseif> can be used to suggest alternative content.

    It is possible to use glob patterns in almost all attributes, where * means match zero or more characters while ? matches one character. Thus m*f?? will match motherfoo as well as mfoo.

    Arguments passed to the tag:
    accept, config, cookie, date, defined, domain, host, language, match, name, prestate, referrer, supports, user, variable, after, and, before, file, group, inclusive, wwwfile, not, or,  

    Attributes

    accept=type1[,type2,...]
    Does the browser accept certain content types, for example image/jpeg or text/html?

    config=name
    Has the config been set by use of the <aconf> tag?

    cookie=name[ is value]
    Does the cookie exist and if value is given, does it contain the value value?

    date=yyyymmdd
    Is the date yyyymmdd? The attributes before, after and inclusive modifies the behavior.

    defined=define
    Is the define defined?

    domain=pattern[,pattern...]
    Does the users computer's DNS name match any of the patterns? Note that domain names are resolved asynchronously, and the the first time someone accesses a page, the domain name will probably not have been resolved.

    host=pattern[,pattern...]
    Does the users computers IP address match any of the patterns?

    language=language1[,lang2,...]
    Does the client prefer one of the languages listed, as specified by the Accept-Language header?

    match=string[ is pattern[,pattern,...]]
    Does the string match one of the patterns?

    name=pattern[,pattern...]
    Does the full name of the browser match any of the patterns?

    prestate=option1[,option2, ...]
    Are all of the specified prestate options present in the URL?

    referrer=[=pattern[,pattern,...]]
    Does the referrer header match any of the patterns?

    supports=feature
    Does the browser support this feature? See the support feature page page for a list of all available features.

    user=name[,name,...]|any
    Has the user been authentificated as one of these users? If any is given as argument, any authentificated user will do.

    variable=name[ is pattern]
    Does the variable exist and, optionally, does it's content match the pattern?

    Modifier Attributes

    after
    Used together with the date attribute.

    and
    If several conditional attributes are given all must be true for the contents to be shown. This is the default behavior.

    before
    Used together with the date attribute.

    file=path
    Used together with the user attribute. An external file will be used to authenticate the user, rather than the current Authentication module. The file should have the following format:

    user name : encrypted password
    user name : encrypted password
    

    Unless the wwwfile attribute is given the path is a path in the computers real file system, rather than Challenger's virtual file system.

    group=group, groupfile path
    Used together with the user attribute to check if the current user is a member of the group according the the groupfile. The groupfile is of the following format:

    group : user1, user2, user3
    group : user4
    

    inclusive
    Used together with the date and before or after attributes. The contents will also be shown if the date is the current date.

    wwwfile
    Used together with the file attribute to indicate what Challenger's virtual file system should be used to find the password file. This might be a security hazard, since anyone will be able to read the password file.

    not
    Inverts the results of all tests.

    or
    If several conditional attributes are given, only one of them has to be true for the contents to be shown.


      Complex expressions

    You might be tempted to write expressions like:

    &lt;if variable="foo is bar" or variable="bar is foo"&gt;Something&lt;/if&gt;

    This will not work, as you can only use an attribute once.

    Another common problem is a misconception of how the and, or and not attributes work.

    &lt;if user=foo or not domain="*.foobar.com"&gt;...&lt;/if&gt;

    will not work since the not attribute negates the whole tag, not just the domain attribute.

    Example
    source code
    
    <if supports=tables>
    Your browser supports tables.
    </if>
    

    result

    source code
    
    <if user=any>
    You are logged in.
    </if>
    <else>
    You are not logged in.
    </else>
    

    result You are not logged in.

    source code
    
    <if date=20000101 before>
    The year 2000 is yet to come.
    </if>
    

    result The year 2000 is yet to come.

    <nooutput></nooutput>
    <noparse></noparse>
    <obox></obox>
    <pike></pike>
    <preparse></preparse>
    <prestate></prestate>
    <random></random>
    <recursive-output></recursive-output>
    <right></right>
    <sb-if></sb-if>
    <sb-login></sb-login>
    <sb-output></sb-output>
    <scope></scope>
    <sed></sed>
    <smallcaps></smallcaps>
    <sort></sort>
    <source></source>
    <spell></spell>
    <strlen></strlen>
    <tablify></tablify>
    <template></template>
    <throw></throw>
    <trace></trace>
    <trimlines></trimlines>
    <wizard></wizard>