NAME
XML::Filter::TableWrapper - Wrap a table's cells in to a certain number of rows
SYNOPSIS
use XML::Filter::TableWrapper;
use XML::SAX::Machines qw( Pipeline );
## Ouput a table with 5 rows, the last row having 3 cells:
Pipeline(
XML::Filter::TableWrapper->new(
Columns => 3, # The default is 5
),
\*STDOUT,
)->parse_string( "<table>" . "<td/>" x 23 . "</table" );
DESCRIPTION
Takes a list of elements and inserts (by default) <tr>...</tr>
elements to make an table with a specified number of columns (5 by default). By default, it assumes that the container element is named "{}table" (the "{}" means it is not namespaced), but this can be changed:
XML::Filter::TableWrapper->new(
ListTags => "{$my_ns}rows",
Columns => 3,
);
for instance.
LIMITATIONS
These can be read as possible future features:
Be able to translate the container tag to some other, for instance:
ListTags => { "{}ul" => { TableTag => "{}table", RowTag => "{}tr", CellTag => "{}td", }, }
Autoadapt if the user specifies empty "{}" namespaces and the events have no NamespaceURI defined, and vice versa.
Row filling instead of column filling.
Stripping of existing row tags, for "refilling" a table.
Callbacks to allow the various tags to be built, so they can have attributes. This would be a decent way of allowing greybar, for instance.
- Columns
-
$h->Columns( 1024 ); my $columns = $h->Columns;
Set/get the number of columns to wrap to.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 97:
'=item' outside of any '=over'
=over without closing =back