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.
Method Summary |
void |
addDiscardableFOChar(Character foChar)
Marks a Character object as discardable, so that it is effectively
removed from the FOTree at the end of handleWhitespace() |
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) |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XMLWhiteSpaceHandler
public XMLWhiteSpaceHandler()
addDiscardableFOChar
public void addDiscardableFOChar(Character foChar)
- Marks a Character object as discardable, so that it is effectively
removed from the FOTree at the end of handleWhitespace()
- Parameters:
foChar
- the Character object to be removed from the list of
childNodes
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-2006 The Apache Software Foundation. All Rights Reserved.