XVAR:
Attributes


BUILTIN

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)

Default Value

#IMPLIED

CONVENTION

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

DICTNAME

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

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> "&gt; 23" "&lt;=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

LANG

Language in which the container and/or contents is written. The standard ISO codes are recommended. At present this applies to:

Value(s)

CDATA

Default Value

#IMPLIED

METHODS

Operations on destination (advisory) (HTML 2.0) (I don't understand or use this)

Value(s)

NAMES

Default Value

#IMPLIED

MIME

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

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

REL

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

REV

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

TARGETTYPE

Value(s)

CDATA

Default Value

#IMPLIED

TITLE

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

TYPE

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)

Default Value

#IMPLIED

UNITS

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

URN

Permanent address of destination (HTML 2.0) (I don't use this)

Value(s)

CDATA

Default Value

#IMPLIED
Back to XVAR


cml DTD