XVAR:
Attributes
Certain variables are built into the CML application and other derived
DTDs. Their role is specified through the BUILTIN=varName attribute, and the
postprocessing software can rely on the semantics of these.
An example is BUILTIN=X2 for the 2-dimensional coordinates of an atomic
array in the MOL.DTD DTD.
The method of inclusion is quite involved (hopefully hidden!), and
the possible values of the attribute are provided in files (*-arr.ent) in
the main DTD directory.
If you are not using CML/mol.dtd you don't need to
worry about this field. Ideally this attribute should be in the mol.dtd since
it is 'derived' from XVAR, but I haven't thought of the best way yet.
NOTE: The files referred to should always be taken as the primary
enumeration of BUILTIN values; unfortunately due to limitations of SGML and
the dtd2html software in this particular instance, they can't be
automatically documented.
Value(s)
- molwt
- stoich
- pointgroup
- acell
- bcell
- ccell
- alpha
- beta
- gamma
- spacegroup
- znum
- axis
- crystsys
- rfactor
- strand
- chain
- seqnam
- seqno
- resnam
- resno
- resid
- chirality
- species
- convention
- keyword
- country
- dept
- institut
- street
- city
- state
- zip
- abstract
- cit
- coden
- copyright
- jour
- vol
- isbn
- issn
- issue
- numb
- occasion
- organizer
- pages
- publisher
- sect
- serno
- year
- pubtype
- medium
- title
- firstname
- lastname
- initials
- comment
- status
- end1
- end2
- to
- from
- head
- tail
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
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
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
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
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
Physicochemical units (optional). The value takes the form:
((prefix?, unit S? ((+|-)Digit+)? ) S)+ (XML notation).
Prefix is of the form 'kilo', and the digits represent the power. Example:
UNITS="kilocalorie kelvin-1". The default power is +1. Authors are
encouraged not to use abbreviations and 'kcal', etc are deprecated and
may not be parsed. Case-insensitive - if we encounter a clash, we'll need
a special name.
This is extremely powerful and
software has already been built to transform units automatically. Units
can also be linked to a glossary.
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 XVAR
cml DTD