xml_set_external_entity_ref_handler() 함수는 파서가 XML 문서에서 외부 엔터티를 찾을 때 호출되는 함수를 지정합니다.
성공하면 함수는 TRUE를 반환합니다. 실패하면 FALSE를 반환합니다.
xml_set_external_entity_ref_handler(파서, 핸들러)
매개변수 | 설명하다 |
---|---|
파서 | 필수의. 사용할 XML 구문 분석기를 지정합니다. |
매니저 | 필수의. 파서가 외부 엔터티를 찾을 때 호출될 함수를 지정합니다. |
"handler" 매개변수로 지정된 함수에는 5개의 매개변수가 있어야 합니다.
매개변수 | 설명하다 |
---|---|
파서 | 필수의. 프로세서를 호출하는 XML 구문 분석기가 포함된 변수를 지정합니다. |
이름 | 필수의. 외부 엔터티의 이름이 포함된 변수를 지정합니다. |
베이스 | 필수의. 외부 엔터티의 시스템 식별자(system_id)를 확인하기 위한 기반을 지정합니다. 현재 이 매개변수는 일반적으로 NULL로 설정됩니다. |
시스템_ID | 필수의. 외부 엔터티의 시스템 식별자를 지정합니다. |
public_id | 필수의. 외부 엔터티의 공개 식별자를 지정합니다. |
참고: 핸들러 매개변수는 객체 참조와 메소드 이름을 포함하는 배열일 수도 있습니다.
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data }function ext_ent_handler($parser,$ent,$base,$sysID,$pubID) { echo "$ent<br />"; 에코 "$sysID<br />"; 에코 "$pubID<BR />"; }xml_set_character_data_handler($parser,"char");xml_set_external_entity_ref_handler($parser, "ext_ent_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);?>