🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
2 messages
2 total messages Started by Jarosław Lubczyński Sat, 04 Jun 2011 18:11
XML::SAX::Base i deklaracja XML
#52238
Author: Jarosław Lubczyński
Date: Sat, 04 Jun 2011 18:11
49 lines
2201 bytes
... a właściwie jej brak. Niestety nie znalazłem sposobu, by w/w pakiet 
zmusić do generowania deklaracji XML czyli wiersza w stylu:

<?xml version="1.0" encoding="UTF-8"?>

W zasadzie zdaje się, że powinienem wywołać metodę xml_decl() ale ponoć 
jest ona oznaczona jako deprecated, a poza tym nie znalazłem opisu 
parametrów jej wywołania. Na forum

http://osdir.com/ml/lang.perl.xml/2003-07/msg00028.html

jest propozycja, że parametry deklaracji będą obsługiwane w  metodzie 
start_document() - ale jakoś nie doczytałem, czy ten pomysł został 
wdrożony, a próba wywołania na chybił (nie)trafił typu

[my $info =
{
     Version    => '1.0',
     Encoding   => 'UTF-8',
     Standalone => 0,
};

$self->start_document( $info);

zupełnie nie dała żadnego rezultatu.

Próbowałem też analizy kodu XML::SAX::Base, co przyprawiło mnie o ból 
głowy a i debugowanie przy pomocy EPIC'a niewiele pomogło niestety.

Jaka rada?

-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't


-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't
Re: XML::SAX::Base i deklaracja XML - rozwiązanie
#52239
Author: Jarosław Lubczyński
Date: Sun, 05 Jun 2011 08:21
54 lines
2188 bytes
W dniu 2011-06-04 20:11, Jarosław Lubczyński pisze:
> ... a właściwie jej brak. Niestety nie znalazłem sposobu, by w/w pakiet
> zmusić do generowania deklaracji XML czyli wiersza w stylu:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> W zasadzie zdaje się, że powinienem wywołać metodę xml_decl() ale ponoć
> jest ona oznaczona jako deprecated, a poza tym nie znalazłem opisu
> parametrów jej wywołania. [...]
>
>
> Jaka rada?
>

... Rada taka: być bardziej wytrwałym w samodzielnym poszukiwaniu 
odpowiedzi ;-).

Rozwiązanie daje kod metody XML::DOM::PerlSAX::xml_decl()

http://cpansearch.perl.org/src/ENNO/libxml-enno-1.00/lib/XML/DOM/PerlSAX.pm

I teraz już jest prosto:

package MyXml;
use base XML::SAX::Base;

sub start_document
{
     my( $self) = @_;
     my $decl =
     {
         Document   => 'xml',
         Version    => '1.0',
         Encoding   => 'UTF-8',
         Standalone => 0,
     };

     $self->SUPER::start_document();
     $self->SUPER::xml_decl( $decl);
}






-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads