xml_set_processing_instruction_handler() 関数は、パーサーが XML ドキュメント内で処理命令を見つけたときに呼び出される関数を指定します。
処理命令は <? および ?> 区切り文字で囲まれ、データを含むターゲットが含まれます。
例: この例では、処理命令はスタイル シートを XML ドキュメントに関連付けます。
<?xml version="1.0"coding="ISO-8859-1"?> <?xml-stylesheet href="default.xsl" type="text/xml"?> <note><to>トーベ</to ><from>ジャニ</from><Heading>リマインダー</Heading><body>今週末は私を忘れないでください!</body></note>
成功すると、関数は TRUE を返します。失敗した場合は FALSE を返します。
xml_set_processing_instruction_handler(パーサー,ハンドラー)
パラメータ | 説明する |
---|---|
パーサー | 必須。使用する XML パーサーを指定します。 |
ハンドラ | 必須。パーサーが処理命令を見つけたときに呼び出される関数を指定します。 |
「handler」パラメータで指定された関数には、次の 3 つのパラメータが必要です。
パラメータ | 説明する |
---|---|
パーサー | 必須。プロセッサを呼び出す XML パーサーを含む変数を指定します。 |
ターゲット | 必須。処理命令のターゲットを含む変数を指定します。 |
データ | 必須。処理指示データを含む変数を指定します。 |
注:ハンドラー パラメーターは、オブジェクト参照とメソッド名を含む配列にすることもできます。
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data; }function pi_handler($parser, $target, $data) { echo "ターゲット: $target<br />"; echo "データ: $data<br />"; }xml_set_character_data_handler($parser,"char");xml_set_processing_instruction_handler($parser, "pi_handler");$fp=fopen("test.xml","r");while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) または die (sprintf("XML エラー: %s 行 %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>