🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52236

Re: XML::SAX::Writer i deklaracja XML

#52236
From: Tomasz Konojacki
Date: Sat, 04 Jun 2011 17:46
77 lines
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-mail
References: <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