<!-- ceXML message model DTD
Started 2000-08-14 by Reinout van Rees
R.vanRees@ct.tudelft.nl
This DTD is used to make instances of the message model
according to the specification found in the report written for
my graduation project
-->
<!-- ************************************************************
The element "name" serves to hold a string indicating a
certain built object, a unit, a symbol or a
quantification. Needed for this is a attribute ,
indicating the language this specific "name" uses. For this,
you should use xml:lang, especially designed for this
purpose.
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT name (#PCDATA)>
<!-- target_element attr_name attr_type default-->
<!ATTLIST name language NMTOKEN #IMPLIED >
<!-- ************************************************************
A "symbol" is used to represent either a unit or a
quantification. It is used as a shorthand version.
e.g. centimeters => cm
It has possibly one name
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT symbol (name?)>
<!-- ************************************************************
A "unit" is a unit of measurement, like centimeters. It has
at least one name.
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT unit (name*)>
<!-- ************************************************************
An "amount" is a placeholder for a number.
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT amount (#PCDATA)>
<!-- ************************************************************
A "quantification" either quantifies a function or it
quantifies a built object. So it has a unit and an optional
amount. Also it can have one or more names.
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT quantification (name+,amount*,unit*)>
<!-- target_element attr_name attr_type default-->
<!ATTLIST quantification copied CDATA #IMPLIED >
<!-- ************************************************************
A "function" identifies a function of a built object. It can
have one or more names and possibly a few quantifications.
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT function (name+,quantification*)>
<!-- target_element attr_name attr_type default-->
<!ATTLIST function copied CDATA #IMPLIED >
<!-- ************************************************************
"characteristics" are used to group the characteristics of
built objects (for clarity)
The characteristics are the subparts (built objects), an
optional amount, optional quantifications and optional
functions.
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT characteristics (builtobject*,
amount?,
quantification*,
function*)>
<!-- ************************************************************
A "builtobject" is the central building block of the
vocabulary, indicating the actual built objects. They can
have other builtobjects in a hierarchy below them and they
one "characteristics". They also can have names.
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT builtobject (name+,
characteristics?,
builtobject*)>
<!-- the following are attributes that I needed to quickly hack
together a working prototype. They'd better be solved in a different
way, imo -->
<!-- target_element attr_name attr_type default-->
<!ATTLIST builtobject copied CDATA #IMPLIED >
<!ATTLIST builtobject mode CDATA #IMPLIED >
<!ATTLIST builtobject selectID CDATA #IMPLIED >
<!ATTLIST builtobject supplier CDATA #IMPLIED >
<!-- ************************************************************
A "cexml" element serves as a container for the major
elements, so that in *one* xml file, there can be:
* a tree of builtobjects
* a list of functions
* a list of quantifications
* a list of units
* a list of symbols
* a list of names
************************************************************
-->
<!-- element_name rule -->
<!ELEMENT cexml (builtobject,
(function|
quantification|
unit|
symbol|
name)*)>
|