org.apache.xalan.transformer

Class TransformerHandlerImpl

public class TransformerHandlerImpl extends Object implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler, LexicalHandler, TransformerHandler, DeclHandler

A TransformerHandler listens for SAX ContentHandler parse events and transforms them to a Result.
Constructor Summary
TransformerHandlerImpl(TransformerImpl transformer, boolean doFragment, String baseSystemID)
Construct a TransformerHandlerImpl.
Method Summary
voidattributeDecl(String eName, String aName, String type, String valueDefault, String value)
Report an attribute type declaration.
voidcharacters(char[] ch, int start, int length)
Filter a character data event.
voidcomment(char[] ch, int start, int length)
Report an XML comment anywhere in the document.
voidelementDecl(String name, String model)
Report an element type declaration.
voidendCDATA()
Report the end of a CDATA section.
voidendDocument()
Filter an end document event.
voidendDTD()
Report the end of DTD declarations.
voidendElement(String uri, String localName, String qName)
Filter an end element event.
voidendEntity(String name)
Report the end of an entity.
voidendPrefixMapping(String prefix)
Filter an end Namespace prefix mapping event.
voiderror(SAXParseException e)
Filter an error event.
voidexternalEntityDecl(String name, String publicId, String systemId)
Report a parsed external entity declaration.
voidfatalError(SAXParseException e)
Filter a fatal error event.
StringgetSystemId()
Get the base ID (URI or system ID) from where relative URLs will be resolved.
TransformergetTransformer()
Get the Transformer associated with this handler, which is needed in order to set parameters and output properties.
voidignorableWhitespace(char[] ch, int start, int length)
Filter an ignorable whitespace event.
voidinternalEntityDecl(String name, String value)
Report an internal entity declaration.
voidnotationDecl(String name, String publicId, String systemId)
Filter a notation declaration event.
voidprocessingInstruction(String target, String data)
Filter a processing instruction event.
InputSourceresolveEntity(String publicId, String systemId)
Filter an external entity resolution.
voidsetDocumentLocator(Locator locator)
Filter a new document locator event.
voidsetResult(Result result)
Enables the user of the TransformerHandler to set the to set the Result for the transformation.
voidsetSystemId(String systemID)
Set the base ID (URI or system ID) from where relative URLs will be resolved.
voidskippedEntity(String name)
Filter a skipped entity event.
voidstartCDATA()
Report the start of a CDATA section.
voidstartDocument()
Filter a start document event.
voidstartDTD(String name, String publicId, String systemId)
Report the start of DTD declarations, if any.
voidstartElement(String uri, String localName, String qName, Attributes atts)
Filter a start element event.
voidstartEntity(String name)
Report the beginning of an entity in content.
voidstartPrefixMapping(String prefix, String uri)
Filter a start Namespace prefix mapping event.
voidunparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Filter an unparsed entity declaration event.
voidwarning(SAXParseException e)
Filter a warning event.

Constructor Detail

TransformerHandlerImpl

public TransformerHandlerImpl(TransformerImpl transformer, boolean doFragment, String baseSystemID)
Construct a TransformerHandlerImpl.

Parameters: transformer Non-null reference to the Xalan transformer impl. doFragment True if the result should be a document fragement. baseSystemID The system ID to use as the base for relative URLs.

Method Detail

attributeDecl

public void attributeDecl(String eName, String aName, String type, String valueDefault, String value)
Report an attribute type declaration.

Only the effective (first) declaration for an attribute will be reported. The type will be one of the strings "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", or "NOTATION", or a parenthesized token group with the separator "|" and all whitespace removed.

Parameters: eName The name of the associated element. aName The name of the attribute. type A string representing the attribute type. valueDefault A string representing the attribute default ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if none of these applies. value A string representing the attribute's default value, or null if there is none.

Throws: SAXException The application may raise an exception.

characters

public void characters(char[] ch, int start, int length)
Filter a character data event.

