(PHP 4, PHP 5, PHP 7)
xml_set_external_entity_ref_handler — Установка обработчика внешних сущностей
Задает функцию обработчик внешних сущностей для XML-анализатора
parser
.
parser
Ссылка на XML-анализатор.
handler
handler
- строка содержащая имя функции, которая
должна быть определена на момент вызова функции
xml_parse() из анализатора
parser
.
Функция с именем handler
должна принимать
пять аргументов и возвращать целочисленный результат. Если обработчик
вернет FALSE
(равно как и ничего не вернет), XML анализатор прекратит
работу, а функция xml_get_error_code() будет
возвращать константу
XML_ERROR_EXTERNAL_ENTITY_HANDLING
.
$parser
, string $open_entity_names
, string $base
, string $system_id
, string $public_id
)parser
open_entity_names
open_entity_names
- список
разделенных пробелами имен сущностей, которые могут участвовать
в разборе текущей сущности (включая текущую сущность).
base
system_id
) внешней сущности. На данный момент
в качестве этого аргумента всегда передается пустая строка.
system_id
system_id
- системный
идентификатор в том виде, как он представлен в объявлении сущности.
public_id
public_id
- общедоступный
идентификатор в том виде, как он представлен в объявлении сущности,
либо пустая строка, если такового нет; пробелы в идентификаторе
будут нормализованы в соответствии с требованиями XML-спецификации.
Если в качестве обработчика передана пустая строка или FALSE
, этот
обработчик отключается.
Замечание: В качестве аргумента вместо имени функции может быть передан массив, содержащий ссылку на объект и имя метода.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Версия | Описание |
---|---|
7.3.0 |
Возвращаемое значение handler теперь также
учитывается, если расширение не собрано с библиотекой libxml.
Раньше возвращаемое значение игнорировалось, а разбор
никогда не останавливался.
|