next up previous contents
: Examples : Server stack machine : Operators in the group   ܼ


MathCap

Example: ox_sm1 returns the following data as its mathcap.

Class.mathcap 
 [ [199909080 , $Ox_system=ox_sm1.plain$ , $Version=2.990911$ , 
    $HOSTTYPE=i386$ ]  , 
   [262 , 263 , 264 , 265 , 266 , 268 , 269 , 272 , 273 , 275 , 276 ]  , 
   [[514] , [2130706434 , 1 , 2 , 4 , 5 , 17 , 19 , 20 , 22 , 23 , 24 , 
             25 , 26 , 30 , 31 , 60 , 61 , 27 , 33 , 40 , 34 ]]]

A mathcap has three or more than three components. The first one, which is also a list, contains informations to identify the version number of the OpenXM protocol, the system and hosts on which the application runs. In the above example, Ox_system denotes the system name. HOSTTYPE represents the OS type and taken from $HOSTTYPE enviroment variable. The second component consists of avaiable SM commands. The third component is a list of pairs. Each pair consists of an OX message tag and the list of available message tags. Again in the above example, 514 is the value of OX_DATA and it indicates that the server accepts CMO (without size information) as mathematical data messages. In this case the subsequent list represents available CMO tags. The fourth list is optinal. This is a list of cmo strings. Each string has the formats ``an option name'' or ``an optionname=value''. The option name must consists only of alphabets, numbers, and under bars. The symbol = may be followed by a string in the utf-8 character codes.

OpenXM/XML expression of the example above:

  <cmo_mathcap>
     <cmo_list for="mathcap">

       <cmo_list>
          <int32 for="length"> 4 </int32>
          <cmo_int32 for="Protocol version">  001001003 </cmo_int32>
          <cmo_string for="system name"> Ox_system=ox_sm1.plain  </cmo_string>
          <cmo_string for="system version"> Version=2.990911  </cmo_string>
          <cmo_string for="hosttype"> HOSTTYPE=i386  </cmo_string>
       </cmo_list>

       <cmo_list for="Available SM tags">
          <int32 for="length"> 11 </int32>
          <cmo_int32> 262 </cmo_int32> 
          <cmo_int32> 263 </cmo_int32> 
           ...
       </cmo_list>

       <cmo_list for="Available OX_DATA tags">
          <int32 for="length"> 2 </int32>
          <cmo_list for="OX_DATA tag">
             <int32 for="length"> 1 </int32>
             <cmo_int32 comment="OX_DATA">  514 </cmo_int32>
          </cmo_list>
          <cmo_list for="Available CMO tags">
             <int32 for="length"> 21 </int32>
             <cmo_int32 comment="CMO_ERROR2">  2130706434 </cmo_int32>
             <cmo_int32 comment="CMO_NULL"> 1 </cmo_int32>
              ....
          </cmo_list>

       </cmo_list>
     </cmo_list>
  </cmo_mathcap>

Example of the use of the fourth argument (optional parameter).

  <cmo_mathcap>
     <cmo_list for="mathcap">

       <cmo_list>
          <int32 for="length"> 4 </int32>
          <cmo_int32 for="Protocol version">  001001003 </cmo_int32>
          <cmo_string for="system name"> Ox_system=ox_sm1.plain  </cmo_string>
          <cmo_string for="system version"> Version=2.990911  </cmo_string>
          <cmo_string for="hosttype"> HOSTTYPE=i386  </cmo_string>
       </cmo_list>

       <cmo_list for="Available SM tags">
          <int32 for="length"> 11 </int32>
          <cmo_int32> 262 </cmo_int32> 
          <cmo_int32> 263 </cmo_int32> 
           ...
       </cmo_list>

       <cmo_list for="Available OX_DATA tags">
          <int32 for="length"> 2 </int32>
          <cmo_list for="OX_DATA tag">
             <int32 for="length"> 1 </int32>
             <cmo_int32 comment="OX_DATA">  514 </cmo_int32>
          </cmo_list>
          <cmo_list for="Available CMO tags">
             <int32 for="length"> 21 </int32>
             <cmo_int32 comment="CMO_ERROR2">  2130706434 </cmo_int32>
             <cmo_int32 comment="CMO_NULL"> 1 </cmo_int32>
              ....
          </cmo_list>
       </cmo_list>

       <cmo_list for="optional info">
          <int32 for="length"> 2 </int32>
          <cmo_string> no_ox_reset </cmo_string>
          <cmo_string> opt_sample=Hello world. </cmo_string>
       </cmo_list>

     </cmo_list>
  </cmo_mathcap>


next up previous contents
: Examples : Server stack machine : Operators in the group   ܼ
Nobuki Takayama Heisei 28.8.27.