afnix-wax






wax ‐ web application extension service

The Web Application Extensionservice is an original
implementation that provides the support for low level HTTP
transaction as well as high level XHTML page generation. The
service combines various modules and provides access to the
modern generation of web contents.

     objectsPageservice
The XhtmlRootclass is the primary interface to generate
xhtml page. The class is derived from the XmlRootclass and
the Mimeobject. for this reason, creating a xhtml page is
equivalent to add xml nodes to the page. The xhtml version
is assumed to be 1.1.

     Pagecreation
The XhtmlRootconstructor takes a string argument which is
the title page. When the root page is created, a headand
bodynodes are automatically created. Once created, it is
possible to retrieve the head and body nodes from the root
node. The head and body nodes are part of the htmlnode which
is automatically instantiated as a XhtmlHtmlobject. The html
node can always be retrieved from the root node with the
get‐childxml method.

# create a new xhtml page
const page (afnix:wax:XhtmlRoot "AFNIX wax service")
# get the head node
const head (page:get‐head)
# get the body node
const body (page:get‐body)

The head and body nodes are part of the htmlnode which is
automatically instantiated as a XhtmlHtmlobject. The html
node can always be retrieved from the root node with the
get‐childxml method. The root methods get‐headand get‐
bodyare convenient methods that ease the page design by
eliminating the references to the html node.

# create a new xhtml page
const page (afnix:wax:XhtmlRoot "AFNIX wax service")
# get the html node
const html (page:get‐child "html")
# get the head node
const head (html:get‐head)
# get the body node
const body (html:get‐body)


     Pageheader
The XhtmlHeadclass is the xml node that handles the xhtml
head. The object is automatically created when calling the
XhtmlRootconstructor. During the construction process, the
head is automatically set with a title. Once created, the









                             ‐2‐


head can be filled with meta information and styles. The
add‐metamethod is designed to add meta information, while
the add‐styleadd a link node with a style reference to the
head.

# add a meta tag
head:add‐meta "copyright" "© 2000"
# add a style path
head:add‐style "/style.css"

The add‐metamethod adds a XhtmlMetaobject which is a xml tag
node. The first argument is the meta descriptor while the
second argument is the meta content. Note that the add‐
metamethod can be simulated by calling the
XhtmlMetaconstructor and then adding the node to the head
node.

# create a meta node
const node (afnix:wax:XhtmlMeta "copyright" "© 2013")
# add the node to the head
head:add node

The add‐stylemethod adds a XhtmlStyleobject which is a xml
tag node. The string argument is the url style sheet path
which gets automatically transformed to the form
@import(url). Note that the add‐stylemethod can be simulated
by calling the XhtmlStyleconstructor and then adding the
node to the head node.

# create a style node
const node (afnix:wax:XhtmlStyle "/style.css")
# add the node to the head
head:add node


     Pagebody
The XhtmlBodyclass is the xml node that handles the xhtml
body. The object is automatically created when calling the
XhtmlRootconstructor. Once created, the body node can be
filled with any valid xhtml node. Since the node are
initially xml tag node, it is always possible to create a
tag by name and set the attributes and child nodes manually.

# create a new xhtml page
const page (afnix:wax:XhtmlRoot "AFNIX wax service")
# get the body node
const body (page:get‐body)
# add a node
body:add‐child node


     Pageemission
Since the XhtmlRootobject is a xml root node, the node can
be used to write the complete hierarchy. The xml node node









                             ‐3‐


provides the writemethod that write a xml tree into a buffer
of an output stream.

# create a new xhtml page
const page (afnix:wax:XhtmlRoot "AFNIX wax service")
# write to the output stream
page:write

Another mechanism for writing the page is to use the fact
that the XhtmlRootclass implements also the Mimeinterface.
With this in mind, the XhtmlRootcan be used within the
HttpReply. This method is particularly useful when writing
automated page generation, such like CGI scripts.

# create a new xhtml page
const page (afnix:wax:XhtmlRoot "AFNIX wax service")
# create an http reply object
const reply (afnix:wax:HttpReply)
# write the page as a mime object
reply:add‐buffer page
# write the result to the output
reply:write


     objectsPagedesign
