ARRAY:
Attributes
Some BUILTINS specific to ARRAY are (see example files for how to use them):
- HEAD. The head of a pointer.
- TAIL. The tail of a pointer.
- END1. One end of a pointer.
- END2. The other end of a pointer.
- TO. One end of a relation
- FROM. The other end of a relation
I am not sure that these are all unique, so be careful.
Value(s)
- elsym
- elno
- atno
- atomid
- isotope
- spin
- x2
- y2
- x3
- y3
- z3
- xf
- yf
- zf
- zl
- za
- zt
- zmatnos
- zmatids
- c13
- symop
- attyp
- disord
- chain
- resid
- resnam
- resno
- restyp
- occ
- totl
- nonh
- numh
- parity
- parids
- parnos
- formcharge
- bondid
- atno1
- atno2
- atid
- atid1
- atid2
- order
- ster
- cyclic
- substitute
- matrix
- head
- tail
- end1
- end2
- to
- from
Default Value
#IMPLIED
Number of columns if ARRAY is a 2-D matrix.
Value(s)
CDATA
Default Value
#IMPLIED
Convention for reserved names. This will normally be the name of a glossary
or of a standard. It is expected that all chemical/x-* can be identied through
this attribute. If omitted its value is "" which is interpreted as "LOCAL"
(i.e. no communal semantics are imposed, though collaborating partners may
use this if appropriate.) It is likely that a standard list of conventions
will become available.
In certain contexts the CONVENTION defaults to a TecML-specific value. Thus
DICTNAME within TERMENTRY refers to ISO12620 by default, and within the
UNITS glossary to that glossary. In general, however, authors cannot assume
any default other than the reserved values "" or LOCAL.
Value(s)
CDATA
Default Value
#IMPLIED
See START
Value(s)
CDATA
Default Value
#IMPLIED
Reserved name (in a dictionary or glossary). XVAR, ARRAY and XLIST are made
specific through the use of DICTNAME, which should be in a dictionary
or glossary. These may be 'official' (e.g. from a standards body, learned
society, etc.) and some may be specifically mentioned in CML (e.g.
every chemical/x-* type should have its own glossary). The glossary/dictionary
should be identified through the CONVENTION attribute.
Processing applications are under no obligation to process DICTNAME, but
in that case should pass it to other applications.
Value(s)
CDATA
Default Value
#IMPLIED
Signals to the application that repeated values
may be compressed (e.g. "1 1 1 2 2 1" is represented as "3*1 2*2 1". EXPAND
takes the values 'YES' or 'NO' (default), signalling whether the application
should attempt to decompress. ('NO' should be used whenever there is a
possibility of '*' occurring where it could cause confusion). An application
only needs to scan the content for '*' if EXPAND=YES. Fields may NOT
contain whitespace or quotes (' or ") (e.g. 4*"Hello 'World'" is not allowed).
(We may relax this later - when I've written the code :-).
Value(s)
Default Value
#IMPLIED
Fuzzy data for ARRAY or XVAR. This allows non-exact (numerical or other)
data to be included. The attribute
value must be either a single string without
whitespace or a quoted string. At present the possible attribute values are:
- exact
The default. This is a single, presumed exact, value. Example:
<XVAR>23.4</XVAR> <ARRAY>23.4 34.5</ARRAY>
- range
Two extrema separated by a '/' (there should only be a single occurrence
of the punctuation). The more natural '-' would be confusing if the values are
negative numbers or DATES.
(Only meaningful for FLOAT, INTEGER, DATE, TIME, (STRING?)).
The lower value should always come first. Example:
<XVAR FUZZY=RANGE> 23.4/34.5</XVAR>
<ARRAY FUZZY=RANGE TYPE=DATE>1996-01-12/1996-02-03</ARRAY>
- esd
A value with an estimated standard deviation in brackets. (The estimated
standard deviation is calculated from the normal matrix of least squares
analysis). If no decimal point is given it is on the same
scale as the least significant digits. (Only meaningful for FLOAT).
Example:
<XVAR FUZZY=ESD> 23.432(12)</XVAR>
(This means 23.432 with an estimated standard deviation of 0.012)
<ARRAY FUZZY=ESD> 23.432(12) 19.23(1)</ARRAY>
(As above, but the second value is 19.23 with an e.s.d. of 0.01
- stderr
A value with a standard error in brackets. See ESD (above) for format.
- sd
A value with a standard deviation in brackets (presumably calculated from
multiple observations).
See ESD (above) for format.
- errlimit
A value with 'plus-or-minus'. The semantics of this are fuzzy (e.g.
is it the same as range, or standard deviation, or standard error?).
Format:
<XVAR FUZZY=ERRLIMIT> -23.432+-0.038</XVAR>
- list
A (comma-separated) list of values for the item. The semantics of this
are fuzzy, so use
it with care. (A typical case might be a few multiple measurements
of a quantity).
Example:
<XVAR FUZZY=LIST TITLE=ACTIVITY> 10,17,20</XVAR>
- inequal
A quantity qualified by an inequality operator. The potential operators
are: > < >= <= !=. If the operator is omitted, an exact
value is assumed. You cannot use this to denote a range (i.e.
>10;<20 is not allowed).
Note that values must
be escaped to avoid confusion with SGML tags. Example:
<ARRAY FUZZY=INEQUAL TITLE=ACTIVITY> "> 23" "<=19"
</ARRAY>
(Alternatively is may be possible to use marked sections in the XML syntax,
e.g.:
<ARRAY FUZZY=INEQUAL TITLE=ACTIVITY><[CDATA[ "<23" "<=19"]]>
</ARRAY>
- any
In transcribing legacy documents it may be necessary to include more than
one of these conventions in the same ARRAY. This is deprecated (!) and
the parsing is not guaranteed to give useful semantics for the values.
It may still have some value for textual prsentation.
The current list of fuzzy options (which overrides any list above) is
in HREF
The HREF attribute is inherited from HTML2.0 and is used consistently
throughout CML. It serves as the tail of a hyperlink, whose semantics
are being developed by Murray Maloney and others of the HTML-WG as an
Internet draft.
Here is some more information.
Value(s)
CDATA
Default Value
#IMPLIED
If the ARRAY is a column of a relational table,
KEY can be given the values PRIMARY or SECONDARY. Default is #IMPLIED.
Value(s)
CDATA
Default Value
#IMPLIED
Language in which the container and/or contents is written. The standard
ISO codes are recommended.
At present this
applies to:
- ARRAY
- XVAR
- XHTML
- TERMENTRY
Value(s)
CDATA
Default Value
#IMPLIED
Operations on destination (advisory) (HTML 2.0) (I don't understand or use this)
Value(s)
NAMES
Default Value
#IMPLIED
Object type of target (experimental). When pointing to a complex object
(through XVAR or ARRAY) it may be useful to identify the required TecML
object type (i.e. to extract a MOL or a BIB from a complex file). Still
under development. Example:
MIME="chemical/x-cml" TARGETTYPE="MOL"
will extract the first MOL object from the referenced CML object
Value(s)
CDATA
Default Value
#IMPLIED
NAME specifies the target of a hyperlink and must be unique
within a document. It is used in the same way as in HTML, but note
that whereas the A element appears to refer to a point in a document,
all CML elements are containers and their extent is clearly defined.
Here is some more information.
Value(s)
CDATA
Default Value
#IMPLIED
The REL attribute is inherited from HTML2.0 and is used consistently
throughout CML. It describes the target of a hyperlink, whose semantics
are being developed by Murray Maloney and others of the HTML-WG as an
Internet draft.
The use of REL is under review (Jan 1997). At present it has not been used
as the CML addressing mechanisms are more advanced.
Value(s)
NAMES
Default Value
#IMPLIED
The REV attribute is inherited from HTML2.0 and is used consistently
throughout CML. It describes the backwards relationship of a hyperlink,
whose semantics
are being developed by Murray Maloney and others of the HTML-WG as an
Internet draft.
At present CML does not specify a use and it should evolve in parallel with
what the WWW community decides.
Value(s)
NAMES
Default Value
#IMPLIED
Number of rows if ARRAY is a 2-D matrix.
Value(s)
CDATA
Default Value
#IMPLIED
Dimension of array. If not given, the application
is required to determine this from the number of whitespace-separated tokens.
If there is a possibility of error, SIZE is recommended.
Value(s)
CDATA
Default Value
#IMPLIED
An array in arithmetic sequence (e.g. 1 3 5 7 ...)
can be defined by a START value, a DELTA value, and SIZE. This only holds
for FLOATs and INTEGERS - dates, etc. cannot be represented this way. If used,
START, DELTA and SIZE are all mandatory, but are otherwise optional. For a
2-D matrix, START, DELTA, ROWS and COLUMNS must be given, and SIZE is ignored.
The COLUMNS is the fastest moving index.
Value(s)
CDATA
Default Value
#IMPLIED
The array may have a 2-dimensional structure of a geometrical
interpretation. At present these are:
- point2
- vector2
- line2
- rect2
- circle
- polygon
- point3
- line3
- vector3
- plane3
- sphere
- antisymmetric
- columnvector
- lowertriangle
- orthogonal
- rectangular
- rowvector
- squarematrix
- symmetric
- unitary
- uppertriangle
The definitive list is given in tecml-arr-str.ent.
Whether the application validates matrix structure
against the ROWS and COLUMNS attribute is undefined.
Value(s)
- point2
- vector2
- line2
- circle
- point3
- line3
- vector3
- plane3
- sphere
- antisymmetric
- columnvector
- lowertriangle
- orthogonal
- rectangular
- rowvector
- squarematrix
- symmetric
- unitary
- uppertriangle
- rect2
- polygon
Default Value
#IMPLIED
Value(s)
CDATA
Default Value
#IMPLIED
The TITLE attribute is inherited from HTML2.0 and is used consistently
throughout CML. In HTML 2.0 it is advisory only, but you are encouraged to
use it in CML since it is used to label many of the displays, tables, etc.
Virtually all CML elements have this attribute.
The attribute value of TITLE is searchable, but may be better as contents
of an XVAR in some cases.
Value(s)
CDATA
Default Value
#IMPLIED
The type of the content (XVAR or ARRAY).
Applications and postprocessors should interpret the TYPE and transform the
content if necessary.
All defaults and error actions are presently undefined.
At present TYPE is chosen from:
- DATE.
- An ISO-6501 date (e.g. 1995-09-23) or time (or both).
- FLOAT.
- A real number (with or without decimal point). It is NOT related to
the use of float in C, java or other languages and may hold any
legal value.
- ID.
- An ID (of any sort). NOT an SGML ID.
- INTEGER.
- An integer. No limits to size.
- STRING.
- A string. If the string contains whitespace, it should
be quoted with ' or ". If it has embedded quotes, use the other sort.
STRING is the default value for TYPE.
- URL.
- A URL. Unlike the HREF mecahism, it is the content which
represents the URL.
- EMAIL.
- An E-mail address.
- SYMBOL.
- A symbolic value (not yet implemented).
- ADDRESS.
- An address within the TecML/CML document. (Do NOT confuse with a
postal or e-mail address!). This is normally the value of a NAME attribute
(as in HTML) but with optional subaddresses in the addressed object.
these subadresses can either be a single subobject, or a range. Examples
(which define the notation) are:
<XVAR TYPE="ADDRESS">MOL1</XVAR> (a whole object)
<XVAR TYPE="ADDRESS">MOL1:3</XVAR> (the 3rd subobject)
<XVAR TYPE="ADDRESS">MOL1:3-5</XVAR> (the 3,4,5th subobjects)
<ARRAY TYPE="ADDRESS">MOL1:3-5 SPECTRUM:19</ARRAY> as above, with
the 19th subobject of another object
The definitive list of ARRAY types is kept in
the file x-type.ent. These types are
available to the elements, ARRAY, XLIST and XVAR.
If TYPE is not given a value, it defaults to "", which is interpreted as
STRING.
It's up to the application how TYPE is treated.
Value(s)
- date
- float
- ID
- integer
- string
- url
- email
- symbol
- address
Default Value
#IMPLIED
Value(s)
CDATA
Default Value
#IMPLIED
Permanent address of destination (HTML 2.0) (I don't use this)
Value(s)
CDATA
Default Value
#IMPLIED
Back to ARRAY
cml DTD