X.LIST
A generic container. It can be used to construct most of the common
container classes (although these can only be validated at postprocessing
time). The DTD imposes very little constraints on how X.LIST can be used,
but CONTENT can be set to show certain common methods. X.LIST can contain
any or all of the common generic data items (A, X.ARR, X.VAR and X.LIST
itself). The commonest uses are:
- CONTENT=STRUCT (default). The X.LIST can contain any variety of components
(similar to a struct in C. The STRUCT can be given a name with the
STRUCT= attribute which could be used, for example, to define a PERSON
(age, name, etc). SGML cannot parse the validity of such a STRUCT which
must be done by the postprocessor.
By convention it will
impose no restricions, but if the user wishes to define bags, sets, etc.
they can do this with the STRUCT= attribute.
Example:
<X.LIST STRUCT=PERSON><X.VAR>John Doe<A HREF=jdoe@xyzzy.com></A></X.LIST>
- CONTENT=ARRAY. A Homogeneous array of other components. Examples:
- A list of dates:
<X.LIST CONTENT=ARRAY SIZE=3 TYPE="X.VAR"><X.VAR TYPE=date>1995-06-03<>1995-06-07<>1995-06-08</X.LIST>
- A list of pointers:
<X.LIST CONTENT=ARRAY SIZE=3 TYPE=HREF><A HREF=alpha></A><A HREF=beta></A></X.LIST>
- A list of people (each array element is a STRUCT):
<X.LIST CONTENT=ARRAY SIZE=2 TYPE=STRUCT>
<X.LIST CONTENT=STRUCT STRUCT=PERSON><X.VAR>John Doe<X.VAR TYPE=DATE>1940-09-08</X.LIST>
<X.LIST CONTENT=STRUCT STRUCT=PERSON><X.VAR>Jane Doe<X.VAR TYPE=DATE>1935-12-11</X.LIST>
</X.LIST>
- CONTENT=NODE. This designates the X.LIST as a node in a tree.
All contained
X.LISTs are assumed to be potential child nodes. Other contained objects
belong to the node. If a contained X.LIST is not a NODE, it is treated as
belonging to the node like the other objects, and will not be recursively
explored by a tree search algorithm. (It might be a STRUCT, for example).
Example:
<X.LIST CONTENT=NODE TITLE=vertebrate>
<X.LIST CONTENT=NODE TITLE=mammal>
<X.VAR>Suckles its young</X.VAR>
<X.LIST CONTENT=NODE TITLE=human>
<X.VAR>Walks</X.VAR></X.LIST>
<X.LIST CONTENT=NODE TITLE=bat>
<X.VAR>Flies</X.VAR></X.LIST>
</X.LIST>
<X.LIST CONTENT=NODE TITLE=reptile>
<X.VAR>Lays eggs</X.VAR>
<X.LIST CONTENT=NODE TITLE=snake>
<X.VAR>Slithers</X.VAR></X.LIST>
<X.LIST CONTENT=NODE TITLE=crocodile>
<X.VAR>Swims</X.VAR></X.LIST>
</X.LIST>
</X.LIST>
- CONTENT=TABLE. This represents a (rectangular) (relational) table, based
on columns. The columns can be of two sorts, X.VAR or X.LIST, and all columns
must have the same length. One or more X.ARR columns can be designated as KEYs
(using the KEY attribute) - the X.LIST columns cannot be used as KEYs.
Example:
<X.LIST CONTENT=TABLE SIZE=3>
<X.ARR CONTENT=INTEGER TITLE="Age" UNITS=year>23 37</X.ARR>
<X.ARR KEY=PRIMARY TITLE="Name">"John Doe" "Jane Doe"</X.ARR>
<X.LIST CONTENT=ARRAY TITLE="WWW"><A HREF="john"></A><A HREF="jane"></A></X.LIST>
</X.LIST>
The format of the table is different from the HTML 2.1 tables, (TAB)
and even when
that comes in, X.LIST will be retained. It has much more possibility for
semantics.
Note that the counts (COLUMNS, ROWS, SIZE) are advisory and primarily used
for checking. The postprocessor is assumed to be able to count.
Content
- a -- Anchor (head and/or tail of hyperlinks). (HTML 2.0)
- c.mol -- Toplevel container for molecular information.
- x.arr -- A very flexible matrix/array/geometry container.
- x.bib -- A bibliographic entry.
- x.html -- A hypertext container for use in XML and CML.
- x.list -- A very flexible generic list/tree/table container.
- x.var -- A generic, flexible, container for scalar information.
ATTRIBUTES
CONTENT DECLARATION
- Tag Minimization
-
Open Tag: REQUIRED
Close Tag: REQUIRED
Parent Elements
- c.crys -- Crystallographic data, especially unit cell and symmetry.
- c.feat -- Features of macromolecules (e.g. SITE, MUTATION).
- c.form -- Chemical formula.
- c.mol -- Toplevel container for molecular information.
- cml -- A toplevel DTD encompassing HTML 2.0, XML and MOL.
- x.list -- A very flexible generic list/tree/table container.
- xml -- A toplevel container for the XML DTD.
Top Elements
All Elements
Tree
cml DTD