The wax service moduleis designed to provide several object
that ease the task of creating a xhtml page. Such objects
range from comment to table. Most of the time, the
construction is simple the resulting node only need to be
added to the page tree. When it comes to add text, the
problem is becoming more subtle and is discussed later in
this section.

     Commentnode
Adding a comment is done with the XmlCommentclass which take
the comment string in the constructor. Once created, the
comment node can be added to the tree.

# add a comment to the body node
body:add‐child (
  afnix:xml:XmlComment "this is a comment")


     classNodestyle
When the xhtml page is combined with the cascaded style
sheet (CSS), the xhtml node tag often uses a classname to
refer to a particular style. The class styleis just a node
attribute which can be set with the add‐attributemethod.
However, most of the time, the library provides object which
have the style as the first argument in the constructor. For
example, the XhtmlDivconstructor take 0 or one argument.
With one argument, the string argument is used as the style
attribute.










                             ‐4‐


# create a xhtml div with a class attribute
const div (afnix:wax:XhtmlDiv "nice")
# create a xhtml div  and set the class manually
const div (afnix:wax:XhtmlDiv)
div:set‐attribute "class" "nice"


     paragraphAddingtext
Adding text to a page is not a trivial task when it comes to
deal with text style. By default, a piece of text is stored
in the XmlTextnode. Using this node is easy. However, in a
programming context, its use can become heavy. For this
reason, all xml nodes provide the parsemethod which can be
used to add a xml tree to the calling node. When it comes to
add text that includes rendering tag, this method is quite
handy.

# add a text with some piece in italic
node:parse "this is a <i>simple</i> method"

The XhtmlParanode is the preferred node for adding text to a
xhtml page. The node takes optionally the style name in the
constructor. A boolean flag can also be used to create an
empty paragraph node.

# create a paragraph node with a style
const p (afnix:wax:XhtmlPara "title")
# add some text
p:parse "the paragraph text"


     Addingreference
Adding reference or hyperlink to a page is achieved with the
XhtmlRefclass. Most of the time, the object is built with a
uri and a text. when the node has been created, the node can
be added to the page tree.

# create a hyperlink
const node (
  afnix:wax:XhtmlRef "http://www.afnix.org" "afnix")
# add the node in a paragraph
p:add‐child node


     Formattingelements
The XhtmlDivand XhtmlHrclasses are the basic formatting
xhtml elements. The XhtmlDivis a grouping element and the
XhtmlHris a simple horizontal ruler element. Both classes
take 0 or one argument which is the style name.

# create a div element
const div (afnix:wax:XhtmlDiv "menu")
# create a ruler element
const hr  (afnix:wax:XhtmlHr)









                             ‐5‐


     Managingtable
The wax service moduleprovides an extensive support of he
xhtml table element. There are basically two strategies for
creating a table. One is to use the html elements or the
other is to use a print table object and automatically feed
the xhtml table. The first method provides a better control
while the second one is easier to use.

     elementThetable
The XhtmlTableclass is the class that manages xhtml table.
As usual, a default style name can be specified in the
constructor. Eventually, a default table row and table data
default style can also be specified. Such default value are
used when creating a new row with the new‐rowmethod.

# create an element with a default tr and th/td style
const tbl (afnix:wax:XhtmlTable "text" "text" "text")
# get a new row with a default style
const tr (tbl:new‐row)

In the previous example, a table is created with a default
style for the table row. When a new row is created, the
default style is used for that row. If there is no default
style, the row is created without a style. Note that the
new‐rowmethod takes also a style argument that overwrites
the default one.

     tableBuildingthe
A table is built by adding row and data element into the
rows. A row is created with the new‐rowmethod or the object
can be constructed directly and added to the node with the
add‐childmethod. The XhtmlTrclass is the table row class.

# get a new row with a default style
trans tr (tbl:new‐row)
# create a row directly
trans tr (afnix:wax:XhtmlTr "text")

