XML Parser xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_unparsed_entity_decl_handler — 구문 분석되지 않은 엔티티 선언 핸들러 설정


설명

xml_set_unparsed_entity_decl_handler(XMLParser $parser, callable $handler): bool

XML 파서 parser에 대한 파싱되지 않은 엔티티 선언 핸들러 함수를 설정합니다.

XML 파서가 다음과 같이 NDATA 선언이 있는 외부 엔터티 선언을 만나면 handler가 호출됩니다.

<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
        NDATA <parameter>notationName</parameter>
                

외부 엔티티로 선언된 표기법의 정의에 대해서는 » XML 1.0 사양의 섹션 ​​4.2.2를 참조하세요.


매개변수

parser
구문 분석되지 않은 엔터티 선언 처리기 함수를 설정하기 위한 XML 구문 분석기에 대한 참조입니다.
handler
handlerparser를 위해 xml_parse()가 호출될 때 존재해야 하는 함수의 이름을 포함하는 문자열입니다.

handler에 의해 명명된 함수는 6개의 매개변수를 허용해야 합니다.

handler(
    XMLParser $parser,
    string $entity_name,
    string $base,
    string $system_id,
    string $public_id,
    string $notation_name
)
                     
parser
첫 번째 매개변수인 parser는 핸들러를 호출하는 XML 파서에 대한 참조입니다.
entity_name
정의하려는 엔터티의 이름입니다.
base
이것은 외부 엔티티의 시스템 식별자(systemId)를 확인하기 위한 기반입니다. 현재 이 매개변수는 항상 빈 문자열로 설정됩니다.
system_id
외부 엔터티의 시스템 식별자입니다.
public_id
외부 엔터티의 공용 식별자입니다.
notation_name
이 엔티티의 표기법 이름(xml_set_notation_decl_handler() 참조).

핸들러 함수가 빈 문자열 또는 false로 설정되면 해당 핸들러가 비활성화됩니다.

참고: 함수 이름 대신 객체 참조와 메서드 이름이 포함된 배열을 제공할 수도 있습니다.


반환 값

성공하면 true를, 실패하면 false를 반환합니다.


변경 로그

버전 설명
8.0.0 parser는 이제 XMLParser 인스턴스를 예상합니다. 이전에는 리소스가 필요했습니다.