PHP 8.1.24 Released!


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

xml_set_unparsed_entity_decl_handler Set up unparsed entity declaration handler


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.



A reference to the XML parser to set up unparsed entity declaration handler function.


handler is a string containing the name of a function that must exist when xml_parse() is called for parser.

The function named by handler must accept six parameters:

    XMLParser $parser,
    string $entity_name,
    string $base,
    string $system_id,
    string $public_id,
    string $notation_name
The first parameter, parser, is a reference to the XML parser calling the handler.
The name of the entity that is about to be defined.
This is the base for resolving the system identifier (systemId) of the external entity.Currently this parameter will always be set to an empty string.
System identifier for the external entity.
Public identifier for the external entity.
Name of the notation of this entity (see xml_set_notation_decl_handler()).

If a handler function is set to an empty string, or false, the handler in question is disabled.

Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.

Return Values

Always returns true.


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