HTML::TableParser::Table - support class for HTML::TableParser
This class is used to keep track of information related to a table and to create
the information passed back to the user callbacks. It is in charge of
marshalling the massaged header and row data to the user callbacks.
An instance is created when the controlling TableParser class finds a
"<table" tag. The object is given an id based upon which table it
is to work on. Its methods are invoked from the TableParser callbacks when
they run across an appropriate tag ("tr", "th",
"td"). The object is destroyed when the matching "/table"
tag is found.
Since tables may be nested, multiple HTML::TableParser::Table
exist simultaneously. HTML::TableParser
uses two pieces of information
held by this class -- ids and process. The first is an array of table ids, one
element per level of table nesting. The second is a flag indicating whether
this table is being processed (i.e. it matches a requested table) or being
ignored. Since HTML::TableParser
uses the ids information from an
existing table to initialize a new table, it first creates an empty sentinel
(place holder) table (by calling the HTML::TableParser::Table
constructor with no arguments).
The class handles missing "/tr", "/td", and "/th"
tags. As such (especially when handling multi-row headers) user callbacks may
be slightly delayed (and data cached). It also handles rows with overlapping
Please report any bugs or feature requests on the bugtracker website
by email to bug-HTML-TableParser@rt.cpan.org
When submitting a bug or request, please include a test-file or a patch to an
existing test-file that illustrates the bug or desired feature.
The development version is on github at
<https://github.com/djerius/html-tableparser> and may be cloned from
Please see those modules/websites for more information related to this module.
Diab Jerius <email@example.com>
This software is Copyright (c) 2018 by Smithsonian Astrophysical Observatory.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007