[Закрыть]
 
popoff.donetsk.ua
Ты сам и есть источник всего, что было, есть и будет.
Начало | Новости | Статьи | Форум | Опросы | Карта сайта | Обо мне
popoff.donetsk.ua - Статьи - Программирование - Модули - xmlfilter - xmlfilter_parse
Я это делаю
Персональное меню
Голосование
Деньги, либо любимое занятие? Постоянный адрес этого вопроса
Ваш возраст (не обязательно):

Введите целое число от 3 до 99.
Почему? (не обязательно):
Другие вопросы
Поиск по сайту
Реклама
Обмен электронных валют
money.dn.ua
Статистика

xmlfilter_parse

Постоянный адрес статьи

xmlfilter_parse -- Проверить разрешения на xml-документ и вернуть документ, в котором содержатся только разрешенные сущности

Описание

string xmlfilter_parse(string $s_src,array $a_param[,array $a_data=array()]);

Требуемая библиотека: xmlfilter.parse

Проверяет разрешения на xml-документ и возвращает документ, в котором содержатся только разрешенные сущности. Осуществляет проверку имен тегов (tag), имен атрибутов (attribute), значений атрибутов, имен инструкций (processing instruction) и имен специальных символов (entity). Разрешенные сущности возвращаются в таком виде, как они записаны в исходном xml-документе. Запрещенные сущности либо удаляются, либо для них производится преобразование символов по следующим правилам:

< -- &lt;
> -- &gt;
" -- &quot;
' -- &#039;

Эти преобразования называются запрещающими преобразованиями.

Эта функция работает относительно долго, поэтому рекомендуется кешировать результат выполнения этой функции.

$s_src
Исходный xml-документ. Если в качестве исходного xml-документа указывается правильный xml-документ, то для этого документа производится проверка разрешений. Если в качестве исходного xml-документа указывается недопустимый xml-документ, то проверка разрешений не выполняется и все сущности считаются запрещенными в этом документе.
$a_param
Параметры разрешений и управляющие параметры. В качестве значения этого аргумента следует передавать ассоциативный массив, в котором в качестве ключа указывается имя параметра, а в качестве значения - значение параметра. Если при описании параметров говорится, что значение некоторого параметра не указано, то в этом массиве в качестве значения передается логическое значение истина (true).
$a_data
Дополнительные данные. Значение - ассоциативный массив, в котором в качестве ключа указывается имя дополнительного данного, а в качестве значения - значение этого дополнительного данного. Основное назначение - передача информации из вызывающих скриптов в функции пользователя, которые производят обработку xml-сущностей.

Например, в службе управления статьями можно построить автоматическое содержание для текущей статьи. Идентификатор текущей статьи передается в дополнительном данном.

Все функции пользователя должны правильно отрабатывать в случае, если дополнительные данные не переданы. Данные могут быть не переданы, потому что функция xmlfilter_parse может вызываться из разных мест Вашего проекта, и в некоторых местах таких данных просто не существует. Например, эта функция вызывается не только для проверки разрешений в статьях, но и для проверки разрешений в сообщениях форума. Понятно, что из форума не может прийти данное, указывающее идентификатор текущей статьи. Полагаться на то, что в форуме эти теги просто будут запрещены не стоит - администратор форума может их и разрешить.

В качестве предопределенных данных в этом массиве могут передаваться следующие данные:
i_id
Идентификатор элемента, соответствующего текущему обрабатываемому данному. Например, при обработке сообщений в форуме в качестве этого данного передается идентификатор сообщений, а при обработке статей здесь передается идентификатор статьи.
s_service
Имя вызывающей службы. Например, если обрабатывается сообщение форума, то в качестве этого значения передается строка forum, а если обрабатывается статья, то передается строка text.


Внутри библиотеки xmlfilter.parse данные i_id и s_service используются только при генерации сообщений об ошибке. Эта информация добавляется в сообщение об ошибке для того, что бы Вы, просматривая журнал ошибок, могли узнать не только сообщение об ошибке (например, «запрещенная сущность»), но и где именно возникла эта ошибка (например, «в статье с таким-то идентификатором»).

Но Вы можете использовать эти данные и в функциях пользователя. Например, при построении упоминавшегося выше автоматического содержания именно из этих данных определяется идентификатор текущей статьи, а так же проверяется, является ли этот идентификатор идентификатором статьи или идентификатором чего-то еще (например, сообщения в форуме).

Смотрите так же

Параметры разрешений и управляющие параметры библиотеки xmlfilter.parse
Перечень и описание ошибок, выводимых модулем xmlfilter.parse
Cписок параметров, которые действуют у меня на всем сайте
Перечень дополнений и изменений, которые планируется внести в библиотеку фильтрации xml-документов xmlfilter.parse

Последняя модификация: 27.08.05 19:15

Не проходите мимо! Оставьте Ваш комментарий в форуме! >>>