XML-RPC - โมเดลข้อมูล
ข้อกำหนด XML-RPC กำหนดประเภทข้อมูลพื้นฐานหกประเภทและประเภทข้อมูลผสมสองประเภทที่แสดงถึงการรวมกันของประเภท
ประเภทข้อมูลพื้นฐานใน XML-RPC
ประเภท | มูลค่า | ตัวอย่าง |
---|---|---|
int หรือ i4 | จำนวนเต็ม 32 บิตระหว่าง - 2,147,483,648 และ 2,147,483,647 | <int> 27 </int> <i4> 27 </i4> |
สองเท่า | ตัวเลขทศนิยม 64 บิต | <double> 27.31415 </double> <double> -1.1465 </double> |
บูลีน | จริง (1) หรือเท็จ (0) | <boolean> 1 </boolean> <boolean> 0 </boolean> |
สตริง | ข้อความ ASCII แม้ว่าการใช้งานจำนวนมากจะสนับสนุน Unicode | <string> สวัสดี </string> <string> คนบ้า! @ </string> |
dateTime.iso8601 | วันที่ในรูปแบบ ISO8601: CCYYMMDDTHH: MM: SS | <dateTime.iso8601> 20021125T02: 20: 04 </dateTime.iso8601> <dateTime.iso8601> 20020104T17: 27: 30 น </dateTime.iso8601> |
ฐาน 64 | ข้อมูลไบนารีที่เข้ารหัสเป็นฐาน 64 ตามที่กำหนดใน RFC 2045 | <base64> SGVsbG8sIFdvcmxkIQ == </base64> |
ประเภทพื้นฐานเหล่านี้จะอยู่ในองค์ประกอบค่าเสมอ สตริง (และเฉพาะสตริง) อาจอยู่ในองค์ประกอบค่าแต่ละเว้นองค์ประกอบสตริง ประเภทพื้นฐานเหล่านี้อาจรวมกันเป็นสองประเภทที่ซับซ้อนมากขึ้นอาร์เรย์และโครงสร้าง อาร์เรย์แสดงข้อมูลตามลำดับในขณะที่โครงสร้างแทนคู่ค่าของชื่อเช่นเดียวกับแฮชแท็กอาร์เรย์ที่เชื่อมโยงหรือคุณสมบัติ
อาร์เรย์ถูกระบุโดยองค์ประกอบอาร์เรย์ซึ่งมีองค์ประกอบข้อมูลที่เก็บรายการค่าไว้ เช่นเดียวกับชนิดข้อมูลอื่น ๆองค์ประกอบอาร์เรย์จะต้องอยู่ในองค์ประกอบค่า ตัวอย่างเช่นอาร์เรย์ต่อไปนี้ประกอบด้วยสี่สตริง:
<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>
อาร์เรย์ต่อไปนี้ประกอบด้วยจำนวนเต็มสี่จำนวน:
<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>
อาร์เรย์ยังสามารถมีส่วนผสมของประเภทต่างๆดังแสดงที่นี่:
<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>
การสร้างอาร์เรย์หลายมิติทำได้ง่ายเพียงเพิ่มอาร์เรย์ภายในอาร์เรย์:
<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>
โครงสร้างง่ายๆอาจมีลักษณะดังนี้:
<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>
ด้วยวิธีนี้คุณสามารถใช้ข้อมูลเกือบทุกประเภทที่รองรับโดยภาษาโปรแกรมใดก็ได้