* xmlrpc_set_type [#f661e26e]
PHP 文字列型のある値に対して、それが xmlrpc の特定の型に変換されるように指定する。

** 説明 [#b52960ea]
 bool xmlrpc_set_type(string &$value, string $type)

** パラメータ [#n026f0a9]
: value | 型を設定する値。この関数が成功した場合、文字列型から xmlrpc の
型情報を持ったクラスインスタンスに差し替えられます。
: type | 'base64' あるいは 'datetime'

** 返り値 [#o73861c7]
成功時は TRUE、失敗時は FALSE が返されます。

** 例 [#f80bb588]
datetime 型に変換する場合の例は、次のようなものです。
xmlrpc_set_type が datetime 型として解釈できる文字列の形式は iso8601 の形式です。
 <?php
 $a=date('c');
 if(xmlrpc_set_type($a,'datetime')){
   var_dump(xmlrpc_encode($a));
 }
 ?>
実行結果はこのようになります。
 string(151) "<?xml version="1.0" encoding="utf-8"?>
 <params>
 <param>
  <value>
   <dateTime.iso8601>20080414T16:46:12</dateTime.iso8601>
  </value>
 </param>
 </params>
 "

base64 型に変換する場合の例は次のようなものです。
例中の $a は実際にはバイナリシーケンスで、文字列とは限りません。
 <?php
 $a='test';
 if(xmlrpc_set_type($a,'base64')){
  var_dump(xmlrpc_encode($a));
 }
 ?>
実行結果はこのようになります。
 string(127) "<?xml version="1.0" encoding="utf-8"?>
 <params>
 <param>
  <value>
   <base64>dGVzdA==&#10;</base64>
  </value>
 </param>
 </params>
 "
&amp;#10; は「改行」です。MIME の Base64 では 76 文字で改行すること、
と仕様に記載されています。これに対応する改行です。

    Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes

© 2006-2008 Internet Revolution