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

Голосование закрыто.

Поиск по сайту
Реклама
Программное обеспечение любой сложности
koins.com.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

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