Package org.apache.xalan.transformer

In charge of run-time transformations and the production of result trees.

See:
          Description

Interface Summary
TransformerClient A content handler can get a reference to a TransformState by implementing the TransformerClient interface.
TransformState This interface is meant to be used by a consumer of SAX2 events produced by Xalan, and enables the consumer to get information about the state of the transform.
 

Class Summary
ClonerToResultTree  
CountersTable **For internal use only** This is a table of counters, keyed by ElemNumber objects, each of which has a list of Counter objects.
DecimalToRoman **For internal use only** Structure to help in converting integers to roman numerals
KeyIterator  
KeyManager This class manages the key tables.
KeyTable **For advanced use only** Table of element keys, keyed by document node.
KeyWalker  
MsgMgr This class will manage error messages, warning messages, and other types of message events.
QueuedSAXEvent Acts as a base class for queued SAX events.
QueuedStartDocument Tracks the state of a queued document event.
QueuedStartElement Tracks the state of a queued element event.
ResultNameSpace **For internal use only** A representation of a result namespace.
ResultTreeFrag **For internal use only** Container of a result tree fragment.
ResultTreeHandler This class is a layer between the direct calls to the result tree content handler, and the transformer.
SerializerSwitcher This is a helper class that decides if Xalan needs to switch serializers, based on the first output element.
StackGuard Class to guard against recursion getting too deep.
TransformerImpl **For advanced use only** The Xalan workhorse -- Collaborates with the XPath xcontext, the DOM, and the XPath engine, to transform a source tree of nodes into a result tree according to instructions and templates specified by a stylesheet tree.
TreeWalker2Result **For internal use only** Handle a walk of a tree, but screen out attributes for the result tree.
 

Package org.apache.xalan.transformer Description

In charge of run-time transformations and the production of result trees.

TransformerImpl implements the TRaX Transformer interface, and extends the SAX XMLFilterImpl. It uses a SAX XMLParser to parse the XML input and sends parse events to an input SAX ContentHandler, org.apache.xalan.stree.SourceTreeHandler, which in turn uses org.apache.xalan.utils.DOMBuilder to assemble the input into a DOM tree (this step is unnecessary if the XML input is submitted as a DOM).

For each node in the XML source, TransformerImpl uses the StylesheetRoot and underlying XSLT schema to determine which template to apply: one of the templates in the StylesheetRoot, a default template rule as specified in the XSLT spec, or none.

The Transformer works with org.apache.xalan.transformer.ResultTreeHandler to forward the SAX events produced by this process to the appropriate output ContentHandler, a serializer if the Result object has been set up to write to a stream or file, a DOMBuilder utility if the output is to be a DOM tree.

To the degree possible, the parsing of the XML source and application of the Templates object to that source are performed concurrently in separate threads. When necessary, the Transformer waits for the parse events that must be in place before a given template may be applied.

Version:
xalan-j_2_0_D01, September 6, 2000
Author:
Scott Boag



Copyright © 2000 Apache XML Project. All Rights Reserved.