This class is responsible for normalizing content from the 'content' style
property and for hiding content that has 'display:none' set. The
ContentNormalizer also resolves all styles for elements.
Pagebreaks are determined in the model-builder or the layouter. A pagebreak
is only activated if it affects a line-box; the normalizer has no information
about lineboxes and therefore cannot perform any pagebreak computation at
all.
Todo: Content that has been ignored because there was no 'content:contents'
definition for it, should have this content moved into the '::alternate'
pseudo-element. This one can be used to build footnotes and other fancy
stuff.
More todo: Quote-Level cannot be resolved, until the content has been
processed by the renderer. The Quote-Tokens need to be passed down to the
renderer unchanged; they need the defined quotes for the current element when
being printed.
The language is currently unresolved. It needs to be takes from the parent
context or the xml:lang attribute. Resolving the language using stylesheets
does not work, as there is a language-matching rule which depends on that
value.
Todo: DisplayNone does not remove the element from the document tree. Quote:
The element is not rendered. The rendering is the same as if the element had
been removed from the document tree, except for possible effects on counters
(see [generated] or [paged]).
[generated]: An element that is not displayed ('display' set to 'none')
cannot increment or reset a counter.
Note that :before and :after pseudo elements of this element are also not
rendered, see [generated].)
getRenderer
public Renderer getRenderer()
Returns the renderer. The renderer is the last step in the processing
chain. The ModelBuilder and ContentGenerator steps are considered internal,
as they may refeed the normalizer.
- getRenderer in interface Normalizer
startElement
public void startElement(String namespace,
String tag,
AttributeMap attributes)
throws NormalizationException,
IOException
Starts a new element. The element uses the given namespace and tagname. The
element's attributes are given as collection, each attribute is keyed with
a namespace and attributename. The values contained in the attributes are
not defined.
- startElement in interface Normalizer
namespace
- tag
- attributes
-