         Micro-Templates

* Each template file in the @lib/xhtml/ directory applies to one type of
  component in the @lib/xhtml.l functions.

* The template files are line oriented. One micro-template per line.

* A micro-template can be continued on the following line(s) by
  indenting these lines with space(s).

* Each line has a defined meaning. Except for indented lines, no lines
  can be added or removed.

* A micro-template may contain either variables or expressions enclosed
  by "¦" (broken bar character, hex "00A6").

* An empty line is denoted by "<>".

* "~" is replaced at runtime with the session ID.

* At program start, all templates from @lib/xhtml/ are loaded.

* The application may override one or more files in a local directory,
  and call 'xhtml' with that path. Also more than once.

* Available templates:

   html
      1. DOCTYPE
      2. HTML start
      3. HEAD
      4. BODY
      5. HTML end

   table
      1. Table start
      2. Caption
      3. Header row start
      4. Header row entry
      5. Header row end
      6. Data row start
      7. Data row entry
      8. Data row end
      9. Table end

   grid
      1. Grid start
      2. Grid row start
      3. Grid row entry
      4. Grid row end
      5. Grid end

   layout
      Variable number of lines, one per code block

   menu
      1. Menu start
      2. Submenu start
      3. Plain HTML
      4. Disabled link
      5. Enabled link
      6. Enabled active link
      7. Closed submenu
      8. Open submenu start
      9. Open submenu end
      10. Submenu end
      11. Menu end

   tab
      1. TABLE start
      2. Disabled entry
      3. Enabled entry
      4. TABLE end

   input
      1. (Non-text) Input element

   field
      1. Text input element

   area
      1. TEXTAREA start
      2. TEXTAREA end

   select
      1. SELECT start
      2. OPTION
      3. SELECT end

   submit
      1. Submit input element
