Article View: pl.comp.lang.perl
Article #52236Re: XML::SAX::Writer i deklaracja XML
From: Tomasz Konojacki
Date: Sat, 04 Jun 2011 17:46
Date: Sat, 04 Jun 2011 17:46
77 lines
3263 bytes
3263 bytes
Nie znam tego modułu, ale przejrzałem go na szybko i wygląda na to, że
xml_decl() jest jedyną metodą generującą deklarację XML. A co do jej
argumentów - funkcja wygląda tak:
sub xml_decl {
my $self = shift;
my $data = shift;
# version info is compulsory, contrary to what some seem to think
# also, there's order in the pseudo-attr
my $xd = '';
if ($data->{Version}) {
$xd .= "<?xml version='$data->{Version}'";
if ($data->{Encoding}) {
$xd .= " encoding='$data->{Encoding}'";
}
if ($data->{Standalone}) {
$xd .= " standalone='$data->{Standalone}'";
}
$xd .= '?>';
}
#$xd = $self->{Encoder}->convert($xd); # this may blow up
$self->{Consumer}->output($xd);
}
Pozdrawiam
----
http://www.xenu.cc - Moja strona domowa.
http://perl.info.pl - Perlwiki, polska encyklopedia Perla.
Użytkownik "Jarosław Lubczyński" napisał w wiadomości grup
dyskusyjnych:isdqmp$o8$1@inews.gazeta.pl...
... a właściwie jej brak. Do generowania dokumentów XML używam w/w
pakietu (czyli XML::SAX::Writer) i chciałbym przy nim pozostać. Działa
znakomicie ale ma jak dla mnie jedną wadę: niestety nie znalazłem
sposobu, by zmusić go 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
Technical Details
Message-ID:
<isdr2c$bv4$1@speranza.aioe.org>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mailReferences:
<isdqmp$o8$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Tomasz Konojacki" <xenu536@hotmail.com> Newsgroups: pl.comp.lang.perl Subject: Re: XML::SAX::Writer i deklaracja XML Date: Sat, 4 Jun 2011 19:46:53 +0200 Organization: Aioe.org NNTP Server Lines: 78 Message-ID: <isdr2c$bv4$1@speranza.aioe.org> References: <isdqmp$o8$1@inews.gazeta.pl> NNTP-Posting-Host: 5whKBiKdr6qBp1at6jV3Hg.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3508.1109 X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: Microsoft Windows Live Mail 15.4.3508.1109 Importance: Normal X-Priority: 3 X-MSMail-Priority: Normal Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit