NAME¶
wml::std::tags - Standard Support Tags
SYNOPSIS¶
#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]>
...
</javascript>
# Resynchronize line numbers for more accurate pass 3 warnings
<sync-lines>
DESCRIPTION¶
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.
"<javascript>":¶
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.
"<sync-lines>":¶
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.
AUTHORS¶
Ralf S. Engelschall
rse@engelschall.com
www.engelschall.com
Denis Barbier
barbier@engelschall.com
REQUIRES¶
Internal: P1, P2, P3, P4, P6
External: --