<?xml version="1.0" encoding="UTF-8"?>

<!-- ====================================================================== -->
<!-- = appendix-i.xml                                                     = -->
<!-- = web application management service guide - appendix i              = -->
<!-- ====================================================================== -->
<!-- = This  program  is  free  software; you  can redistribute it and/or = -->
<!-- = modify it provided that this copyright notice is kept intact.      = -->
<!-- = This program is distributed in the hope that it will be useful but = -->
<!-- = without  any  warranty;  without  even  the  implied  warranty  of = -->
<!-- = merchantability or fitness for  a  particular purpose. In no event = -->
<!-- = shall  the  copyright  holder be liable for any  direct, indirect, = -->
<!-- = incidental  or special  damages arising  in any way out of the use = -->
<!-- = of this software.                                                  = -->
<!-- ====================================================================== -->
<!-- = copyright (c) 1999-2007 - amaury darsch                            = -->
<!-- ====================================================================== -->

<appendix service="wam" number="i">
  <title>Web application management service reference</title>

  <p>
  This appendix is a reference of the <afnix/> web application
  management (wam) service.
  </p>

  <table>
    <title>Web application management</title>
    <thead>
      <tr><td>Symbol</td> <td>Description</td></tr>
    </thead>
    <tbody>
      <tr><td>afnix-wam</td><td>module</td></tr>
      <tr><td>afnix:wam</td><td>nameset</td></tr>
    </tbody>
  </table>

  <!-- =================================================================== -->
  <!-- = xhtml root object                                               = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlRoot</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlRoot</code> class is a xml root node used for the
    design of a xhtml document page. At construction, the root node is
    initialized with a default xml processing instruction, and xhmtl
    node with head and body The head and body nodes can be used to add
    more nodes in order to build the document. The construction
    argument is the page title.
    </p>

    <!-- predicate -->
    <pred>xhtml-root-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlRoot</name>
      <name>Mime</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlRoot</name>
      <args>String</args>
      <p>
      The <code>XhtmlRoot</code> constructor creates a default xhtml
      page with a head and a body. The head node is set with the
      string title argument.
      </p>
    </ctor>

    <!-- methods -->
    <method>
      <name>get-head</name>
      <retn>XhtmlHead</retn>
      <args>none</args>
      <p>
      The <code>get-head</code> method returns the xhtml head node.
      </p>
    </method>

    <method>
      <name>get-body</name>
      <retn>XhtmlBody</retn>
      <args>none</args>
      <p>
      The <code>get-body</code> method returns the xhtml body node.
      </p>
    </method>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml html object                                               = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlHtml</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlHtml</code> class is a xhtml html node used for the
    design of a xhtml document page. At construction, the html node is
    initialized with a head node and a body node. Because a valid
    xhtml document must contain a title the constructor takes at least
    a title argument.
    </p>

    <!-- predicate -->
    <pred>xhtml-html-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlHtml</name>
      <args>String</args>
      <p>
      The <code>XhtmlHtml</code> constructor creates a default xhtml
      html node with a head and a body. The head node is set with the
      string title argument.
      </p>
    </ctor>

    <!-- methods -->
    <method>
      <name>get-head</name>
      <retn>XhtmlHead</retn>
      <args>none</args>
      <p>
      The <code>get-head</code> method returns the xhtml head node.
      </p>
    </method>

    <method>
      <name>get-body</name>
      <retn>XhtmlBody</retn>
      <args>none</args>
      <p>
      The <code>get-body</code> method returns the xhtml body node.
      </p>
    </method>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml head object                                               = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlHead</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlHead</code> class is a xhtml head node used for the
    design of a xhtml document page. At construction, the head node is
    initialized with a with a title node. The class is designed to
    hold as well meta nodes and style nodes.
    </p>

    <!-- predicate -->
    <pred>xhtml-head-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlHead</name>
      <args>String</args>
      <p>
      The <code>XhtmlHead</code> constructor creates a default xhtml
      head node with a title. The string argument is the head title.
      </p>
    </ctor>

    <!-- methods -->
    <method>
      <name>add-meta</name>
      <retn>none</retn>
      <args>String String</args>
      <p>
      The <code>add-meta</code> method adds a <code>XhtmlMeta</code>
      node to the head node. The first argument is the meta
      descriptor. The second argument is the meta contents.
      </p>
    </method>

    <method>
      <name>add-style</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>add-style</code> method adds a <code>XhtmlStyle</code>
      node to the head node. The string argument is the style url path.
      </p>
    </method>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml body object                                               = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlBody</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlBody</code> class is a xhtml body node used for the
    design of a xhtml document page. The class is designed to be
    filled with other xhtml nodes.
    </p>

    <!-- predicate -->
    <pred>xhtml-body-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlBody</name>
      <args>none</args>
      <p>
      The <code>XhtmlBody</code> constructor creates a default xhtml
      body node.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml title object                                              = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlTitle</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlTitle</code> class is a xhtml title node used in
    the head node.
    </p>

    <!-- predicate -->
    <pred>xhtml-title-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlTitle</name>
      <args>String</args>
      <p>
      The <code>XhtmlTitle</code> constructor creates a xhtml
      title node. The string argument is the title value. The title
      node is designed for the <code>XhtmlHead</code> class.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml meta object                                               = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlMeta</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlMeta</code> class is a xhtml meta node used in the
    head node. The meta data node is an empty node with two
    attributes which are the descriptor and content value. The meta
    data is stored internally as a xml attribute.
    </p>

    <!-- predicate -->
    <pred>xhtml-meta-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlMeta</name>
      <args>String String</args>
      <p>
      The <code>XhtmlMeta</code> constructor creates a xhtml
      meta node with a descriptor name and content value. The first
      argument is he descriptor name which is used as the node attribute
      name. The second argument is the content vale which is the
      attribute value.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml style object                                               = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlStyle</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlStyle</code> class is a xhtml style node used in
    the head node. The style node is built with a xml text node that
    holds the formatted url string.
    </p>

    <!-- predicate -->
    <pred>xhtml-style-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlStyle</name>
      <args>String</args>
      <p>
      The <code>XhtmlStyle</code> constructor creates a xhtml
      style node with a url path. The string argument is the url path
      of the style sheet file.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml paragraph object                                          = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlPara</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlPara</code> class is a xhtml paragraph node used in
    the body element of a xhtml page. The paragraph node can be
    created with a style name or as an empty node.
    </p>

    <!-- predicate -->
    <pred>xhtml-para-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlPara</name>
      <args>none</args>
      <p>
      The <code>XhtmlPara</code> constructor creates a default xhtml
      paragraph node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlPara</name>
      <args>String</args>
      <p>
      The <code>XhtmlPara</code> constructor creates a xhtml paragraph
      node with a style. The string argument is the style name.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlPara</name>
      <args>Boolean</args>
      <p>
      The <code>XhtmlPara</code> constructor creates an empty xhtml
      paragraph if the boolean argument is true.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml reference object                                          = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlRef</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlRef</code> class is a xhtml reference node
    used in the body element of a xhtml page. The node can be used to
    create hyperlink that references object by a uri. 
    </p>

    <!-- predicate -->
    <pred>xhtml-ref-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlRef</name>
      <args>none</args>
      <p>
      The <code>XhtmlRef</code> constructor creates a default xhtml
      reference node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlRef</name>
      <args>String</args>
      <p>
      The <code>XhtmlRef</code> constructor creates a xhtml reference
      node with a uri. The string argument is the uri to use.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlRef</name>
      <args>String String</args>
      <p>
      The <code>XhtmlRef</code> constructor creates a xhtml reference
      node with a uri and a reference text. The first argument is the
      uri. The second argument is the reference text.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml image object                                              = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlImg</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlImg</code> class is a xhtml image node used in the
    html body. The image node is an empty node with several attributes
    including the image source, the image width and height and an
    alternate string.
    </p>

    <!-- predicate -->
    <pred>xhtml-img-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlImg</name>
      <args>String String</args>
      <p>
      The <code>XhtmlImg</code> constructor creates a xhtml image node
      by source and alternate name. The first argument is the image
      uri. The second argument is the alternate name.
      </p>
    </ctor>

    <!-- methods -->
    <method>
      <name>set-width</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-width</code> method set the image width attribute.
      </p>
    </method>

   <method>
      <name>set-height</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-height</code> method set the image height attribute.
      </p>
    </method>

   <method>
      <name>set-geometry</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-geometry</code> method set the image width and
      height attribute in one call. 
      </p>
    </method>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml div object                                                = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlDiv</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlDiv</code> class is a xhtml <em>div</em> node used in
    the body element of a xhtml page. The <em>div</em> node is a xhtml
    grouping element.
    </p>

    <!-- predicate -->
    <pred>xhtml-div-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlDiv</name>
      <args>none</args>
      <p>
      The <code>XhtmlDiv</code> constructor creates a default xhtml
      div node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlDiv</name>
      <args>String</args>
      <p>
      The <code>XhtmlDiv</code> constructor creates a xhtml div
      node with a style. The string argument is the style name.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml hr object                                                 = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlHr</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlHr</code> class is a xhtml <em>hr</em> node used in
    the body element of a xhtml page. The <em>hr</em> node is a xhtml
    horizontal ruler element.
    </p>

    <!-- predicate -->
    <pred>xhtml-hr-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlHr</name>
      <args>none</args>
      <p>
      The <code>XhtmlHr</code> constructor creates a default xhtml
      hr node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlHr</name>
      <args>String</args>
      <p>
      The <code>XhtmlHr</code> constructor creates a xhtml hr
      node with a style. The string argument is the style name.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml colgroup object                                           = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlCgr</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlCgr</code> class is a xhtml column group node used
    in the table element. The column group is designed to hold the column
    definition bound by the <code>XhtmlCol</code> class.
    </p>

    <!-- predicate -->
    <pred>xhtml-cgr-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlCgr</name>
      <args>none</args>
      <p>
      The <code>XhtmlCgr</code> constructor creates a default xhtml
      <em>colgroup</em> node.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml col object                                                = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlCol</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlCol</code> class is a xhtml column node used
    in the table column group element.
    </p>

    <!-- predicate -->
    <pred>xhtml-col-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlCol</name>
      <args>none</args>
      <p>
      The <code>XhtmlCol</code> constructor creates a default xhtml
      <em>col</em> node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlCol</name>
      <args>String</args>
      <p>
      The <code>XhtmlCol</code> constructor creates a xhtml
      <em>col</em> node with a string width argument. The argument is
      the <em>width</em> attribute value.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml th object                                                 = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlTh</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlTh</code> class is a xhtml <em>th</em> node used in the
    table row. The object can be built with a style name.
    </p>

    <!-- predicate -->
    <pred>xhtml-th-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlTh</name>
      <args>none</args>
      <p>
      The <code>XhtmlTh</code> constructor creates a default xhtml
      th node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTh</name>
      <args>String</args>
      <p>
      The <code>XhtmlTh</code> constructor creates a xhtml th
      node with a style. The string argument is the style name.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml td object                                                 = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlTd</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlTd</code> class is a xhtml <em>td</em> node used in the
    table row. The object can be built with a style name.
    </p>

    <!-- predicate -->
    <pred>xhtml-td-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlTd</name>
      <args>none</args>
      <p>
      The <code>XhtmlTd</code> constructor creates a default xhtml
      td node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTd</name>
      <args>String</args>
      <p>
      The <code>XhtmlTd</code> constructor creates a xhtml td
      node with a style. The string argument is the style name.
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml tr object                                                 = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlTr</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlTr</code> class is a xhtml <em>tr</em> node used in the
    table node. The table row node is designed to accumulate table
    head or table data nodes.
    </p>

    <!-- predicate -->
    <pred>xhtml-tr-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlTr</name>
      <args>none</args>
      <p>
      The <code>XhtmlTr</code> constructor creates a default xhtml
      tr node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTr</name>
      <args>String</args>
      <p>
      The <code>XhtmlTr</code> constructor creates a xhtml tr
      node with a style. The string argument is the style name.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTr</name>
      <args>String String</args>
      <p>
      The <code>XhtmlTr</code> constructor creates a xhtml tr
      node with a style and a default table data style. The string
      argument is the table row style name. The second argument is the
      default table data style.
      </p>
    </ctor>

    <!-- methods -->
    <method>
      <name>new-head</name>
      <retn>XhtmlTh</retn>
      <args>none | String</args>
      <p>
      The <code>new-head</code> method returns a new table head data
      object. Without argument, a default <code>XhtmlTh</code> object
      is created. With a string argument, the  <code>XhtmlTh</code>
      object is constructed with a style name.
      </p>
    </method>

    <method>
      <name>new-data</name>
      <retn>XhtmlTd</retn>
      <args>none | String</args>
      <p>
      The <code>new-data</code> method returns a new table data
      object. Without argument, a default <code>XhtmlTd</code> object
      is created. With a string argument, the  <code>XhtmlTd</code>
      object is constructed with a style name.
      </p>
    </method>

    <method>
      <name>set-head-class</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-head-class</code> method sets the default table
      head style. The default style is use with the
      <code>new-head</code> method.
      </p>
    </method>

    <method>
      <name>set-data-class</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-data-class</code> method sets the default table
      data style. The default style is use with the
      <code>new-data</code> method.
      </p>
    </method>

    <method>
      <name>set-xdef-class</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-xdef-class</code> method sets the default table
      head and data style. The default style is use with the
      <code>new-head</code> and <code>new-data</code> methods. This
      method combines the <code>set-head-class</code> and the
      <code>set-head-class</code> 
      </p>
    </method>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml table element object                                      = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlTelem</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlTelem</code> class is an abstract class that
    implements the node behavior for the table head, body, foot and table
    elements. The table element node is designed to accumulate
    table row nodes. This class cannot be constructed directly.
    </p>

    <!-- predicate -->
    <pred>xhtml-telem-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XmlTag</name>
    </inherit>

    <!-- methods -->
    <method>
      <name>new-row</name>
      <retn>XhtmlTr</retn>
      <args>none | String</args>
      <p>
      The <code>new-row</code> method returns a new table row
      object. Without argument, a default <code>XhtmlTr</code> object 
      is created. With a string argument, the <code>XhtmlTr</code>
      object is constructed with a style name.
      </p>
    </method>

    <method>
      <name>add-table</name>
      <retn>none</retn>
      <args>PrintTable</args>
      <p>
      The <code>add-table</code> method adds a print table into the
      table element by adding automatically the row and the associated
      formatting information such like the data direction.
      </p>
    </method>

    <method>
      <name>set-xrow-class</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-xrow-class</code> method sets the default table row
      data style. The default row style is use with the
      <code>new-row</code> method.
      </p>
    </method>

    <method>
      <name>set-xdef-class</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-xdef-class</code> method sets the default table
      head and data style. The default style is use with the
      <code>new-row</code> method to set the table head and data
      default style.
      </p>
    </method>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml thead object                                              = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlThead</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlThead</code> class is a xhtml thead node. The table
    head node is designed to accumulate table rows nodes. The class acts
    almost like the xhtml table class.
    </p>

    <!-- predicate -->
    <pred>xhtml-thead-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XhtmlTelem</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlThead</name>
      <args>none</args>
      <p>
      The <code>XhtmlThead</code> constructor creates a default xhtml
      table head node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlThead</name>
      <args>String</args>
      <p>
      The <code>XhtmlThead</code> constructor creates a xhtml table
      head node with a style. The string argument is the style name.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlThead</name>
      <args>String String</args>
      <p>
      The <code>XhtmlThead</code> constructor creates a xhtml table
      head node with a style and a default table row style. The string
      argument is the table head style name. The second argument is the
      default table row style.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlThead</name>
      <args>String String String</args>
      <p>
      The <code>XhtmlThead</code> constructor creates a xhtml table
      head node with a style, a default table row style and a default
      table data style. The string argument is the table head style
      name. The second argument is the default table row style. The
      third argument is the table data style.      
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml tbody object                                              = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlTbody</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlTbody</code> class is a xhtml tbody node. The table
    body node is designed to accumulate table rows nodes. The class acts
    almost like the xhtml table class.
    </p>

    <!-- predicate -->
    <pred>xhtml-tbody-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XhtmlTelem</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlTbody</name>
      <args>none</args>
      <p>
      The <code>XhtmlTbody</code> constructor creates a default xhtml
      table body node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTbody</name>
      <args>String</args>
      <p>
      The <code>XhtmlTbody</code> constructor creates a xhtml table
      body node with a style. The string argument is the style name.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTbody</name>
      <args>String String</args>
      <p>
      The <code>XhtmlTbody</code> constructor creates a xhtml table
      body node with a style and a default table row style. The string
      argument is the table body style name. The second argument is the
      default table row style.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTbody</name>
      <args>String String String</args>
      <p>
      The <code>XhtmlTbody</code> constructor creates a xhtml table
      body node with a style, a default table row style and a default
      table data style. The string argument is the table body style
      name. The second argument is the default table row style. The
      third argument is the table data style.      
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml tfoot object                                              = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlTfoot</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlTfoot</code> class is a xhtml tfoot node. The table
    foot node is designed to accumulate table rows nodes. The class acts
    almost like the xhtml table class.
    </p>

    <!-- predicate -->
    <pred>xhtml-tfoot-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XhtmlTelem</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlTfoot</name>
      <args>none</args>
      <p>
      The <code>XhtmlTfoot</code> constructor creates a default xhtml
      table foot node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTfoot</name>
      <args>String</args>
      <p>
      The <code>XhtmlTfoot</code> constructor creates a xhtml table
      foot node with a style. The string argument is the style name.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTfoot</name>
      <args>String String</args>
      <p>
      The <code>XhtmlTfoot</code> constructor creates a xhtml table
      foot node with a style and a default table row style. The string
      argument is the table foot style name. The second argument is the
      default table row style.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTfoot</name>
      <args>String String String</args>
      <p>
      The <code>XhtmlTfoot</code> constructor creates a xhtml table
      foot node with a style, a default table row style and a default
      table data style. The string argument is the table foot style
      name. The second argument is the default table row style. The
      third argument is the table data style.      
      </p>
    </ctor>
  </object>

  <!-- =================================================================== -->
  <!-- = xhtml table object                                              = -->
  <!-- =================================================================== -->

  <object nameset="afnix:wam">
    <name>XhtmlTable</name>

    <!-- synopsis -->
    <p>
    The <code>XhtmlTable</code> class is a xhtml table node. The table
    node is designed to accumulate table row nodes or column group
    nodes. The table can also be designed with a table head, body and
    foot nodes. 
    </p>

    <!-- predicate -->
    <pred>xhtml-table-p</pred>

    <!-- inheritance -->
    <inherit>
      <name>XhtmlTelem</name>
    </inherit>

    <!-- constructors -->
    <ctor>
      <name>XhtmlTable</name>
      <args>none</args>
      <p>
      The <code>XhtmlTable</code> constructor creates a default xhtml
      table foot node.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTable</name>
      <args>String</args>
      <p>
      The <code>XhtmlTable</code> constructor creates a xhtml table
      foot node with a style. The string argument is the style name.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTable</name>
      <args>String String</args>
      <p>
      The <code>XhtmlTable</code> constructor creates a xhtml table
      foot node with a style and a default table row style. The string
      argument is the table foot style name. The second argument is the
      default table row style.
      </p>
    </ctor>

    <ctor>
      <name>XhtmlTable</name>
      <args>String String String</args>
      <p>
      The <code>XhtmlTable</code> constructor creates a xhtml table
      foot node with a style, a default table row style and a default
      table data style. The string argument is the table foot style
      name. The second argument is the default table row style. The
      third argument is the table data style.      
      </p>
    </ctor>

    <!-- methods -->
    <method>
      <name>set-caption</name>
      <retn>none</retn>
      <args>String</args>
      <p>
      The <code>set-caption</code> method sets the table caption. A
      new <code>XhtmlCaption</code> node is automatically added to the
      table tree during this method call.
      </p>
    </method>
  </object>
</appendix>
