PHP 8.4.2 Released!

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

Опис

xml_set_unparsed_entity_decl_handler(XMLParser $parser, callable|string|null $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.

Параметри

parser

XML-парсер.

handler

Якщо задано null, обробник буде скинуто до його початкового стану.

Увага

Якщо задано порожній рядок, обробник також буде скинуто, проте така дія застаріла, починаючи з PHP 8.4.0.

Якщо параметр handler має тип callable, то обробником стане функція/метод, що має таку назву виклику.

Параметр handler може мати тип string, якщо це назва метода об'єкта, встановленого функцією xml_set_object().

Увага

Це є застарілим, починаючи з PHP 8.4.0.

Увага

Починаючи з PHP 8.4.0, назва виклику перевіряється на правильність під час встановлення обробника, а не під час його виклику. Це означає, що функцію xml_set_object() потрібно викликати перед встановленням назви метода, як зворотнього виклику. Однак, оскільки ця поведінка також є застарілою, починаючи з PHP 8.4.0, рекомендується використовувати правильну назву виклику (callable) методу.

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
XML-парсер, що викликає обробника.
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()).

Значення, що повертаються

Завжди повертає true.

Журнал змін

Версія Опис
8.4.0 Використання не-callable рядків (string) як параметра handler тепер є застарілим. Необхідно задавати правильну назву виклику методів або null для скидання обробника.
8.4.0 Правильність параметра handler, як назви виклику (callable) тепер перевіряється на правильність під час встановлення обробника, а не під час його виклику.
8.0.0 Тепер параметр parser має бути примірником XMLParser. Раніше очікувався xml-resource.
add a note

User Contributed Notes

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