Функции Язык программирования PHP

xml_set_notation_decl_handler

(PHP 3>= 3.0.6, PHP 4)

xml_set_notation_decl_handler - настраивает обработчик объявления нотации.

Описание

bool xml_set_notation_decl_handler (resource parser, string handler)

Устанавливает функцию обработчика объявления нотации для XML-разборщика parser.
handler это строка с именем функции, которая обязана существовать в момент вызова xml_parse() для parser.

Объявление нотации является частью ОТД/DTD документа и имеет формат:
<!NOTATION 
name {system_id | public_id }>

См. в Разделе 4.7 спецификации XML 1.0 определение объявлений нотации.

Функция, именованная с помощью handler, обязана принимать 5 параметров: handler (resource parser, string notation_name, string base, string system_id, string public_id)

parser

Это ссылка на XML-разборщик, вызывающий обработчик.

notation_name

Это имя name нотации, как в формате нотации, описанном выше.

base

Это база для разрешения системного идентификатора (system_id) объявления нотации. В настоящее время в этот параметр всегда устанавливается пустая строка.

system_id

Системный идентификатор внешнего объявления нотации.

public_id

Public-идентификатор внешнего объявления нотации.

Если функция обработчика установлена как пустая строка, или FALSE, обработчик отключается/disabled.

TRUE возвращается, если обработчик настроен, а FALSE, если parser не является разборщиком.

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


Назад Оглавление Вперёд
xml_set_external_entity_ref_handler Вверх xml_set_object

Использование постоянной таблицы ресурсов

Если вы просмотрите mysql.c, обратите внимание, что, за исключением более сложной функции connect, остальная часть модуля не изменилась.

Точно такой же интерфейс имеется для списка регулярных ресурсов и для списка постоянных ресурсов, только 'list' заменено на 'plist':

Более вероятно, однако, что эти функции окажутся бесполезны при попытке реализовать постоянный модуль. Обычно бывает нужно использовать тот факт, что список постоянных ресурсов является в действительности хэш-таблицей. Например, в модулях MySQL/mSQL, когда есть вызов pconnect() (постоянное connect), функция строит строку вывода host/user/passwd, которая передаётся этой функции, и хэширует SQL-ссылку этой строкой как ключом/key. При следующем вызове pconnect() с теми же host/user/passwd, будет сгенерирован тот же key, и функция найдёт SQL-ссылку в постоянном списке.

Пока документация отсутствует, вы должны просмотреть в mysql.c или в msql.c, как можно использовать возможности хэш-таблиц plist'ов.