Parameters: ch An array of characters. start The starting position in the array. length The number of characters to use from the array.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#characters

comment

public void comment(char[] ch, int start, int length)
Report an XML comment anywhere in the document.

This callback will be used for comments inside or outside the document element, including comments in the external DTD subset (if read).

Parameters: ch An array holding the characters in the comment. start The starting position in the array. length The number of characters to use from the array.

Throws: SAXException The application may raise an exception.

elementDecl

public void elementDecl(String name, String model)
Report an element type declaration.

The content model will consist of the string "EMPTY", the string "ANY", or a parenthesised group, optionally followed by an occurrence indicator. The model will be normalized so that all whitespace is removed,and will include the enclosing parentheses.

Parameters: name The element type name. model The content model as a normalized string.

Throws: SAXException The application may raise an exception.

endCDATA

public void endCDATA()
Report the end of a CDATA section.

Throws: SAXException The application may raise an exception.

See Also: TransformerHandlerImpl

endDocument

public void endDocument()
Filter an end document event.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#endDocument

endDTD

public void endDTD()
Report the end of DTD declarations.

Throws: SAXException The application may raise an exception.

See Also: TransformerHandlerImpl

endElement

public void endElement(String uri, String localName, String qName)
Filter an end element event.

Parameters: uri The element's Namespace URI, or the empty string. localName The element's local name, or the empty string. qName The element's qualified (prefixed) name, or the empty string.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#endElement

endEntity

public void endEntity(String name)
Report the end of an entity.

Parameters: name The name of the entity that is ending.

Throws: SAXException The application may raise an exception.

See Also: TransformerHandlerImpl

endPrefixMapping

public void endPrefixMapping(String prefix)
Filter an end Namespace prefix mapping event.

Parameters: prefix The Namespace prefix.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#endPrefixMapping

error

public void error(SAXParseException e)
Filter an error event.

Parameters: e The error as an exception.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ErrorHandler#error

externalEntityDecl

public void externalEntityDecl(String name, String publicId, String systemId)
Report a parsed external entity declaration.

Only the effective (first) declaration for each entity will be reported.

Parameters: name The name of the entity. If it is a parameter entity, the name will begin with '%'. publicId The declared public identifier of the entity, or null if none was declared. systemId The declared system identifier of the entity.

Throws: SAXException The application may raise an exception.

See Also: TransformerHandlerImpl org.xml.sax.DTDHandler#unparsedEntityDecl

fatalError

public void fatalError(SAXParseException e)
Filter a fatal error event.

Parameters: e The error as an exception.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ErrorHandler#fatalError

getSystemId

public String getSystemId()
Get the base ID (URI or system ID) from where relative URLs will be resolved.

