XML-RPC-데이터 모델

XML-RPC 사양은 6 개의 기본 데이터 유형과 유형의 조합을 나타내는 2 개의 복합 데이터 유형을 정의합니다.

XML-RPC의 기본 데이터 유형

유형
int 또는 i4 -2,147,483,648에서 2,147,483,647 사이의 32 비트 정수입니다.

<int> 27 </ int>

<i4> 27 </ i4>

더블 64 비트 부동 소수점 숫자

<double> 27.31415 </ double>

<double> -1.1465 </ double>

부울 참 (1) 또는 거짓 (0)

<boolean> 1 </ boolean>

<boolean> 0 </ boolean>

많은 구현이 유니 코드를 지원하지만 ASCII 텍스트

<string> 안녕하세요 </ string>

<string> 광주! @ </ string>

dateTime.iso8601 ISO8601 형식의 날짜 : CCYYMMDDTHH : MM : SS

<dateTime.iso8601>

20021125T02 : 20 : 04

</dateTime.iso8601>

<dateTime.iso8601>

20020104T17 : 27 : 30

</dateTime.iso8601>

base64 RFC 2045에 정의 된대로 Base 64로 인코딩 된 이진 정보

<base64> SGVsbG8sIFdvcmxkIQ == </ base64>

이러한 기본 유형은 항상 요소로 묶여 있습니다. 문자열 (및 문자열 만)은 요소로 묶일 수 있지만 문자열 요소는 생략합니다 . 이러한 기본 유형은 두 가지 더 복잡한 유형, 배열 및 구조체로 결합 될 수 있습니다. 배열은 순차 정보를 나타내고 구조체는 해시 테이블, 연관 배열 또는 속성과 같이 이름-값 쌍을 나타냅니다.

배열은 값 목록을 보유 하는 데이터 요소 를 포함하는 배열 요소 로 표시됩니다 . 다른 데이터 유형과 마찬가지로 배열 요소는 요소 로 묶어야합니다 . 예를 들어, 다음 배열 에는 4 개의 문자열이 있습니다.

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

The following array contains four integers:

<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 can also contain mixtures of different types, as shown here:

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

Creating multidimensional arrays is simple - just add an array inside of an 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>

A simple struct might look like:

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

This way you can implement almost all data types supported by any programming language.