XML-RPC - Veri Modeli
XML-RPC özelliği, tür kombinasyonlarını temsil eden altı temel veri türünü ve iki bileşik veri türünü tanımlar.
XML-RPC'de Temel Veri Türleri
Tür | Değer | Örnekler |
---|---|---|
int veya i4 | - 2.147.483.648 ile 2.147.483.647 arasında 32-bit tamsayılar. | <int> 27 </int> <i4> 27 </i4> |
çift | 64 bit kayan noktalı sayılar | <double> 27.31415 </double> <double> -1.1465 </double> |
Boole | doğru (1) veya yanlış (0) | <boolean> 1 </boolean> <boolean> 0 </boolean> |
dizi | ASCII metni, birçok uygulama Unicode'u desteklese de | <string> Merhaba </string> <string> çılgınlar! @ </string> |
dateTime.iso8601 | ISO8601 biçimindeki tarihler: CCYYMMDDTHH: MM: SS | <dateTime.iso8601> 20021125T02: 20: 04 </dateTime.iso8601> <dateTime.iso8601> 20020104T17: 27: 30 </dateTime.iso8601> |
Base64 | RFC 2045'te tanımlandığı gibi Base 64 olarak kodlanmış ikili bilgiler | <base64> SGVsbG8sIFdvcmxkIQ == </base64> |
Bu temel türler her zaman değer öğelerinin içine alınır . Dizeler (ve yalnızca dizeler) bir değer öğesi içine alınabilir, ancak dize öğesini atlar . Bu temel türler, iki daha karmaşık tür, diziler ve yapılar halinde birleştirilebilir. Diziler sıralı bilgileri temsil ederken, yapılar hashtables, ilişkilendirilebilir diziler veya özellikler gibi ad-değer çiftlerini temsil eder.
Diziler, değerler listesini tutan bir veri öğesini içeren dizi öğesi ile gösterilir. Diğer veri türleri gibi, dizi öğesi de bir değer öğesi içine alınmalıdır . Örneğin, aşağıdaki dizi dört dize içerir:
<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>
Aşağıdaki dizi dört tam sayı içerir:
<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>
Diziler, burada gösterildiği gibi farklı türlerin karışımlarını da içerebilir:
<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>
Çok boyutlu diziler oluşturmak basittir - bir dizinin içine bir dizi eklemeniz yeterlidir:
<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>
Basit bir yapı şöyle görünebilir:
<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>
Bu şekilde, herhangi bir programlama dili tarafından desteklenen hemen hemen tüm veri türlerini uygulayabilirsiniz.