[Moscow.pm] вопрос про XML::SAX и обработку entity внутри тега (в составе characters)
Dmitry Arsentiev
dmarsentev на gmail.com
Вт Июн 17 02:40:04 PDT 2008
Здравствуйте.
Может быть кто-нибудь встречался с такой проблемой и может помочь.
Есть некий XML, в котором встречаются HTML-ные сущности, например, &
Вот кусочек этого xml:
<f106>John & Bill</f106>
Разбираю XML с помощью XML::SAX.
Содержимое тега f106 сохраняю в некую переменную $tags->{'authors'} .
Проблема в том, что в $tags->{'authors'} сохраняются не John & Bill,
а только Bill.
Вопрос: как настроить обработчик SAX, чтобы entities попадали в
$tags->{'authors'} ?
Есть у кого-нибудь такой опыт?
Может быть задекларировать эти entity как-то? Как? Где?
Заранее спасибо.
Сейчас у меня обработчики такие.
sub start_element
{
my ($self, $el) = @_;
$tags->{$el->{Name}}++;
}#bus start_element
sub end_element
{
my ($self, $el) = @_;
$tags->{$el->{Name}}--;
}#bus end_element
sub characters
{
my ($self, $el) = @_;
$tags->{'authors'} = $el->{Data} if($tags->{'f106'} > 0 );
}#bus characters
PS Видел это
http://kobesearch.cpan.org/htdocs/XML-SAX/XML/SAX/PurePerl.pm.html
http://search.cpan.org/~khampton/XML-SAX-Base-1.02/lib/XML/SAX/Base.pm
Ясности не прибавилось.
Подробная информация о списке рассылки Moscow-pm