When a row has been created, the data can be added to the
row. Normally, the new‐datamethod is used to create a new
table data element. If a default style is defined in the
table row, the table data element is built with that style.
The new‐headmethod can also be used to create table header
element. Again, if a default table header style exists in
the table row, the element is built with that style. The
XhtmlTdclass is the table data class and the XhtmlThclass is
the table header class.

# get a new data element
trans td (tr:new‐data)
# create new head element
trans th (tr:new‐head)

When the table data node has been created, the parsemethod









                             ‐6‐


or the add‐childmethod can be called to add other nodes.
another method for building the table is to use the add‐
tablemethod which uses a print table object. In such case,
the table rows and data elements are automatically added in
the table.

     structureThetable
The table can be designed directly with table rows with
table headers and table data elements. Another method, which
is more structured is to use the table head, table body and
table footer elements. The XhtmlTheadclass is the table head
element class. The XhtmlTbodyclass is the table body element
class. The XhtmlTfootclass is the table footer element
class. These classes behaves exactly like the XhtmlTableand
are in fact all derived from the XhtmlTelemclass.

# create a xhtml table
const table (afnix:wax:XhtmlTable "text")
# create a table body
const tbody (
  afnix:wax:XhtmlTable "text" "text" "text")
# add a print tbl in the body
tbody:add‐table ptbl
# add the body to the table
table:ad‐child tbody

A table caption node can also be set with the set‐
captionmethod. The method simply creates a XhtmlCaptionnode
and adds it to the table. The caption text is part of the
method call which is used by the caption node constructor.
It is also possible to create the caption node by calling
the XhtmlCaptionconstructor and adding it to the table with
he add‐childmethod.

# create a xhtml table
const table (afnix:wax:XhtmlTable "text")
# set a table caption
table:set‐caption "the afnix table system"

The table structure can also be defined with the
XhtmlCgrclass which corresponds to the xhtml column group
element. The column group element is designed to support the
colelement that formats the table column.

# create a table
const table (afnix:wax:XhtmlTable "text")
# set the table with to 100%
table:add‐attribute "width" "100%"
# create a column group
table:add‐child (const xcgr (afnix:wax:XhtmlCgr))
# add a column with 30% width
cgr:add‐child (afnix:wax:XhtmlCol "30%")
# add a column with 70% width
cgr:add‐child (afnix:wax:XhtmlCol "70%")









                             ‐7‐




     XhtmlRoot
The XhtmlRootclass 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.

     Predicate

     xhtml‐root‐p

     Inheritance

     XmlRootMime

     Constructors

     XhtmlRoot(String)
     The XhtmlRootconstructor creates a default xhtml page
     with a head and a body. The head node is set with the
     string title argument.

     Methods

     XhtmlHeadget‐head‐>
     The get‐headmethod returns the xhtml head node.

     XhtmlBodyget‐body‐>
     The get‐bodymethod returns the xhtml body node.

     XhtmlHtml
The XhtmlHtmlclass 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.

     Predicate

     xhtml‐html‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlHtml(String)
     The XhtmlHtmlconstructor creates a default xhtml html
     node with a head and a body. The head node is set with
     the string title argument.









                             ‐8‐


     Methods

     XhtmlHeadget‐head‐>
     The get‐headmethod returns the xhtml head node.

     XhtmlBodyget‐body‐>
     The get‐bodymethod returns the xhtml body node.

     XhtmlHead
The XhtmlHeadclass 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.

     Predicate

     xhtml‐head‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlHead(String)
     The XhtmlHeadconstructor creates a default xhtml head
     node with a title. The string argument is the head
     title.

     Methods

     noneadd‐meta‐>
     The add‐metamethod adds a XhtmlMetanode to the head
     node. The first argument is the meta descriptor. The
     second argument is the meta contents.

     noneadd‐style‐>
     The add‐stylemethod adds a XhtmlLinknode to the head
     node. The string argument is the style url path. The
     link node is automatically configured to reference a
     ’text/css’ mime type.

     XhtmlBody
