[Moscow.pm] вопрос про XML::SAX и обработку entity внутри тега (в составе characters)
Sergey Skvortsov
skv на protey.ru
Вт Июн 17 04:42:21 PDT 2008
On 17.06.2008 13:40, Dmitry Arsentiev wrote:
>
> Может быть кто-нибудь встречался с такой проблемой и может помочь.
> Есть некий XML, в котором встречаются HTML-ные сущности, например, &
>
> Вот кусочек этого xml:
> <f106>John & Bill</f106>
>
> Разбираю XML с помощью XML::SAX.
>
> Содержимое тега f106 сохраняю в некую переменную $tags->{'authors'} .
> Проблема в том, что в $tags->{'authors'} сохраняются не John & Bill,
> а только Bill.
>
> Вопрос: как настроить обработчик SAX, чтобы entities попадали в
> $tags->{'authors'} ?
Никак.
& - это стандартный xml entity (равно как <, ' и т.п.) и
выдается xml parser'ом уже в нормализованном виде. Так что SAX тут
вообще ни при чём.
Если нужно получить "оригинальный" вид - используйте некий xml escaping.
Я в своё время написал для этого XS-модуль XML::Quote - чтобы
генерировать xml "руками".
--
Sergey Skvortsov
mailto: skv на protey.ru
Подробная информация о списке рассылки Moscow-pm