[Moscow.pm] вопрос про XML::SAX и обработку entity внутри тега (в составе characters)

Ivan B. Serezhkin ivan на serezhkin.com
Вт Июн 17 04:14:27 PDT 2008


Привет.
Entity Это такая отдельная сущность xml, сакс о ней рапортовать должен 
отдельно.
Соответственно Можно делать не,   $tags->{'authors'} = , а   
$tags->{'authors'} .=

Dmitry Arsentiev wrote:
> Здравствуйте.
>
> Может быть кто-нибудь встречался с такой проблемой и может помочь.
> Есть некий XML, в котором встречаются HTML-ные сущности, например, &
>
> Вот кусочек этого xml:
> <f106>John &amp; Bill</f106>
>
> Разбираю XML с помощью XML::SAX.
>
> Содержимое тега f106 сохраняю в некую переменную $tags->{'authors'} .
> Проблема в том, что в $tags->{'authors'} сохраняются не John &amp; 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 mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>   


-- 
Ivan B. Serezhkin



Подробная информация о списке рассылки Moscow-pm