XML-RPC - Modèle de données
La spécification XML-RPC définit six types de données de base et deux types de données composés qui représentent des combinaisons de types.
Types de données de base dans XML-RPC
Type | Valeur | Exemples |
---|---|---|
int ou i4 | Entiers 32 bits compris entre - 2 147 483 648 et 2 147 483 647. | <int> 27 </int> <i4> 27 </i4> |
double | Nombres à virgule flottante 64 bits | <double> 27.31415 </double> <double> -1,1465 </double> |
Booléen | vrai (1) ou faux (0) | <boolean> 1 </boolean> <boolean> 0 </boolean> |
chaîne | Texte ASCII, bien que de nombreuses implémentations prennent en charge Unicode | <string> Bonjour </string> <string> dingue! @ </string> |
dateTime.iso8601 | Dates au format ISO8601: CCAAMMJJTHH: MM: SS | <dateTime.iso8601> 20021125T02: 20: 04 </dateTime.iso8601> <dateTime.iso8601> 20020104T17: 27: 30 </dateTime.iso8601> |
base64 | Informations binaires codées en Base 64, telles que définies dans la RFC 2045 | <base64> SGVsbG8sIFdvcmxkIQ == </base64> |
Ces types de base sont toujours inclus dans des éléments de valeur . Les chaînes (et uniquement les chaînes) peuvent être incluses dans un élément de valeur mais omettre l' élément de chaîne . Ces types de base peuvent être combinés en deux types, tableaux et structures plus complexes. Les tableaux représentent des informations séquentielles, tandis que les structures représentent des paires nom-valeur, tout comme les tables de hachage, les tableaux associatifs ou les propriétés.
Les tableaux sont indiqués par l' élément de tableau , qui contient un élément de données contenant la liste des valeurs. Comme les autres types de données, l' élément de tableau doit être inclus dans un élément de valeur . Par exemple, le tableau suivant contient quatre chaînes:
<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>
Le tableau suivant contient quatre entiers:
<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>
Les tableaux peuvent également contenir des mélanges de différents types, comme illustré ici:
<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>
La création de tableaux multidimensionnels est simple - ajoutez simplement un tableau à l'intérieur d'un tableau:
<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>
Une structure simple pourrait ressembler à:
<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>
De cette façon, vous pouvez implémenter presque tous les types de données pris en charge par n'importe quel langage de programmation.