You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ja...@apache.org on 2001/05/06 01:12:16 UTC
cvs commit: xml-xerces/perl/t SAXParser.t
jasons 01/05/05 16:12:16
Modified: perl/t SAXParser.t
Log:
* t/SAXParser.t (Repository):
uses new ErrorHandler interface
uses new DocumentHandler interface
Revision Changes Path
1.2 +24 -9 xml-xerces/perl/t/SAXParser.t
Index: SAXParser.t
===================================================================
RCS file: /home/cvs/xml-xerces/perl/t/SAXParser.t,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SAXParser.t 2001/04/13 22:24:41 1.1
+++ SAXParser.t 2001/05/05 23:12:16 1.2
@@ -10,6 +10,7 @@
BEGIN { $| = 1; print "1..4\n"; }
END {print "not ok 1\n" unless $loaded;}
use Carp;
+use blib;
use XML::Xerces;
use Config;
@@ -44,19 +45,33 @@
</person>
</contributors>];
+package MyDocumentHandler;
+use strict;
+use vars qw(@ISA);
+@ISA = qw(XML::Xerces::PerlDocumentHandler);
+
+sub start_element {
+ my $self = shift;
+ $self->{elements}++;
+}
+sub characters {
+ my ($self,$str,$len) = @_;
+ $self->{chars} += $len;
+}
+sub ignorable_whitespace {
+ my ($self,$str,$len) = @_;
+ $self->{ws} += $len;
+}
+
+package main;
my $SAX = new XML::Xerces::SAXParser;
my $element_count = 0;
my $ws_count = 0;
my $char_count = 0;
-my $DOCUMENT_HANDLER = XML::Xerces::perlDocumentHandler->new();
-$DOCUMENT_HANDLER->setStartElementFunction(sub{$element_count++;});
-$DOCUMENT_HANDLER->setIgnorableWhitespaceFunction(sub{my ($str,$len) = @_;
- $ws_count += $len;});
-$DOCUMENT_HANDLER->setCharactersFunction(sub{my ($str,$len) = @_;
- $char_count += $len;});
+my $DOCUMENT_HANDLER = MyDocumentHandler->new();
$SAX->setDocumentHandler($DOCUMENT_HANDLER);
$SAX->parse(XML::Xerces::MemBufInputSource->new($document, 'foo'));
-result($element_count == 10);
-result($ws_count == 0);
-result($char_count == 141);
+result($DOCUMENT_HANDLER->{elements} == 10);
+result($DOCUMENT_HANDLER->{chars} == 141);
+result($DOCUMENT_HANDLER->{ws} == 0);
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org