XML::Filter::GenericChunk - Base Class for SAX Filters parsing WellBallanced
Chunks
use XML::Filter::GenericChunk;
XML::Filter::GenericChunk is inherited by XML::SAX::Base.
XML::Filter::GenericChunk itself is an abstract class, therefore as a filter
it will not result any useful output. If you need a simple Chunk filter for
your SAX pipeline, check XML::Filter::CharacterChunk which is shipped with
this module.
new() is the constructor of this class. It takes three extra parameter:
- TagName
- This expects an array reference with the TagNames the filter should
handle.
- RelaxedNames
- Relaxed name handling is an extra feature. RelaxedNames is a boolean
switch, that allows one to filter all tags of a certain name - independant
of the Namespace they belong to. This may is useful, but also dangerous,
too. By default, strict namespace handling is activated.
- NamespaceURI
- If only a certain namespace should be filtered, this parameter allows to
specify the NamespaceURI. If NamespaceURI is omited, the qualifing name is
tested (prefix and local name), otherwise only the local name will be
tested.
- add_data
- This function is very important. It helps to collect the chunk until it is
really processed. It takes an array of string, that are added to the
chunk.
- flush_chunk
- As the central feature method flush_chunk will process the chunk
that was set through add_data to the filter. The chunk will cause
the filter to generate the appropiate SAX events as it would be processed
by a XML parser.
If the chunk is not wellballanced, this function will
die(). Therefore make shure it is wrapped into an
eval block. In any case the currently stored chunk will be removed from
the filter. Because of this flush_chunk should only be called if
the chunk should contain a valid chunk.
- get_data
- simply returns the data collected by add_data() as a string
value.
- reset_data
- removes all data collected until this point.
- get_data_fragment
- This function parses the data collected with add_data() into a
document fragment. This function is internally used by
flush_chunk(). It is pretty usefull, to use this function if one
needs more control than flush_chunk() provides.
- is_tag
- this function allows to test a inherited calls to find out, if the current
sequence is handled by the filter.
- relaxed_names
- This takes a boolean value in order to toggle the relax name handling
after the filter creation.
- set_namespace
- Sets/ removes the namespace uri of the filter.
- set_tagname
- This method allows to add extra tag names to the list of tested tagnames.
it expects an array instead of an array reference!
- reset_tagname
- This helper function is used to remove all tagnames that are
filtered.
Christian Glahn, christian.glahn@uibk.ac.at, Innsbruck University
XML::LibXML, XML::SAX::Base, XML::Filter::CharacterChunk
Hey! The above document had some coding errors, which are explained
below:
- Around line 256:
- You forgot a '=back' before '=head2'