org.apache.cocoon.transformation
Class AbstractDOMTransformer

java.lang.Object
  |
  +--org.apache.avalon.framework.logger.AbstractLoggable
        |
        +--org.apache.cocoon.xml.AbstractXMLProducer
              |
              +--org.apache.cocoon.xml.AbstractXMLPipe
                    |
                    +--org.apache.cocoon.transformation.AbstractTransformer
                          |
                          +--org.apache.cocoon.transformation.AbstractDOMTransformer
All Implemented Interfaces:
org.apache.avalon.framework.component.Component, org.apache.avalon.framework.component.Composable, org.xml.sax.ContentHandler, org.apache.avalon.framework.activity.Disposable, DOMBuilder.Listener, org.xml.sax.ext.LexicalHandler, org.apache.avalon.framework.logger.Loggable, org.apache.avalon.excalibur.pool.Poolable, org.apache.avalon.excalibur.pool.Recyclable, SitemapModelComponent, Transformer, XMLConsumer, XMLPipe, XMLProducer

public abstract class AbstractDOMTransformer
extends AbstractTransformer
implements Transformer, DOMBuilder.Listener, org.apache.avalon.framework.component.Composable, org.apache.avalon.framework.activity.Disposable, org.apache.avalon.excalibur.pool.Recyclable

An Abstract DOM Transformer, for use when a transformer needs a DOM-based view of the document. Subclass this interface and implement transform(Document doc). If you need a ComponentManager there is an instance variable manager for use.

Version:
CVS $Id: AbstractDOMTransformer.java,v 1.6.2.1 2002/07/15 14:42:50 cziegeler Exp $
Author:
Ross Burton, Bruce G. Robertson, Vadim Gritsenko

Field Summary
protected  DOMBuilder builder
          The DOMBuilder used to build DOM tree out of incoming SAX events.
protected  org.apache.avalon.framework.component.ComponentManager manager
          A ComponentManager which is available for use.
protected  java.util.Map objectModel
          The request object model
protected  org.apache.avalon.framework.parameters.Parameters parameters
          Parameters in the sitemap
protected  SourceResolver resolver
          The SAX entity resolver
protected  java.lang.String source
          The URI requested
 
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, lexicalHandler, xmlConsumer
 
Fields inherited from interface org.apache.cocoon.transformation.Transformer
ROLE
 
Constructor Summary
AbstractDOMTransformer()
           
 
Method Summary
 void characters(char[] c, int start, int len)
          Receive notification of character data.
 void comment(char[] ch, int start, int len)
          Report an XML comment anywhere in the document.
 void compose(org.apache.avalon.framework.component.ComponentManager manager)
          Set the component manager.
 void dispose()
          dispose
 void endCDATA()
          Report the end of a CDATA section.
 void endDocument()
          Receive notification of the end of a document.
 void endDTD()
          Report the end of DTD declarations.
 void endElement(java.lang.String uri, java.lang.String loc, java.lang.String raw)
          Receive notification of the end of an element.
 void endEntity(java.lang.String name)
          Report the end of an entity.
 void endPrefixMapping(java.lang.String prefix)
          End the scope of a prefix-URI mapping.
 void ignorableWhitespace(char[] c, int start, int len)
          Receive notification of ignorable whitespace in element content.
 void notify(org.w3c.dom.Document doc)
          This method is called when the Document is finished.
 void processingInstruction(java.lang.String target, java.lang.String data)
          Receive notification of a processing instruction.
 void recycle()
          Recycle the component.
 void setDocumentLocator(org.xml.sax.Locator locator)
          Receive an object for locating the origin of SAX document events.
 void setup(SourceResolver resolver, java.util.Map objectModel, java.lang.String src, org.apache.avalon.framework.parameters.Parameters par)
          Set the SourceResolver, objectModel Map, the source and sitemap Parameters used to process the request.
 void skippedEntity(java.lang.String name)
          Receive notification of a skipped entity.
 void startCDATA()
          Report the start of a CDATA section.
 void startDocument()
          Receive notification of the beginning of a document.
 void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
          Report the start of DTD declarations, if any.
 void startElement(java.lang.String uri, java.lang.String loc, java.lang.String raw, org.xml.sax.Attributes a)
          Receive notification of the beginning of an element.
 void startEntity(java.lang.String name)
          Report the beginning of an entity.
 void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
          Begin the scope of a prefix-URI Namespace mapping.
protected abstract  org.w3c.dom.Document transform(org.w3c.dom.Document doc)
          Transform the specified DOM, returning a new DOM to stream down the pipeline.
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLoggable
getLogger, setLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.cocoon.xml.XMLProducer
setConsumer
 

Field Detail

resolver

protected SourceResolver resolver
The SAX entity resolver

objectModel

protected java.util.Map objectModel
The request object model

source

protected java.lang.String source
The URI requested

parameters

protected org.apache.avalon.framework.parameters.Parameters parameters
Parameters in the sitemap

manager

protected org.apache.avalon.framework.component.ComponentManager manager
A ComponentManager which is available for use.

builder

protected DOMBuilder builder
The DOMBuilder used to build DOM tree out of incoming SAX events.
Constructor Detail

AbstractDOMTransformer

public AbstractDOMTransformer()
Method Detail

compose

public void compose(org.apache.avalon.framework.component.ComponentManager manager)
Set the component manager.
Specified by:
compose in interface org.apache.avalon.framework.component.Composable

setup

public void setup(SourceResolver resolver,
                  java.util.Map objectModel,
                  java.lang.String src,
                  org.apache.avalon.framework.parameters.Parameters par)
           throws ProcessingException,
                  org.xml.sax.SAXException,
                  java.io.IOException
