Stage 4: Tables

Implementing support for tables is a comparably complex task because there are no special objects for a table, table row or table column inside a HTML document. Each table part is represented by elements hierarchically linked, each element having many attributes. Iterating through all cells of a table column for instance needs a special way of handling for this reason.

To complicate things a little, there are only comparably limited ways to manipulate table elements in a document in Java. An additional challenge is to support table borders in Java because up to J2SE 1.4, table cell rendering is not appropriate compared to existing text processors when it comes to borders.

This stage of SimplyHTML implements support for tables trying to solve these limitations. In the following chapters is described how this is done in more detail.

Table manipulation parts to implement

Table structure in documents

Creating a new table

Enabling element and attribute changes

CSS shorthand properties

Manipulating the table structure

Enhancing cell border rendering

Changing table and cell attributes

Caret movement in tables

Due to the complexity of the topic the documentation does not cover all details of the resulting source code completely. The source code itself should be taken in addition to understand how the implementation is accomplished.