org.apache.fop.fo
Class XMLWhiteSpaceHandler
java.lang.Object
org.apache.fop.fo.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:
- from
FObjMixed.addChildNode()
- from
FObjMixed.endOfNode()
- from
FObjMixed.handleWhiteSpaceFor()
Each time one of the variants is called, white-space is handled
for all FOText
or Character
nodes that
were added:
- either prior to
newChild
(and after the previous
non-text child node)
- or, if
newChild
is null
,
after the previous non-text child
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.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XMLWhiteSpaceHandler
public XMLWhiteSpaceHandler()
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-spacefirstTextNode
- 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-spacefirstTextNode
- the node at which to startnextChild
- 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.