org.apache.cocoon.xml.dom
Class DOMBuilder

java.lang.Object
  |
  +--org.apache.cocoon.xml.dom.DOMBuilder
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.apache.avalon.framework.logger.Loggable, XMLConsumer
Direct Known Subclasses:
AbstractDOMTransformer

public class DOMBuilder
extends java.lang.Object
implements XMLConsumer, org.apache.avalon.framework.logger.Loggable

The DOMBuilder is a utility class that will generate a W3C DOM Document from SAX events.

Version:
CVS $Revision: 1.1.1.1.2.6 $ $Date: 2001/10/25 20:34:43 $
Author:
Pierpaolo Fumagalli (Apache Software Foundation, Exoffice Technologies)

Inner Class Summary
static interface DOMBuilder.Listener
          The Listener interface must be implemented by those objects willing to be notified of a successful DOM tree generation.
 
Field Summary
protected  DOMFactory factory
          The document factory
protected  DOMBuilder.Listener listener
          The listener
protected  org.apache.log.Logger log
           
 
Constructor Summary
protected DOMBuilder()
          Construct a new instance of this TreeGenerator.
  DOMBuilder(DOMFactory factory)
          Construct a new instance of this TreeGenerator.
  DOMBuilder(DOMFactory factory, DOMBuilder.Listener listener)
          Construct a new instance of this TreeGenerator.
  DOMBuilder(org.w3c.dom.Node parentNode)
          Constructs a new instance that appends nodes to the given parent node.
 
Method Summary
 void characters(char[] chars, int start, int len)
          Receive notification of character data.
 void comment(char[] chars, int start, int len)
          Report an XML comment anywhere in the document.
 void endCDATA()
          Report the end of a CDATA section.
 void endDocument()
          Receive notification of the beginning 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.
 org.w3c.dom.Document getDocument()
          Return the newly built Document.
 void ignorableWhitespace(char[] chars, int start, int len)
          Receive notification of ignorable whitespace data.
protected  void notify(org.w3c.dom.Document doc)
          Receive notification of a successfully completed DOM tree generation.
 void processingInstruction(java.lang.String target, java.lang.String data)
          Receive notification of a processing instruction.
 void setDocumentLocator(org.xml.sax.Locator loc)
          Set the SAX Document Locator.
 void setLogger(org.apache.log.Logger logger)
           
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected org.apache.log.Logger log

listener

protected DOMBuilder.Listener listener
The listener

factory

protected DOMFactory factory
The document factory
Constructor Detail

DOMBuilder

protected DOMBuilder()
Construct a new instance of this TreeGenerator.

DOMBuilder

public DOMBuilder(DOMFactory factory)
Construct a new instance of this TreeGenerator.

DOMBuilder

public DOMBuilder(DOMFactory factory,
                  DOMBuilder.Listener listener)
Construct a new instance of this TreeGenerator.

DOMBuilder

public DOMBuilder(org.w3c.dom.Node parentNode)
Constructs a new instance that appends nodes to the given parent node.
Note : you cannot use a Listener when appending to a Node, because the notification occurs at endDocument() which does not happen here.
Method Detail

setLogger

public void setLogger(org.apache.log.Logger logger)
Specified by:
setLogger in interface org.apache.avalon.framework.logger.Loggable

getDocument

public org.w3c.dom.Document getDocument()
Return the newly built Document.

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator loc)
Set the SAX Document Locator.
Specified by:
setDocumentLocator in interface org.xml.sax.ContentHandler
Parameters:
loc - The SAX Locator.

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Receive notification of the beginning of a document.
Specified by:
startDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Receive notification of the beginning of a document.
Specified by:
endDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

startDTD

public void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
Report the start of DTD declarations, if any.
Specified by:
startDTD in interface org.xml.sax.ext.LexicalHandler
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:
org.xml.sax.SAXException - If this method was not called appropriately.

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Report the end of DTD declarations.
Specified by:
endDTD in interface org.xml.sax.ext.LexicalHandler
Parameters:
chars - The characters from the XML document.
start - The start position in the array.
len - The number of characters to read from the array.
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

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
Receive notification of the beginning of an element.
Specified by:
startElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

endElement

public void endElement(java.lang.String uri,
                       java.lang.String loc,
                       java.lang.String raw)
                throws org.xml.sax.SAXException
Receive notification of the end of an element.
Specified by:
endElement in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix,
                               java.lang.String uri)
                        throws org.xml.sax.SAXException
Begin the scope of a prefix-URI Namespace mapping.
Specified by:
startPrefixMapping in interface org.xml.sax.ContentHandler
Parameters:
pre - The Namespace prefix being declared.
uri - The Namespace URI the prefix is mapped to.
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)
                      throws org.xml.sax.SAXException
End the scope of a prefix-URI mapping.
Specified by:
endPrefixMapping in interface org.xml.sax.ContentHandler
Parameters:
prefix - The Namespace prefix that was being mapped.

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Report the start of a CDATA section.
Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Report the end of a CDATA section.
Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

startEntity

public void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
Report the beginning of an entity.
Specified by:
startEntity in interface org.xml.sax.ext.LexicalHandler
Parameters:
chars - The characters from the XML document.
start - The start position in the array.
len - The number of characters to read from the array.
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

endEntity

public void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
Report the end of an entity.
Specified by:
endEntity in interface org.xml.sax.ext.LexicalHandler
Parameters:
chars - The characters from the XML document.
start - The start position in the array.
len - The number of characters to read from the array.
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

characters

public void characters(char[] chars,
                       int start,
                       int len)
                throws org.xml.sax.SAXException
Receive notification of character data.
Specified by:
characters in interface org.xml.sax.ContentHandler
Parameters:
chars - The characters from the XML document.
start - The start position in the array.
len - The number of characters to read from the array.
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

ignorableWhitespace

public void ignorableWhitespace(char[] chars,
                                int start,
                                int len)
                         throws org.xml.sax.SAXException
Receive notification of ignorable whitespace data.
Specified by:
ignorableWhitespace in interface org.xml.sax.ContentHandler
Parameters:
chars - The characters from the XML document.
start - The start position in the array.
len - The number of characters to read from the array.
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Receive notification of a processing instruction.
Specified by:
processingInstruction in interface org.xml.sax.ContentHandler
Parameters:
target - The processing instruction target.
data - The processing instruction data.
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

comment

public void comment(char[] chars,
                    int start,
                    int len)
             throws org.xml.sax.SAXException
Report an XML comment anywhere in the document.
Specified by:
comment in interface org.xml.sax.ext.LexicalHandler
Parameters:
chars - The characters from the XML document.
start - The start position in the array.
len - The number of characters to read from the array.
Throws:
org.xml.sax.SAXException - If this method was not called appropriately.

skippedEntity

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

notify

protected void notify(org.w3c.dom.Document doc)
               throws org.xml.sax.SAXException
Receive notification of a successfully completed DOM tree generation.


Copyright © 1999-2001 Apache Software Foundation. All Rights Reserved.