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.