XML-RPC-データモデル

XML-RPC仕様では、6つの基本データ型と、型の組み合わせを表す2つの複合データ型が定義されています。

XML-RPCの基本的なデータ型

タイプ
intまたはi4 -2,147,483,648〜2,147,483,647の32ビット整数。

<int> 27 </ int>

<i4> 27 </ i4>

ダブル 64ビット浮動小数点数

<double> 27.31415 </ double>

<double> -1.1465 </ double>

ブール値 true(1)またはfalse(0)

<boolean> 1 </ boolean>

<boolean> 0 </ boolean>

ストリング ASCIIテキスト、ただし多くの実装はUnicodeをサポートしています

<string>こんにちは</ string>

<文字列>ボンカー!@ </ string>

dateTime.iso8601 ISO8601形式の日付:CCYYMMDDTHH:MM:SS

<dateTime.iso8601>

20021125T02:20:04

</ dateTime.iso8601>

<dateTime.iso8601>

20020104T17:27:30

</ dateTime.iso8601>

base64 RFC 2045で定義されているように、Base64としてエンコードされたバイナリ情報

<base64> SGVsbG8sIFdvcmxkIQ == </ base64>

これらの基本タイプは常に要素で囲まれています。文字列(および文字列のみ)はvalue要素で囲むことができますが、string要素は省略します。これらの基本型は、さらに2つの複雑な型、配列、および構造体に組み合わせることができます。配列はシーケンシャル情報を表し、構造体はハッシュテーブル、連想配列、またはプロパティのように名前と値のペアを表します。

配列は、値のリストを保持するデータ要素を含む配列要素によって示されます。他のデータ型と同様に、配列要素は要素で囲む必要があります。たとえば、次の配列には4つの文字列が含まれています。

<value>
   <array>
      <data>
         <value><string>This </string></value>
         <value><string>is </string></value>
         <value><string>an </string></value>
         <value><string>array.</string></value>
      </data>
   </array>
</value>

次の配列には4つの整数が含まれています。

<value>
   <array>
      <data>
         <value><int>7</int></value>
         <value><int>1247</int></value>
         <value><int>-91</int></value>
         <value><int>42</int></value>
      </data>
   </array>
</value>

次に示すように、配列にはさまざまなタイプの混合物を含めることもできます。

<value>
   <array>
      <data>
         <value><boolean>1</boolean></value>
         <value><string>Chaotic collection, eh?</string></value>
         <value><int>-91</int></value>
         <value><double>42.14159265</double></value>
      </data>
   </array>
</value>

多次元配列の作成は簡単です。配列内に配列を追加するだけです。

<value>
   <array>
      <data>
		
         <value>
            <array>
               <data>
                  <value><int>10</int></value>
                  <value><int>20</int></value>
                  <value><int>30</int></value>
               </data>
            </array>
         </value>
			
         <value>
            <array>
               <data>
                  <value><int>15</int></value>
                  <value><int>25</int></value>
                  <value><int>35</int></value>
               </data>
            </array>
         </value>
			
      </data>
   </array>
</value>

単純な構造体は次のようになります。

<value>
   <struct>
      <member>
         <name>givenName</name>
         <value><string>Joseph</string></value>
      </member>
		
      <member>
         <name>familyName</name>
         <value><string>DiNardo</string></value>
      </member>
		
      <member>
         <name>age</name>
         <value><int>27</int></value>
      </member>
   </struct>
</value>

このようにして、任意のプログラミング言語でサポートされているほぼすべてのデータ型を実装できます。