|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.nwalsh.xalan.Table
public class Table
Xalan extensions supporting Tables
$Id: Table.java,v 1.5 2002/11/15 13:50:53 nwalsh Exp $
Copyright (C) 2000 Norman Walsh.
This class provides a Xalan implementation of some code to adjust CALS Tables to HTML Tables.
Column Widths
The adjustColumnWidths method takes a result tree fragment (assumed to contain the colgroup of an HTML Table) and returns the result tree fragment with the column widths adjusted to HTML terms.
Convert Lengths
The convertLength method takes a length specification of the form 9999.99xx (where "xx" is a unit) and returns that length as an integral number of pixels. For convenience, percentage lengths are returned unchanged.
The recognized units are: inches (in), centimeters (cm), millimeters (mm), picas (pc, 1pc=12pt), points (pt), and pixels (px). A number with no units is assumed to be pixels.
Change Log:
Initial release.
Field Summary | |
---|---|
protected static String |
foURI
The FO namespace name. |
protected static Hashtable |
unitHash
The hash used to associate units with a length in pixels. |
Constructor Summary | |
---|---|
Table()
Constructor for Verbatim |
Method Summary | |
---|---|
DocumentFragment |
adjustColumnWidths(ExpressionContext context,
org.w3c.dom.traversal.NodeIterator xalanNI)
Adjust column widths in an HTML table. |
static int |
convertLength(String length)
Convert a length specification to a number of pixels. |
protected String[] |
correctRoundingError(String[] widths)
Correct rounding errors introduced in calculating the width of each column. |
int |
getPixelsPerInch()
Return the current pixels-per-inch value. |
protected static void |
initializeHash()
Initialize the internal hash table with proper values. |
static void |
setPixelsPerInch(int value)
Set the pixels-per-inch value. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static Hashtable unitHash
protected static String foURI
Constructor Detail |
---|
public Table()
Constructor for Verbatim
All of the methods are static, so the constructor does nothing.
Method Detail |
---|
protected static void initializeHash()
public static void setPixelsPerInch(int value)
public int getPixelsPerInch()
public static int convertLength(String length)
Convert a length specification to a number of pixels.
The specified length should be of the form [+/-]999.99xx, where xx is a valid unit.
public DocumentFragment adjustColumnWidths(ExpressionContext context, org.w3c.dom.traversal.NodeIterator xalanNI)
Adjust column widths in an HTML table.
The specification of column widths in CALS (a relative width plus an optional absolute width) are incompatible with HTML column widths. This method adjusts CALS column width specifiers in an attempt to produce equivalent HTML specifiers.
In order for this method to work, the CALS width specifications should be placed in the "width" attribute of the <col>s within a <colgroup>. Then the colgroup result tree fragment is passed to this method.
This method makes use of two parameters from the XSL stylesheet
that calls it: nominal.table.width
and
table.width
. The value of nominal.table.width
must be an absolute distance. The value of table.width
can be either absolute or relative.
Presented with a mixture of relative and
absolute lengths, the table width is used to calculate
appropriate values. If the table.width
is relative,
the nominal width is used for this calculation.
There are three possible combinations of values:
context
- The stylesheet context; supplied automatically by Xalanrtf
- The result tree fragment containing the colgroup.
protected String[] correctRoundingError(String[] widths)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |