These documents are provided under PHP license XML-RPC 関数xmlrpc extension を有効にすると使用できる関数群です。
公式マニュアルは http://www.php.net/xmlrpc 諸般の事情で xmlrpc extension がインストールできない場合は、
XMLRPC for PHP 目次
関数の構成xmlrpc extension で提供されている関数は大別して次の 2 つです。 実際に HTTP 通信路に XML を送出するといった通信路に関する操作は、 この関数群には含まれていません *1。
xmlrpc_server で始まる XML-RPC サーバ実装の関数群を使う場合は、 他の関数を使わずにおおよそのことができるはずです。 また、逆に XML 形式を直接操作する関数群を使う場合も、xmlrpc_server 関連の 関数を使うことはあまりないでしょう。 XML-RPC クライアントとして使う場合は、XML 形式を扱う関数群を使うことになります。 XML-RPC サーバを実装する場合は、どちらの関数群を使うかで 2 つの選択肢があります。 型の対応PHP の内部型と XML-RPC での型は次のような対応になります。 これらは xmlrpc extension 側で自動的に変換されます。
実際にどのような変換が起こるかは xmlrpc_get_type を使って調べることができます。 XML-RPC の base64 型と datetime 型は、 xmlrpc_set_type を使って PHP 文字列型から生成できます。 例は xmlrpc_set_type を参照してください。 PHP 配列のキーに数字を使う場合は注意が必要です。 xmlrpc extension では単なる数字を struct の name に使うことはできません。 使おうとすると、その name は xml 変換時に失われます。 どうしてもキーに数字を使いたい場合は、次のようにして回避できるかもしれません。
output_optionsxmlrpc extension のいくつかの関数では、 出力生成時の生成オプションを指定できます。 オプションは配列で表現され、配列のキーは次のものが使用できます。
出典 http://xmlrpc-epi.sourceforge.net/main.php?t=php_api#output_options マルチバイト文字列(日本語)の扱いマルチバイトを扱うときは注意してください。デフォルト値では動作しません。 PHP 内部文字列から XML を生成する際、 日本語を使う場合は、次の設定でうまくいくでしょう。 PHP での内部文字列エンコーディングは UTF-8 であるとします。 $output_options = array('escaping' => 'markup', 'encoding' => 'UTF-8'); 相互運用上 CDATA が使えるとわかっている場合は、次でも動くかもしれません。 世にある XML パーサで CDATA を扱えないものもあるので、注意してください。 $output_options = array('escaping' => 'cdata', 'encoding' => 'UTF-8'); あるいは若干手間がかかりますが、どのような場合でも正しく動く方法として次の方法があります。通信先が XML の文字セット宣言を解釈しないパーサを使っている場合は、このようにしなければなりません。 |
© 2006-2008 Internet Revolution