Xml-rpc-xml-rpc-data-model
XML-RPC-データモデル
XML-RPC仕様では、6つの基本データ型と、型の組み合わせを表す2つの複合データ型が定義されています。
XML-RPCの基本データ型
Type | Value | Examples |
---|---|---|
int or i4 | 32-bit integers between - 2,147,483,648 and 2,147,483,647. |
<int>27</int> <i4> 27 </i4> |
double | 64-bit floating-point numbers |
<double>27.31415</double> <double> -1.1465 </double> |
Boolean | true (1) or false (0) |
<boolean>1</boolean> <boolean> 0 </boolean> |
string | ASCII text, though many implementations support Unicode |
<string>Hello</string> <string>おかしな! @ </string> |
dateTime.iso8601 | Dates in ISO8601 format: CCYYMMDDTHH:MM:SS |
<dateTime.iso8601> 20021125T02:20:04 </dateTime.iso8601> <dateTime.iso8601> 20020104T17:27:30 </dateTime.iso8601> |
base64 | Binary information encoded as Base 64, as defined in RFC 2045 | <base64>SGVsbG8sIFdvcmxkIQ==</base64> |
これらの基本型は常に_value_要素で囲まれています。 文字列(および文字列のみ)は_value_要素で囲むことができますが、_string_要素は省略できます。 これらの基本型は、2つのより複雑な型、配列、および構造体に結合できます。 配列はシーケンシャルな情報を表し、構造体はハッシュテーブル、連想配列、またはプロパティによく似た名前と値のペアを表します。
配列は、値のリストを保持する_data_要素を含む_array_要素によって示されます。 他のデータ型と同様に、_array_要素は_value_要素で囲む必要があります。 たとえば、次のarraycontainには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>
この方法により、任意のプログラミング言語でサポートされるほぼすべてのデータ型を実装できます。