xml_set_external_entity_ref_handler

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

xml_set_external_entity_ref_handlerУстановка обработчика внешних сущностей

Описание

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

Задаёт функцию обработчик внешних сущностей для XML-анализатора parser.

Список параметров

parser

Ссылка на XML-анализатор.

handler

handler - строка содержащая имя функции, которая должна быть определена на момент вызова функции xml_parse() из анализатора parser.

Функция с именем handler должна принимать пять аргументов и возвращать целочисленный результат. Если обработчик вернёт false (равно как и ничего не вернёт), XML анализатор прекратит работу, а функция xml_get_error_code() будет возвращать константу XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler(
    XMLParser $parser,
    string $open_entity_names,
    string $base,
    string $system_id,
    string $public_id
)
parser
Первый аргумент parser является ссылкой на XML-анализатор вызывающий обработчик.
open_entity_names
Второй аргумент open_entity_names - список разделённых пробелами имён сущностей, которые могут участвовать в разборе текущей сущности (включая текущую сущность).
base
Это основа для разрешения системного идентификатора (system_id) внешней сущности. На данный момент в качестве этого аргумента всегда передаётся пустая строка.
system_id
Четвёртый аргумент system_id - системный идентификатор в том виде, как он представлен в объявлении сущности.
public_id
Пятый аргумент public_id - общедоступный идентификатор в том виде, как он представлен в объявлении сущности, либо пустая строка, если такового нет; пробелы в идентификаторе будут нормализованы в соответствии с требованиями XML-спецификации.

Если в качестве обработчика передана пустая строка или false, этот обработчик отключается.

Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.

Возвращаемые значения

Возвращает true в случае успешного завершения или false в случае возникновения ошибки.

Список изменений

Версия Описание
8.0.0 Параметр parser ожидает экземпляр XMLParser; ранее ожидался ресурс (resource).
7.3.0 Возвращаемое значение handler больше не игнорируется, если модуль был собран с библиотекой libxml. Раньше возвращаемое значение игнорировалось, а разбор никогда не останавливался.
add a note add a note

User Contributed Notes

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