XML::SAX a pozice uvnitr XML dat
Honza Pazdziora
adelton na fi.muni.cz
Pátek Říjen 21 19:05:45 MEST 2005
On Fri, Oct 21, 2005 at 04:01:55PM +0200, Jan Kasprzak wrote:
>
> mam dotaz - delate nekdo s XML parsery? Mam parser nad XML::SAX::*
> a potreboval bych umet uvnitr callbacku pro konkretni element
> zjsitit/vypsat/poznamenat si, na kterem radku a a ktere pozici
> se tento element nachazi. Neco jako dela XML::Filter::ExceptionLocator,
> akoratze ja nechci vyhazovat vyjimku a zrusit tak cele parsovani
> - ja chci jen generovat nejake informativni zpravy, jakoze ten a ten
> element (na te a te pozici ve vstupnich datech) zpusobil nejakou akci.
>
> Jak se tohle udela? Diky,
Klicove slovo je set_document_locator:
package sp;
use base 'XML::SAX::PurePerl';
sub start_element {
my ($self, $element) = @_;
my $loc = $self->{loc}{LineNumber};
print "Element [$element->{Name}] at line [$loc]\n";
}
sub set_document_locator {
my ($self, $locator) = @_;
$self->{loc} = $locator;
}
1;
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, mod_perl, DBI, Oracle, large Web systems, XML/XSL, ...
Only self-confident people can be simple.
Další informace o konferenci Perl