Provided by: wml_2.0.11ds2-1build2_amd64 bug


       wml::std::tags - Standard Support Tags


        #use wml::std::tags

        #   Pass 2: advanced if constructs
        <ifdef varname thenval elseval>

        #   Pass 3: support tag
        <perl> ... </perl>
        <say> ... </say>

        #   Pass 4: support tag
        <m4> ... </m4>

        #   Pass 4: symbols
        <symbol name value>
        <symbol name undef>

        #   Pass 5: diversions
        <dump NAME>
        <enter NAME> ... <leave>
        <divert NAME> ... </divert>

        #   Pass 6: support tag
        <asubst ...> ... </asubst>

        #   Client-Side JavaScript: support tag
        <javascript [version=..] [language=..]
                    [type=..] [src=...] [defer] [nohead] [nolang]>

        #   Resynchronize line numbers for more accurate pass 3 warnings


       This include file defines some standard support tags one needs all the time.  All tags are
       self-explanatory and briefly mentioned in wml_intro(1), except the last two which are
       described below.

       This tag was primarily a shorthand for "<script type="text/javascript"
       language="JavaScript">" but it has evolved.  If the "<head>" tag is defined and is a
       complex macro, e.g. when calling "wml::std::page", then Javascript code is automatically
       passed to this macro and should be diverted to the HEAD section of HTML documents.  This
       diversion preserve lang slices in multi-lingual documents.  Those features may be disabled
       by the ``nohead'' and ``nolang'' attributes.

       WML tries to print information on input file and line numbers when warnings or errors are
       reported in passes 2 and 3.  Some special sentences containing file names and line numbers
       are inserted during pass 1. So pass 2 have an accurate knowledge of where warnings appear
       in input file.  But it also filters it without preserving lines, so after pass 2
       information is almost unusable.  By putting "<sync-lines>" in input file, it forces pass 2
       to resynchronize information on line numbers.  So for debugging pass 3, it could be of
       some help to insert "<sync-lines>" before ePerl code.


        Ralf S. Engelschall

        Denis Barbier


        Internal: P1, P2, P3, P4, P6
        External: --