=================================================================== RCS file: /home/cvs/OpenXM/doc/issac2000/data-format.tex,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- OpenXM/doc/issac2000/data-format.tex 2000/01/13 10:58:16 1.5 +++ OpenXM/doc/issac2000/data-format.tex 2000/01/15 03:18:27 1.6 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/doc/issac2000/data-format.tex,v 1.4 2000/01/11 05:35:48 noro Exp $ +% $OpenXM: OpenXM/doc/issac2000/data-format.tex,v 1.5 2000/01/13 10:58:16 ohara Exp $ \section{Data Format} (Ohara) @@ -8,16 +8,15 @@ OpenXM itself does not exhibit a bias towards a partic as a main mathematical data carrier and an OpenXM compliant system do not need to implement all possible data formats. A server or a client does not necessarily implement full specifications -of OpenXM. -However, if a program sends an OX data or an OX command unknown to its peer, +of OpenXM. However they should at least implement seven primitive +data types of the CMO, which are necessary to +carry several control informations such as a {\it mathcap}. +Mathcap is a list of supported CMO's, OpenXM stack machine codes, +and necessary extra informations. +If a program sends an OX messages to its peer, an unrecoverable error may occur. -To avoid such a case OpenXM provides a scheme not -to send an OX message unknown to peers. -It is realized by exchanging a list of -supported CMO's, OpenXM stack machine codes, and necessary extra informations. -The list is called {\it mathcap}. -% Mathcap is also defined as a CMO and its elements are 32bit integers -% or strings. +By exchanging mathcaps a program knows its peer's capability +and such an error can be avoided. Mathcap is also defined as a CMO and the CMO has a structure of a nest of lists. its leafs of the end are also a CMO which tags with CMO\_INT32 or CMO\_STRING. @@ -31,11 +30,6 @@ An OX message with the tag OX\_DATA\_OPENMATH\_XML is followed by an OpenMath XML string and its length. -All OpenXM compliant systems should implement seven primitive data types -of the CMO. -These are used not only to express mathematical objects, but also -indispensable to carry control informations such as mathcap. -CMO is an original mathematical data encoding system of the OpenXM project. Let us explain the data format of CMO. Any CMO packet consists of a header and a body. The size of the header is 4 bytes that tags the data type of the body.