=================================================================== RCS file: /home/cvs/OpenXM/doc/OpenXM-specs/formal-expression.tex,v retrieving revision 1.3 retrieving revision 1.7 diff -u -p -r1.3 -r1.7 --- OpenXM/doc/OpenXM-specs/formal-expression.tex 2000/01/24 02:48:24 1.3 +++ OpenXM/doc/OpenXM-specs/formal-expression.tex 2000/09/09 21:59:13 1.7 @@ -1,4 +1,4 @@ -%% $OpenXM: OpenXM/doc/OpenXM-specs/formal-expression.tex,v 1.2 2000/01/23 05:28:33 noro Exp $ +%% $OpenXM: OpenXM/doc/OpenXM-specs/formal-expression.tex,v 1.6 2000/09/09 16:32:26 takayama Exp $ //&jp \section{ CMO の形式的表現方法 } //&eg \section{ A formal expression of CMO } @@ -17,7 +17,8 @@ We again explain a standard encoding method of CMO, In this section, we will introduce CMOexpression which is like the bracket expression of Lisp. We again explain a standard encoding method of CMO, -which we have already explained in the previous section. +which we have already explained in the previous section, but +the explanation is more formal. */ /*&jp @@ -227,25 +228,57 @@ CMOexpression と, CMObject の区別を理解しておくのは重� これは, 文法的には正しいプログラムだが, なにをやるのかは全く不明な プログラムと似ている. +*/ + +/*&jp さて, Open math 風 (\cite{openmath}) -の SGML 表現法も可能であり, その場合は, 上の二つの例は次のように +の XML 表現法も可能であり, その場合は, 上の二つの例は次のように 書く. +*/ +/*&eg +CMO's are expressed by XML like Open Math (\cite{openmath}). +See example below. +*/ + +/*&C + \begin{verbatim} - -1234 - + + + 1234 + - -5 -"Hello" - + + 5 + "Hello" + + \end{verbatim} */ +//&jp \noindent cmo\_string は次のようにあらわしてもよい. +//&eg \noindent cmo\_string may be expressed as follows. /*&C +\begin{verbatim} + + + 5 + 'H' 'e' 'l' + 'l' 'o' + + +\end{verbatim} */ +//&jp \noindent この場合の cmo\_string の DTD による定義は次のようになる. \\ +//&eg \noindent In this case, the DTD for cmo\_string is as follows; \\ +//&C \verb+ + +/*&C + +\bigbreak +*/ + /*&jp 次に, 標準 encoding 法を説明しよう. 標準 encoding 法では, cmo\_tag を ネットワークバイトオーダーの @@ -272,17 +305,19 @@ and byte data are encoded as it is. 100Mbps の通信路で 12Mbytes の {\tt CMO\_ZZ} の転送では 約 90\% の時間が network byte order への変換についやされているという 実験データもある. -効率を重視した encoding 法については後述する. +効率を重視した encoding 法については後述する \ref{subsection:byteorder}. */ /*&eg When we are using a high speed network, the translation from the internal expression of 32 bit integers to network byte order may become a bottle neck. There are experimental data which presents that 90 percents of the transmission -time are +time are used for the translation to the network byte order to send {\tt CMO\_ZZ} of size -12M bytes on a 100Mbps network. -In a later section, we will discuss a protocol to avoid the translation. +12M bytes. +We used a 100Mbps network. +In a later section \ref{subsection:byteorder}, +we will discuss a protocol to avoid the translation. */ /*&C @@ -323,4 +358,57 @@ is the encoding of the CMOexpression の 標準 encoding 法による表現である. */ +/*&C +\bigbreak + +*/ + +/*&jp +(実験的) +CMO および OX packets は XML 規格 \cite{xml} に準拠している. +XML 規格の Attribute を binary encode するために +特別なタグ \\ +*/ +/*&eg +(Experimental) +CMO and OX packets are complient to XML specification \cite{xml}. +In order to encode ``Attribute'' in XML in our binary format, +we have a tag: \\ +*/ +//&C \verb! #define CMO_ATTRIBUTE_LIST (LARGEID+3) ! \\ +/*&jp +を用意してある. +*/ +/*&jp +たとえば Attribute {\tt font="Times-Roman" } は \\ +*/ +/*&eg +For example, the attibute {\tt font="Times-Roman" } is encoded as \\ +*/ +/*&C +\begin{verbatim} + (CMO_ATTRIBUTE (CMO_LIST + (CMO_LIST (CMO_STRING,"font") (CMO_STRING, "Times-Roman")))) +\end{verbatim} +*/ +/*&jp +と encoding される. +*/ +//&C +/*&jp +この特別な CMO tag {\tt CMO\_ATTRIBUTE\_LIST} 以外は, +XML 表現では XML のタグとして理解される. +*/ +/*&eg +All tags except this special CMO tag {\tt CMO\_ATTRIBUTE\_LIST} +are XML tags in the CMO/XML expression. +*/ +/*&jp +CMO/XML で {\it comment}, {\it for} と名前がついた +attributes は CMO binary expression にはエンコードされない. +*/ +/*&eg +CMO/XML attributes such as {\it comment}, {\it for} +are not encoded in the CMO binary expression. +*/