PHPerKaigi 2024

xml_set_unparsed_entity_decl_handler

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

xml_set_unparsed_entity_decl_handler Set up unparsed entity declaration handler

Description

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

Sets the unparsed entity declaration handler function for the XML parser parser.

The handler will be called if the XML parser encounters an external entity declaration with an NDATA declaration, like the following:

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

See » section 4.2.2 of the XML 1.0 spec for the definition of notation declared external entities.

Parameters

parser

The XML parser.

handler

If null or an empty string is passed, the handler is reset to its default state.

If handler is a callable, the callable is set as the handler.

If handler is a string, it can be the name of a method of an object set with xml_set_object().

The signature of the handler must be:

handler(
    XMLParser $parser,
    string $entity_name,
    string|false $base,
    string $system_id,
    string|false $public_id,
    string|false $notation_name
): void
parser
The XML parser calling the handler.
entity_name
The name of the entity that is about to be defined.
base
This is the base for resolving the system identifier (systemId) of the external entity.
system_id
System identifier for the external entity.
public_id
Public identifier for the external entity.
notation_name
Name of the notation of this entity (see xml_set_notation_decl_handler()).

Return Values

Always returns true.

Changelog

Version Description
8.0.0 parser expects an XMLParser instance now; previously, a valid xml resource was expected.
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top