The XhtmlBodyclass 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.

     Predicate

     xhtml‐body‐p

     Inheritance

     XmlTag









                             ‐9‐


     Constructors

     XhtmlBody(none)
     The XhtmlBodyconstructor creates a default xhtml body
     node.

     XhtmlTitle
The XhtmlTitleclass is a xhtml title node used in the head
node.

     Predicate

     xhtml‐title‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlTitle(String)
     The XhtmlTitleconstructor creates a xhtml title node.
     The string argument is the title value. The title node
     is designed for the XhtmlHeadclass.

     Methods

     noneset‐title‐>
     The set‐titlemethod set the node title by value.

     XhtmlMeta
The XhtmlMetaclass 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.

     Predicate

     xhtml‐meta‐p

     Inheritance

     XmlTag

     Constructors

     String)XhtmlMeta(String
     The XhtmlMetaconstructor 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.











                            ‐10‐


     XhtmlLink
The XhtmlLinkclass is a xhtml link node used in the head
node. The link node is an empty node with several
attributes. The most important one is the ’href’ attribute
that specifies the link uri. Other attributes like ’type’ or
’rel’ can also be set at construction.

     Predicate

     xhtml‐link‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlLink(String)
     The XhtmlLinkconstructor creates a xhtml link node by
     reference. The first argument is the link reference.

     String)XhtmlLink(String
     The XhtmlLinkconstructor creates a xhtml link node by
     reference and type. The first argument is the link
     reference. The second argument is the link type. The
     link type is defined as a mime type.

     StringXhtmlLink(String
     The XhtmlLinkconstructor creates a xhtml link node by
     reference, type and relation. The first argument is the
     link reference. The second argument is the link type.
     The link type is defined as a mime type. The third
     argument is the link relation.

     XhtmlStyle
The XhtmlStyleclass 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.

     Predicate

     xhtml‐style‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlStyle(String)
     The XhtmlStyleconstructor creates a xhtml style node
     with a url path. The string argument is the url path of
     the style sheet file.










                            ‐11‐


     XhtmlScript
The XhtmlScriptclass is a xhtml script node used in the head
and body node. The script node is built with a xml tag node
that holds the script content. Sometimes it is recommended
to place the script inside a CDATA node that is stored as a
child node of the script node. A boolean flag controls this
feature at construction.

     Predicate

     xhtml‐script‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlScript(String)
     The XhtmlScriptconstructor creates a xhtml script node
     with a type. The string argument is the mime type
     string such like ’text/javascript’.

     Boolean)XhtmlScript(String
     The XhtmlScriptconstructor creates a xhtml script node
     with a type and a CDATA node control flag. The first
     argument is the mime type string such like
     ’text/javascript’. The second argument is the CDATA
     node control flag. If the flag is true, all scripts
     attached to the node are placed into a ’CDATA’ node.

     String)XhtmlScript(String
     The XhtmlScriptconstructor creates a xhtml script node
     with a type and a url. The first argument is the mime
     type string such like ’text/javascript’. The second
     argument is the script source url.

     XhtmlPara
The XhtmlParaclass 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.

     Predicate

     xhtml‐para‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlPara(none)
     The XhtmlParaconstructor creates a default xhtml









                            ‐12‐


     paragraph node.

     XhtmlPara(String)
     The XhtmlParaconstructor creates a xhtml paragraph node
     with a style. The string argument is the style name.

     XhtmlPara(Boolean)
     The XhtmlParaconstructor creates an empty xhtml
     paragraph if the boolean argument is true.

     XhtmlEmph
The XhtmlEmphclass is a xhtml emphasize node used in the
body element of a xhtml page. The emphasize node can be
created with a style name.

     Predicate

     xhtml‐emph‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlEmph(none)
     The XhtmlEmphconstructor creates a default xhtml
     emphasize node.

     XhtmlEmph(String)
     The Xhtmlemphconstructor creates a xhtml emphasize node
     with a style. The string argument is the style name.

     XhtmlRef
The XhtmlRefclass 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.

     Predicate

     xhtml‐ref‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlRef(none)
     The XhtmlRefconstructor creates a default xhtml
     reference node.

     XhtmlRef(String)
     The XhtmlRefconstructor creates a xhtml reference node









                            ‐13‐


     with a uri. The string argument is the uri to use.

     String)XhtmlRef(String
     The XhtmlRefconstructor 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.

     XhtmlImg
The XhtmlImgclass 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.

     Predicate

     xhtml‐img‐p

     Inheritance

     XmlTag

     Constructors

     String)XhtmlImg(String
     The XhtmlImgconstructor creates a xhtml image node by
     source and alternate name. The first argument is the
     image uri. The second argument is the alternate name.

     Methods

     noneset‐width‐>
     The set‐widthmethod set the image width attribute.

     noneset‐height‐>
     The set‐heightmethod set the image height attribute.

     noneset‐geometry‐>
     The set‐geometrymethod set the image width and height
     attribute in one call.

     XhtmlDiv
The XhtmlDivclass is a xhtml divnode used in the body
element of a xhtml page. The divnode is a xhtml grouping
element.

     Predicate

     xhtml‐div‐p

     Inheritance

     XmlTag











                            ‐14‐


     Constructors

     XhtmlDiv(none)
     The XhtmlDivconstructor creates a default xhtml div
     node.

     XhtmlDiv(String)
     The XhtmlDivconstructor creates a xhtml div node with a
     style. The string argument is the style name.

     XhtmlPre
The XhtmlPreclass is a xhtml prenode used in the body
element of a xhtml page. The prenode is a xhtml formatting
element.

     Predicate

     xhtml‐pre‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlPre(none)
     The XhtmlPreconstructor creates a default xhtml pre
     node.

     XhtmlPre(String)
     The XhtmlPreconstructor creates a xhtml pre node with a
     style. The string argument is the style name.

     XhtmlHr
The XhtmlHrclass is a xhtml hrnode used in the body element
of a xhtml page. The hrnode is a xhtml horizontal ruler
element.

     Predicate

     xhtml‐hr‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlHr(none)
     The XhtmlHrconstructor creates a default xhtml hr node.

     XhtmlHr(String)
     The XhtmlHrconstructor creates a xhtml hr node with a
     style. The string argument is the style name.









                            ‐15‐


     XhtmlCgr
The XhtmlCgrclass is a xhtml column group node used in the
table element. The column group is designed to hold the
column definition bound by the XhtmlColclass.

     Predicate

     xhtml‐cgr‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlCgr(none)
     The XhtmlCgrconstructor creates a default xhtml
     colgroupnode.

     XhtmlCol
The XhtmlColclass is a xhtml column node used in the table
column group element.

     Predicate

     xhtml‐col‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlCol(none)
     The XhtmlColconstructor creates a default xhtml
     colnode.

     XhtmlCol(String)
     The XhtmlColconstructor creates a xhtml colnode with a
     string width argument. The argument is the
     widthattribute value.

     XhtmlTh
The XhtmlThclass is a xhtml thnode used in the table row.
The object can be built with a style name.

     Predicate

     xhtml‐th‐p

     Inheritance

     XmlTag










                            ‐16‐


     Constructors

     XhtmlTh(none)
     The XhtmlThconstructor creates a default xhtml th node.

     XhtmlTh(String)
     The XhtmlThconstructor creates a xhtml th node with a
     style. The string argument is the style name.

     XhtmlTd
The XhtmlTdclass is a xhtml tdnode used in the table row.
The object can be built with a style name.

     Predicate

     xhtml‐td‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlTd(none)
     The XhtmlTdconstructor creates a default xhtml td node.

     XhtmlTd(String)
     The XhtmlTdconstructor creates a xhtml td node with a
     style. The string argument is the style name.

     XhtmlTr
The XhtmlTrclass is a xhtml trnode used in the table node.
The table row node is designed to accumulate table head or
table data nodes.

     Predicate

     xhtml‐tr‐p

     Inheritance

     XmlTag

     Constructors

     XhtmlTr(none)
     The XhtmlTrconstructor creates a default xhtml tr node.

     XhtmlTr(String)
     The XhtmlTrconstructor creates a xhtml tr node with a
     style. The string argument is the style name.

     String)XhtmlTr(String
     The XhtmlTrconstructor creates a xhtml tr node with a









                            ‐17‐


     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.

     Methods

     XhtmlThnew‐head‐>
     The new‐headmethod returns a new table head data
     object. Without argument, a default XhtmlThobject is
     created. With a string argument, the XhtmlThobject is
     constructed with a style name.

     XhtmlTdnew‐data‐>
     The new‐datamethod returns a new table data object.
     Without argument, a default XhtmlTdobject is created.
     With a string argument, the XhtmlTdobject is
     constructed with a style name.

     noneset‐head‐class‐>
     The set‐head‐classmethod sets the default table head
     style. The default style is use with the new‐
     headmethod.

     noneset‐data‐class‐>
     The set‐data‐classmethod sets the default table data
     style. The default style is use with the new‐
     datamethod.

     noneset‐xdef‐class‐>
     The set‐xdef‐classmethod sets the default table head
     and data style. The default style is use with the new‐
     headand new‐datamethods. This method combines the set‐
     head‐classand the set‐head‐class

     XhtmlTelem
The XhtmlTelemclass 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.

     Predicate

     xhtml‐telem‐p

     Inheritance

     XmlTag

     Methods

     XhtmlTrnew‐row‐>
     The new‐rowmethod returns a new table row object.
     Without argument, a default XhtmlTrobject is created.
     With a string argument, the XhtmlTrobject is









                            ‐18‐


     constructed with a style name.

     noneadd‐table‐>
     The add‐tablemethod adds a print table into the table
     element by adding automatically the row and the
     associated formatting information such like the data
     direction. The optional second argument controls
     whether or not the table tag shall be used to build
     reference node for the table elements.

     noneset‐xrow‐class‐>
     The set‐xrow‐classmethod sets the default table row
     data style. The default row style is use with the new‐
     rowmethod.

     noneset‐xdef‐class‐>
     The set‐xdef‐classmethod sets the default table head
     and data style. The default style is use with the new‐
     rowmethod to set the table head and data default style.

     XhtmlThead
The XhtmlTheadclass 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.

     Predicate

     xhtml‐thead‐p

     Inheritance

     XhtmlTelem

     Constructors

     XhtmlThead(none)
     The XhtmlTheadconstructor creates a default xhtml table
     head node.

     XhtmlThead(String)
     The XhtmlTheadconstructor creates a xhtml table head
     node with a style. The string argument is the style
     name.

     String)XhtmlThead(String
     The XhtmlTheadconstructor 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.

     StringXhtmlThead(String
     The XhtmlTheadconstructor 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









                            ‐19‐


     table head style name. The second argument is the
     default table row style. The third argument is the
     table data style.

     XhtmlTbody
The XhtmlTbodyclass 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.

     Predicate

     xhtml‐tbody‐p

     Inheritance

     XhtmlTelem

     Constructors

     XhtmlTbody(none)
     The XhtmlTbodyconstructor creates a default xhtml table
     body node.

     XhtmlTbody(String)
     The XhtmlTbodyconstructor creates a xhtml table body
     node with a style. The string argument is the style
     name.

     String)XhtmlTbody(String
     The XhtmlTbodyconstructor 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.

     StringXhtmlTbody(String
     The XhtmlTbodyconstructor 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.

     XhtmlTfoot
The XhtmlTfootclass 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.

     Predicate

     xhtml‐tfoot‐p

     Inheritance

     XhtmlTelem









                            ‐20‐


     Constructors

     XhtmlTfoot(none)
     The XhtmlTfootconstructor creates a default xhtml table
     foot node.

     XhtmlTfoot(String)
     The XhtmlTfootconstructor creates a xhtml table foot
     node with a style. The string argument is the style
     name.

     String)XhtmlTfoot(String
     The XhtmlTfootconstructor 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.

     StringXhtmlTfoot(String
     The XhtmlTfootconstructor 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.

     XhtmlTable
The XhtmlTableclass 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.

     Predicate

     xhtml‐table‐p

     Inheritance

     XhtmlTelem

     Constructors

     XhtmlTable(none)
     The XhtmlTableconstructor creates a default xhtml table
     foot node.

     XhtmlTable(String)
     The XhtmlTableconstructor creates a xhtml table foot
     node with a style. The string argument is the style
     name.

     String)XhtmlTable(String
     The XhtmlTableconstructor 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









                            ‐21‐


     second argument is the default table row style.

     StringXhtmlTable(String
     The XhtmlTableconstructor 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.

     Methods

     noneset‐caption‐>
     The set‐captionmethod sets the table caption. A new
     XhtmlCaptionnode is automatically added to the table
     tree during this method call.

     XmlMime
The XmlMimeclass is a generic xml mime document class. The
class is used to construct a mime version of a xml document
which can be obtained from a file name, or an input stream.
By default, the mime type ’application/xml’.

     Predicate

     xml‐mime‐p

     Inheritance

     XmlDocumentMime

     Constructors

     XmlMime(none)
     The XmlMimeconstructor creates a default xml mime
     document.

     XmlMime(String)
     The XmlMimeconstructor creates a xml mime document by
     parsing a file. The file name is the string argument.

     InputStream)XmlMime(String
     The XmlMimeconstructor creates a xml mime document by
     name and by parsing the input stream. The first
     argument is the xml document name. The second argument
     is the input stream to parse.

     XhtmlMime
The XhtmlMimeclass is a generic xhtml mime document class.
The class is used to construct a mime version of a xhtml
document which can be obtained from a file name, or an input
stream. By default, the mime type ’application/xhtml+xml’.











                            ‐22‐


     Predicate

     xhtml‐mime‐p

     Inheritance

     XmlMime

     Constructors

     XhtmlMime(none)
     The XhtmlMimeconstructor creates a default xhtml mime
     document.

     XhtmlMime(String)
     The XhtmlMimeconstructor creates a xhtml mime document
     by parsing a file. The file name is the string
     argument.

     InputStream)XhtmlMime(String
     The XhtmlMimeconstructor creates a xhtml mime document
     by name and by parsing the input stream. The first
     argument is the xhtml document name. The second
     argument is the input stream to parse.

     XhtmlForm
The XhtmlFormclass is a generic xhtml form object. A form is
defined by an action and a method. When the form is created,
it is appropriate to add other xhtml objects.

     Predicate

     xhtml‐form‐p

     Inheritance

     XhtmlTag

     Constructors

     String)XhtmlForm(String
     The XhtmlFormconstructor creates a xhtml form by action
     and method. The first argument is the uri path for the
     action while the second argument is the method to use
     for the action.

     XhtmlText
The XhtmlTextclass is a generic xhtml input text object. An
input text is a form element which is used to capture text
in a field. The text value is attached with the name
attribute.

     Predicate










                            ‐23‐


     xhtml‐text‐p

     Inheritance

     XhtmlTag

     Constructors

     XhtmlText(String)
     The XhtmlTextconstructor creates a xhtml input text by
     name.

     String)XhtmlText(String
     The XhtmlTextconstructor creates a xhtml input text by
     name and size. The first argument is the input text
     name and the second argument is the text field size.

     Methods

     noneset‐size‐>
     The set‐sizemethod sets the input text size.

     XhtmlSubmit
The XhtmlSubmitclass is a generic xhtml input submit object.
An input submit object is a button which is used inside a
form generally as a condition to activate the form.

     Predicate

     xhtml‐submit‐p

     Inheritance

     XhtmlTag

     Constructors

     XhtmlSubmit(String)
     The XhtmlSubmitconstructor creates a xhtml submit
     button by value.

     String)XhtmlText(String
     The XhtmlTextconstructor creates a xhtml submit button
     by value and size. The first argument is the input
     submit value and the second argument is the submit
     size.

     Methods

     noneset‐size‐>
     The set‐sizemethod sets the submit button size.