parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Проблемы с символами типа « в XML

serglif 20.10.2004 10:56

Имею следующий процесс:

Данные вводятся пользователем, к ним применяются некоторые правила типографирования (в частности замена кавычек (") на елочки (« и »)) и данные сохраняются в базу

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

1. Обрабатывается в ^postprocess[] - здесь все нормально, в xdoc уходит последовательность типа "«" и все работает.
 $xmldoc[^xdoc::create{<?xml version="1.0" encoding="$request:charset" ?><document>$body</document>}]
2. Некоторые аттрибуты элементов результирующего XML вышеупомянутой процедуры мне нужно вставить в другой XML - например для selecta в форме ввода. Почему не прямое обращение к базе? Мне так удобнее, так как в процедуре вывода данных я реализую различные ограничения на дерево. Как здесь:
$xmldoc[^xdoc::create{<?xml version="1.0" encoding="$request:charset" ?><document>^printtable[....]</document>}]
Получаю ошибку - ругается на символы типа &laquo; внутри значений аттрибутов XML-текста. Пробовал по всякому-разному красить данные taint-ом, untaint-ом... ничего хорошего не вышло! Подскажите, пожалуйста...