org.apache.fop.fo

Class XMLWhiteSpaceHandler


public class XMLWhiteSpaceHandler
extends java.lang.Object

Class encapsulating the functionality for white-space-handling during refinement stage. The handleWhiteSpace() methods are called during FOTree-building and marker-cloning:

Each time one of the variants is called, white-space is handled for all FOText or Character nodes that were added:

The iteration always starts at firstTextNode, goes on until the last text-node is reached, and deals only with FOText nodes (characters are immediately removed) or Character nodes (characters are kept track of and removed from the list of child nodes later, when the iterator goes out of scope) Note: if the method is called from an inline's endOfNode(), there is too little context to decide whether trailing white-space may be removed, so the pending inline is stored in a List, together with an iterator for which the next() method returns the first in the trailing sequence of white- space characters. This List is processed again at the end of the ancestor block.

Method Summary

void
handleWhiteSpace(FObjMixed fo, FONode firstTextNode)
Handle white-space for the fo that is passed in, starting at firstTextNode
void
handleWhiteSpace(FObjMixed fo, FONode firstTextNode, FONode nextChild)
Handle white-space for the fo that is passed in, starting at firstTextNode (when a nested FO is encountered)

Method Details

handleWhiteSpace

public void handleWhiteSpace(FObjMixed fo,
                             FONode firstTextNode)
Handle white-space for the fo that is passed in, starting at firstTextNode
Parameters:
fo - the FO for which to handle white-space
firstTextNode - the node at which to start

handleWhiteSpace

public void handleWhiteSpace(FObjMixed fo,
                             FONode firstTextNode,
                             FONode nextChild)
Handle white-space for the fo that is passed in, starting at firstTextNode (when a nested FO is encountered)
Parameters:
fo - the FO for which to handle white-space
firstTextNode - the node at which to start
nextChild - the child-node that will be added to the list after the last text-node

Copyright 1999-2007 The Apache Software Foundation. All Rights Reserved.