Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
XML::Handler::Subs(3) User Contributed Perl DocumentationXML::Handler::Subs(3)

       XML::Handler::Subs - a PerlSAX handler base class for calling
       user-defined subs

	use XML::Handler::Subs;

	package	MyHandlers;
	use vars qw{ @ISA };

	sub s_NAME { my	($self,	$element) = @_ };
	sub e_NAME { my	($self,	$element) = @_ };

	$self->{Names};	   # an	array of names
	$self->{Nodes};	   # an	array of $element nodes

	$handler = MyHandlers->new();

       "XML::Handler::Subs" is a base class for	PerlSAX	handlers.
       "XML::Handler::Subs" is subclassed to implement complete	behavior and
       to add element-specific handling.

       Each time an element starts, a method by	that name prefixed with	`s_'
       is called with the element to be	processed.  Each time an element ends,
       a method	with that name prefixed	with `e_' is called.  Any special
       characters in the element name are replaced by underscores.

       Subclassing XML::Handler::Subs in this way is similar to	XML::Parser's
       Subs style.

       XML::Handler::Subs maintains a stack of element names,
       `"$self-"{Names}', and a	stack of element nodes,	`"$self-"{Nodes}>'
       that can	be used	by subclasses.	The current element is pushed on the
       stacks before calling an	element-name start method and popped off the
       stacks after calling the	element-name end method.  The `"in_element()"'
       and `"within_element()"'	calls use these	stacks.

       If the subclass implements `"start_document()"',	`"end_document()"',
       `"start_element()"', and	`"end_element()"', be sure to use `"SUPER::"'
       to call the the superclass methods also.	 See perlobj(1)	for details on
       SUPER::.	 `"SUPER::start_element()"' and	`"SUPER::end_element()"'
       return 1	if an element-name method is called, they return 0 if no
       method was called.

       XML::Handler::Subs does not implement any other PerlSAX handlers.

       XML::Handler::Subs supports the following methods:

       new( OPTIONS )
	   A basic `"new()"' method.  `"new()"'	takes a	list of	key, value
	   pairs or a hash and creates and returns a hash with those options;
	   the hash is blessed into the	subclass.

	   Returns true	if `$name' is equal to the name	of the innermost
	   currently opened element.

	   Returns the number of times the `$name' appears in Names.

       Ken MacLeod,

       perl(1),	PerlSAX.pod(3)

perl v5.24.1			  2003-10-21		 XML::Handler::Subs(3)


Want to link to this manual page? Use this URL:

home | help