XML-RPC - Model Data

Spesifikasi XML-RPC mendefinisikan enam tipe data dasar dan dua tipe data gabungan yang mewakili kombinasi tipe.

Tipe Data Dasar di XML-RPC

Tipe Nilai Contoh
int atau i4 Bilangan bulat 32-bit antara - 2.147.483.648 dan 2.147.483.647.

<int> 27 </int>

<i4> 27 </i4>

dua kali lipat Angka floating-point 64-bit

<double> 27.31415 </double>

<double> -1.1465 </double>

Boolean benar (1) atau salah (0)

<boolean> 1 </boolean>

<boolean> 0 </boolean>

tali Teks ASCII, meskipun banyak implementasi mendukung Unicode

<string> Halo </ string>

<string> gila! @ </ string>

dateTime.iso8601 Tanggal dalam format ISO8601: CCYYMMDDTHH: MM: SS

<dateTime.iso8601>

20021125T02: 20: 04

</dateTime.iso8601>

<dateTime.iso8601>

20020104T17: 27:30

</dateTime.iso8601>

base64 Informasi biner yang dikodekan sebagai Basis 64, sebagaimana ditentukan dalam RFC 2045

<base64> SGVsbG8sIFdvcmxkIQ == </base64>

Tipe dasar ini selalu diapit dalam elemen nilai . String (dan hanya string) boleh diapit dalam elemen nilai tetapi mengabaikan elemen string . Tipe dasar ini dapat digabungkan menjadi dua tipe yang lebih kompleks, array, dan struct. Array mewakili informasi berurutan, sedangkan struct mewakili pasangan nama-nilai, seperti hashtable, array asosiatif, atau properti.

Array ditunjukkan oleh elemen array , yang berisi elemen data yang menyimpan daftar nilai. Seperti tipe data lainnya, elemen array harus diapit oleh elemen nilai . Misalnya, array berikut berisi empat string:

<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>

Array berikut berisi empat bilangan bulat:

<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>

Array juga dapat berisi campuran dari berbagai jenis, seperti yang ditunjukkan di sini:

<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>

Membuat array multidimensi itu sederhana - cukup tambahkan array di dalam array:

<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>

Struct sederhana mungkin terlihat seperti ini:

<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>

Dengan cara ini Anda dapat mengimplementasikan hampir semua tipe data yang didukung oleh bahasa pemrograman apa pun.