Langue: en

Autres versions - même langue

Version: 2010-05-17 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)


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: --