Учебник по основам PHP. PHPBeginner



         

XML-интерпретация - часть 9


xml_set_external_entity_ref_handler

Установка обработчика внешних ссылок

int xml_set_external_entity_ref_handler (int parser, string handler)

Функция обработчика нотаций, содержащих внешние ссылки, должна возвращать целочисленное значение и соответствовать следующему прототипу:

int handler (int parser, string openEntityNames, string base, string systemld, string publicld).

Если обработчик возвращает значение FALSE (или не возвращает никакого), интерпретатор XML прекращает интерпретацию и функция xml_get_error_code() возвращает значение XML_ERROR_EXTERNAL_ENTITY_ HANDLING.

В аргументе openEntityNames функция получает список имен, открываемых для рекурсивной интерпретации (в виде строки, где разделителями являются пробелы), в base в настоящее время всегда содержится пустая строка. В аргументах systemld и publicld содержатся соответственно системный и публичный внешние идентификаторы.

xml_parse

Начало интерпретации документа XML

int xml_parse (int parser, string data [, int isFinal])

Функция позволяет обрабатывать документ XML по частям (многократно вызывая данную функцию и передавая каждый блок данных в аргументе data), тогда при обработке последней части документа в аргументе ispinal следует передать значение TRUE.

До начала интерпретации следует инициализировать интерпретатор parser и установить все функции-обработчики, которые будет вызывать данная функция. Функция возвращает значение TRUE, если интерпретация блока документа прошла успешно. В случае ошибки возвращается значение FALSE, и затем может быть получена информация об ошибке с помощью функций xml_get_error_code(), xml_error_string(), xml _get_current_line_number (), xml _get_current_col umnjiumber (), xml _get_ current_ byte_index().

xml_get_error_code

Получение кода ошибки интерпретатора XML

int xml_get_error_code (int parser)

Перечисление возвращаемых кодов ошибок (констант) см. в начале главы.

xml_error_string

Получение описания ошибки по ее коду

string xml_error_string (int code)




Содержание  Назад  Вперед