xml_set_processing_instruction_handler() 함수는 파서가 XML 문서에서 처리 명령을 찾을 때 호출되는 함수를 지정합니다.
처리 명령은 <? 및 ?> 구분 기호로 묶여 있으며 데이터가 있는 대상을 포함합니다.
예: 이 예에서 처리 지침은 스타일시트를 XML 문서와 연결합니다.
<?xml version="1.0" 인코딩="ISO-8859-1"?> <?xml-stylesheet href="default.xsl" type="text/xml"?> <note><to>Tove</to ><from>Jani</from><heading>알림</heading><body>이번 주말에 저를 잊지 마세요!</body></note>
성공하면 함수는 TRUE를 반환합니다. 실패하면 FALSE를 반환합니다.
xml_set_processing_instruction_handler(파서, 핸들러)
매개변수 | 설명하다 |
---|---|
파서 | 필수의. 사용할 XML 구문 분석기를 지정합니다. |
매니저 | 필수의. 파서가 처리 명령을 찾을 때 호출될 함수를 지정합니다. |
"handler" 매개변수로 지정된 함수에는 세 개의 매개변수가 있어야 합니다.
매개변수 | 설명하다 |
---|---|
파서 | 필수의. 프로세서를 호출하는 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)) 또는 다이 (sprintf("XML 오류: %s(라인 %d)", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))) }xml_parser_free($parser);?>