xml_set_notation_decl_handler

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

xml_set_notation_decl_handlerSet up notation declaration handler

Description

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

Sets the notation declaration handler function for the XML parser parser.

A notation declaration is part of the document's DTD and has the following format:

<!NOTATION <parameter>name</parameter>
{ <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
See » section 4.7 of the XML 1.0 spec for the definition of notation declarations.

Parameters

parser

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

handler

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 five parameters:

handler(
    XMLParser $parser,
    string $notation_name,
    string $base,
    string $system_id,
    string $public_id
)
parser
The first parameter, parser, is a reference to the XML parser calling the handler.
notation_name
This is the notation's name, as per the notation format described above.
base
This is the base for resolving the system identifier (system_id) of the notation declaration. Currently this parameter will always be set to an empty string.
system_id
System identifier of the external notation declaration.
public_id
Public identifier of the external notation declaration.

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

Returns true on success or false on failure.

Changelog

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