Returns: The systemID that was set with {@link #setSystemId}.

getTransformer

public Transformer getTransformer()
Get the Transformer associated with this handler, which is needed in order to set parameters and output properties.

Returns: The Transformer associated with this handler

ignorableWhitespace

public void ignorableWhitespace(char[] ch, int start, int length)
Filter an ignorable whitespace event.

Parameters: ch An array of characters. start The starting position in the array. length The number of characters to use from the array.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#ignorableWhitespace

internalEntityDecl

public void internalEntityDecl(String name, String value)
Report an internal entity declaration.

Only the effective (first) declaration for each entity will be reported.

Parameters: name The name of the entity. If it is a parameter entity, the name will begin with '%'. value The replacement text of the entity.

Throws: SAXException The application may raise an exception.

See Also: TransformerHandlerImpl org.xml.sax.DTDHandler#unparsedEntityDecl

notationDecl

public void notationDecl(String name, String publicId, String systemId)
Filter a notation declaration event.

Parameters: name The notation name. publicId The notation's public identifier, or null. systemId The notation's system identifier, or null.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.DTDHandler#notationDecl

processingInstruction

public void processingInstruction(String target, String data)
Filter a processing instruction event.

Parameters: target The processing instruction target. data The text following the target.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#processingInstruction

resolveEntity

public InputSource resolveEntity(String publicId, String systemId)
Filter an external entity resolution.

Parameters: publicId The entity's public identifier, or null. systemId The entity's system identifier.

Returns: A new InputSource or null for the default.

Throws: IOException SAXException The client may throw an exception during processing. java.io.IOException The client may throw an I/O-related exception while obtaining the new InputSource.

See Also: org.xml.sax.EntityResolver#resolveEntity

setDocumentLocator

public void setDocumentLocator(Locator locator)
Filter a new document locator event.

Parameters: locator The document locator.

See Also: org.xml.sax.ContentHandler#setDocumentLocator

setResult

public void setResult(Result result)
Enables the user of the TransformerHandler to set the to set the Result for the transformation.

Parameters: result A Result instance, should not be null.

Throws: IllegalArgumentException if result is invalid for some reason.

setSystemId

public void setSystemId(String systemID)
Set the base ID (URI or system ID) from where relative URLs will be resolved.

Parameters: systemID Base URI for the source tree.

skippedEntity

public void skippedEntity(String name)
Filter a skipped entity event.

Parameters: name The name of the skipped entity.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#skippedEntity

startCDATA

public void startCDATA()
Report the start of a CDATA section.

The contents of the CDATA section will be reported through the regular {@link org.xml.sax.ContentHandler#characters characters} event.

Throws: SAXException The application may raise an exception.

See Also: TransformerHandlerImpl

startDocument

public void startDocument()
Filter a start document event.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#startDocument

startDTD

public void startDTD(String name, String publicId, String systemId)
Report the start of DTD declarations, if any.

Any declarations are assumed to be in the internal subset unless otherwise indicated by a {@link #startEntity startEntity} event.

Note that the start/endDTD events will appear within the start/endDocument events from ContentHandler and before the first startElement event.

Parameters: name The document type name. publicId The declared public identifier for the external DTD subset, or null if none was declared. systemId The declared system identifier for the external DTD subset, or null if none was declared.

Throws: SAXException The application may raise an exception.

See Also: TransformerHandlerImpl TransformerHandlerImpl

startElement

public void startElement(String uri, String localName, String qName, Attributes atts)
Filter a start element event.

Parameters: uri The element's Namespace URI, or the empty string. localName The element's local name, or the empty string. qName The element's qualified (prefixed) name, or the empty string. atts The element's attributes.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#startElement

startEntity

public void startEntity(String name)
Report the beginning of an entity in content.

NOTE: entity references in attribute values -- and the start and end of the document entity -- are never reported.

The start and end of the external DTD subset are reported using the pseudo-name "[dtd]". All other events must be properly nested within start/end entity events.

Note that skipped entities will be reported through the {@link org.xml.sax.ContentHandler#skippedEntity skippedEntity} event, which is part of the ContentHandler interface.

Parameters: name The name of the entity. If it is a parameter entity, the name will begin with '%'.

Throws: SAXException The application may raise an exception.

See Also: TransformerHandlerImpl org.xml.sax.ext.DeclHandler#internalEntityDecl org.xml.sax.ext.DeclHandler#externalEntityDecl

startPrefixMapping

public void startPrefixMapping(String prefix, String uri)
Filter a start Namespace prefix mapping event.

Parameters: prefix The Namespace prefix. uri The Namespace URI.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ContentHandler#startPrefixMapping

unparsedEntityDecl

public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Filter an unparsed entity declaration event.

Parameters: name The entity name. publicId The entity's public identifier, or null. systemId The entity's system identifier, or null. notationName The name of the associated notation.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.DTDHandler#unparsedEntityDecl

warning

public void warning(SAXParseException e)
Filter a warning event.

Parameters: e The nwarning as an exception.

Throws: SAXException The client may throw an exception during processing.

See Also: org.xml.sax.ErrorHandler#warning

Copyright © 2005 Apache XML Project. All Rights Reserved.