HTML::TableParser::Table(3) 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 objects may 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 columns


This software is released under the GNU General Public License. You may find a copy at


Diab Jerius ([email protected])