XML-RPC - Datenmodell
Die XML-RPC-Spezifikation definiert sechs grundlegende Datentypen und zwei zusammengesetzte Datentypen, die Kombinationen von Typen darstellen.
Grundlegende Datentypen in XML-RPC
Art | Wert | Beispiele |
---|---|---|
int oder i4 | 32-Bit-Ganzzahlen zwischen - 2.147.483.648 und 2.147.483.647. | <int> 27 </ int> <i4> 27 </ i4> |
doppelt | 64-Bit-Gleitkommazahlen | <double> 27.31415 </ double> <double> -1.1465 </ double> |
Boolescher Wert | wahr (1) oder falsch (0) | <boolean> 1 </ boolean> <boolean> 0 </ boolean> |
Zeichenfolge | ASCII-Text, obwohl viele Implementierungen Unicode unterstützen | <string> Hallo </ string> <string> Bonkers! @ </ string> |
dateTime.iso8601 | Daten im ISO8601-Format: CCYYMMDDTHH: MM: SS | <dateTime.iso8601> 20021125T02: 20: 04 </dateTime.iso8601> <dateTime.iso8601> 20020104T17: 27: 30 </dateTime.iso8601> |
base64 | Binäre Informationen, die als Basis 64 codiert sind, wie in RFC 2045 definiert | <base64> SGVsbG8sIFdvcmxkIQ == </ base64> |
Diese Grundtypen sind immer in Wertelementen eingeschlossen . Zeichenfolgen (und nur Zeichenfolgen) können in ein Wertelement eingeschlossen werden , lassen jedoch das Zeichenfolgenelement weg. Diese Grundtypen können zu zwei komplexeren Typen, Arrays und Strukturen, kombiniert werden. Arrays stellen sequentielle Informationen dar, während Strukturen Name-Wert-Paare darstellen, ähnlich wie Hashtabellen, assoziative Arrays oder Eigenschaften.
Arrays werden durch das Array- Element angezeigt , das ein Datenelement enthält, das die Werteliste enthält . Wie andere Datentypen, die Array muss Element in einem eingeschlossen sein Wert - Element. Das folgende Array enthält beispielsweise vier Zeichenfolgen:
<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>
Das folgende Array enthält vier Ganzzahlen:
<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>
Arrays können auch Mischungen verschiedener Typen enthalten, wie hier gezeigt:
<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>
Das Erstellen mehrdimensionaler Arrays ist einfach - fügen Sie einfach ein Array innerhalb eines Arrays hinzu:
<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>
Eine einfache Struktur könnte folgendermaßen aussehen:
<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>
Auf diese Weise können Sie fast alle Datentypen implementieren, die von einer beliebigen Programmiersprache unterstützt werden.