Set the SourceResolver, objectModel Map, the source and sitemap Parameters used to process the request. If you wish to process the parameters, override this method, call super() and then add your code.
Specified by:
setup in interface SitemapModelComponent

recycle

public void recycle()
Recycle the component.
Specified by:
recycle in interface org.apache.avalon.excalibur.pool.Recyclable
Overrides:
recycle in class AbstractXMLProducer

dispose

public void dispose()
dispose
Specified by:
dispose in interface org.apache.avalon.framework.activity.Disposable

notify

public void notify(org.w3c.dom.Document doc)
            throws org.xml.sax.SAXException
This method is called when the Document is finished.
Specified by:
notify in interface DOMBuilder.Listener
Parameters:
doc - The DOM Document object representing this SAX stream
See Also:
DOMBuilder.Listener

transform

protected abstract org.w3c.dom.Document transform(org.w3c.dom.Document doc)
Transform the specified DOM, returning a new DOM to stream down the pipeline.
Parameters:
doc - The DOM Document representing the SAX stream
Returns:
A DOM Document to stream down the pipeline

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Description copied from class: AbstractXMLPipe
Receive an object for locating the origin of SAX document events.
Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler
Overrides:
setDocumentLocator in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
locator - An object that can return the location of any SAX document event.

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Receive notification of the beginning of a document.
Specified by:
startDocument in interface org.xml.sax.ContentHandler
Overrides:
startDocument in class AbstractXMLPipe

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Receive notification of the end of a document.
Specified by:
endDocument in interface org.xml.sax.ContentHandler
Overrides:
endDocument in class AbstractXMLPipe

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Begin the scope of a prefix-URI Namespace mapping.
Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler
Overrides:
startPrefixMapping in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
prefix - The Namespace prefix being declared.
uri - The Namespace URI the prefix is mapped to.

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
End the scope of a prefix-URI mapping.
Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler
Overrides:
endPrefixMapping in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
prefix - The prefix that was being mapping.

startElement

public void startElement(java.lang.String uri,
                         java.lang.String loc,
                         java.lang.String raw,
                         org.xml.sax.Attributes a)
                  throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Receive notification of the beginning of an element.
Specified by:
startElement in interface org.xml.sax.ContentHandler
Overrides:
startElement in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
uri - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.
loc - The local name (without prefix), or the empty string if Namespace processing is not being performed.
raw - The raw XML 1.0 name (with prefix), or the empty string if raw names are not available.
a - The attributes attached to the element. If there are no attributes, it shall be an empty Attributes object.

endElement

public void endElement(java.lang.String uri,
                       java.lang.String loc,
                       java.lang.String raw)
                throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Receive notification of the end of an element.
Specified by:
endElement in interface org.xml.sax.ContentHandler
Overrides:
endElement in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
uri - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.
loc - The local name (without prefix), or the empty string if Namespace processing is not being performed.
raw - The raw XML 1.0 name (with prefix), or the empty string if raw names are not available.

characters

public void characters(char[] c,
                       int start,
                       int len)
                throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Receive notification of character data.
Specified by:
characters in interface org.xml.sax.ContentHandler
Overrides:
characters in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
c - The characters from the XML document.
start - The start position in the array.
len - The number of characters to read from the array.

ignorableWhitespace

public void ignorableWhitespace(char[] c,
                                int start,
                                int len)
                         throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Receive notification of ignorable whitespace in element content.
Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Overrides:
ignorableWhitespace in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
c - The characters from the XML document.
start - The start position in the array.
len - The number of characters to read from the array.

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Receive notification of a processing instruction.
Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Overrides:
processingInstruction in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
target - The processing instruction target.
data - The processing instruction data, or null if none was supplied.

skippedEntity

public void skippedEntity(java.lang.String name)
                   throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Receive notification of a skipped entity.
Specified by:
skippedEntity in interface org.xml.sax.ContentHandler
Overrides:
skippedEntity in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
name - The name of the skipped entity. If it is a parameter entity, the name will begin with '%'.

startDTD

public void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Report the start of DTD declarations, if any.
Specified by:
startDTD in interface org.xml.sax.ext.LexicalHandler
Overrides:
startDTD in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
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.

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Report the end of DTD declarations.
Specified by:
endDTD in interface org.xml.sax.ext.LexicalHandler
Overrides:
endDTD in class AbstractXMLPipe

startEntity

public void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Report the beginning of an entity.
Specified by:
startEntity in interface org.xml.sax.ext.LexicalHandler
Overrides:
startEntity in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
name - The name of the entity. If it is a parameter entity, the name will begin with '%'.

endEntity

public void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Report the end of an entity.
Specified by:
endEntity in interface org.xml.sax.ext.LexicalHandler
Overrides:
endEntity in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
name - The name of the entity that is ending.

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Report the start of a CDATA section.
Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler
Overrides:
startCDATA in class AbstractXMLPipe

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Report the end of a CDATA section.
Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler
Overrides:
endCDATA in class AbstractXMLPipe

comment

public void comment(char[] ch,
                    int start,
                    int len)
             throws org.xml.sax.SAXException
Description copied from class: AbstractXMLPipe
Report an XML comment anywhere in the document.
Specified by:
comment in interface org.xml.sax.ext.LexicalHandler
Overrides:
comment in class AbstractXMLPipe
Following copied from class: org.apache.cocoon.xml.AbstractXMLPipe
Parameters:
ch - An array holding the characters in the comment.
start - The starting position in the array.
len - The number of characters to use from the array.


Copyright � 1999-2002 Apache Software Foundation. All Rights Reserved.