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