org.apache.xerces.dom
Class CoreDOMImplementationImpl

java.lang.Object
  |
  +--org.apache.xerces.dom.CoreDOMImplementationImpl
All Implemented Interfaces:
org.w3c.dom.DOMImplementation, org.w3c.dom.ls.DOMImplementationLS
Direct Known Subclasses:
DOMImplementationImpl, PSVIDOMImplementationImpl

public class CoreDOMImplementationImpl
extends java.lang.Object
implements org.w3c.dom.DOMImplementation, org.w3c.dom.ls.DOMImplementationLS

The DOMImplementation class is description of a particular implementation of the Document Object Model. As such its data is static, shared by all instances of this implementation.

The DOM API requires that it be a real object rather than static methods. However, there's nothing that says it can't be a singleton, so that's how I've implemented it.

This particular class, along with CoreDocumentImpl, supports the DOM Core and Load/Save (Experimental). Optional modules are supported by the more complete DOMImplementation class along with DocumentImpl.

Since:
PR-DOM-Level-1-19980818.
Version:
$Id: CoreDOMImplementationImpl.java,v 1.24 2003/03/25 20:49:14 lmartin Exp $

Field Summary
 
Fields inherited from interface org.w3c.dom.ls.DOMImplementationLS
MODE_ASYNCHRONOUS, MODE_SYNCHRONOUS
 
Constructor Summary
CoreDOMImplementationImpl()
           
 
Method Summary
protected  int assignDocTypeNumber()
          NON-DOM: increment document/doctype counter
protected  int assignDocumentNumber()
          NON-DOM: increment document/doctype counter
 org.w3c.dom.Document createDocument(java.lang.String namespaceURI, java.lang.String qualifiedName, org.w3c.dom.DocumentType doctype)
          Introduced in DOM Level 2.
 org.w3c.dom.DocumentType createDocumentType(java.lang.String qualifiedName, java.lang.String publicID, java.lang.String systemID)
          Introduced in DOM Level 2.
 org.w3c.dom.ls.DOMBuilder createDOMBuilder(short mode, java.lang.String schemaType)
          DOM Level 3 WD - Experimental.
 org.w3c.dom.ls.DOMInputSource createDOMInputSource()
          DOM Level 3 WD - Experimental.
 org.w3c.dom.ls.DOMWriter createDOMWriter()
          DOM Level 3 WD - Experimental.
static org.w3c.dom.DOMImplementation getDOMImplementation()
          NON-DOM: Obtain and return the single shared object
 org.w3c.dom.Node getFeature(java.lang.String feature, java.lang.String version)
          DOM Level 3 WD - Experimental.
 boolean hasFeature(java.lang.String feature, java.lang.String version)
          Test if the DOM implementation supports a specific "feature" -- currently meaning language and level thereof.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CoreDOMImplementationImpl

public CoreDOMImplementationImpl()
Method Detail

getDOMImplementation

public static org.w3c.dom.DOMImplementation getDOMImplementation()
NON-DOM: Obtain and return the single shared object


hasFeature

public boolean hasFeature(java.lang.String feature,
                          java.lang.String version)
Test if the DOM implementation supports a specific "feature" -- currently meaning language and level thereof.

Specified by:
hasFeature in interface org.w3c.dom.DOMImplementation
Parameters:
feature - The package name of the feature to test. In Level 1, supported values are "HTML" and "XML" (case-insensitive). At this writing, org.apache.xerces.dom supports only XML.
version - The version number of the feature being tested. This is interpreted as "Version of the DOM API supported for the specified Feature", and in Level 1 should be "1.0"
Returns:
true iff this implementation is compatable with the specified feature and version.

createDocumentType

public org.w3c.dom.DocumentType createDocumentType(java.lang.String qualifiedName,
                                                   java.lang.String publicID,
                                                   java.lang.String systemID)
Introduced in DOM Level 2.

Creates an empty DocumentType node.

Specified by:
createDocumentType in interface org.w3c.dom.DOMImplementation
Parameters:
qualifiedName - The qualified name of the document type to be created.
publicID - The document type public identifier.
systemID - The document type system identifier.
Since:
WD-DOM-Level-2-19990923

createDocument

public org.w3c.dom.Document createDocument(java.lang.String namespaceURI,
                                           java.lang.String qualifiedName,
                                           org.w3c.dom.DocumentType doctype)
                                    throws org.w3c.dom.DOMException
Introduced in DOM Level 2.

Creates an XML Document object of the specified type with its document element.

Specified by:
createDocument in interface org.w3c.dom.DOMImplementation
Parameters:
namespaceURI - The namespace URI of the document element to create, or null.
qualifiedName - The qualified name of the document element to create.
doctype - The type of document to be created or null.

When doctype is not null, its Node.ownerDocument attribute is set to the document being created.

Returns:
Document A new Document object.
Throws:
org.w3c.dom.DOMException - WRONG_DOCUMENT_ERR: Raised if doctype has already been used with a different document.
Since:
WD-DOM-Level-2-19990923

getFeature

public org.w3c.dom.Node getFeature(java.lang.String feature,
                                   java.lang.String version)
DOM Level 3 WD - Experimental.


createDOMBuilder

public org.w3c.dom.ls.DOMBuilder createDOMBuilder(short mode,
                                                  java.lang.String schemaType)
                                           throws org.w3c.dom.DOMException
DOM Level 3 WD - Experimental.

Specified by:
createDOMBuilder in interface org.w3c.dom.ls.DOMImplementationLS
Parameters:
mode - The mode argument is either MODE_SYNCHRONOUS or MODE_ASYNCHRONOUS, if mode is MODE_SYNCHRONOUS then the DOMBuilder that is created will operate in synchronous mode, if it's MODE_ASYNCHRONOUS then the DOMBuilder that is created will operate in asynchronous mode.
schemaType - An absolute URI representing the type of the schema language used during the load of a Document using the newly created DOMBuilder. Note that no lexical checking is done on the absolute URI. In order to create a DOMBuilder for any kind of schema types (i.e. the DOMBuilder will be free to use any schema found), use the value null.

Note: For W3C XML Schema [XML Schema Part 1] , applications must use the value "http://www.w3.org/2001/XMLSchema". For XML DTD [XML 1.0], applications must use the value "http://www.w3.org/TR/REC-xml". Other Schema languages are outside the scope of the W3C and therefore should recommend an absolute URI in order to use this method.

Returns:
The newly created DOMBuilder object. This DOMBuilder is either synchronous or asynchronous depending on the value of the mode argument.

Note: By default, the newly created DOMBuilder does not contain a DOMErrorHandler, i.e. the value of the errorHandler is null. However, implementations may provide a default error handler at creation time. In that case, the initial value of the errorHandler attribute on the new created DOMBuilder contains a reference to the default error handler.

Throws:
org.w3c.dom.DOMException - NOT_SUPPORTED_ERR: Raised if the requested mode or schema type is not supported.

createDOMWriter

public org.w3c.dom.ls.DOMWriter createDOMWriter()
DOM Level 3 WD - Experimental.

Specified by:
createDOMWriter in interface org.w3c.dom.ls.DOMImplementationLS
Returns:
The newly created DOMWriter object.

Note: By default, the newly created DOMWriter does not contain a DOMErrorHandler, i.e. the value of the errorHandler is null. However, implementations may provide a default error handler at creation time. In that case, the initial value of the errorHandler attribute on the new created DOMWriter contains a reference to the default error handler.


createDOMInputSource

public org.w3c.dom.ls.DOMInputSource createDOMInputSource()
DOM Level 3 WD - Experimental.

Specified by:
createDOMInputSource in interface org.w3c.dom.ls.DOMImplementationLS
Returns:
The newly created DOMInputSource object.

assignDocumentNumber

protected int assignDocumentNumber()
NON-DOM: increment document/doctype counter


assignDocTypeNumber

protected int assignDocTypeNumber()
NON-DOM: increment document/doctype counter



Copyright ? 1999-2003 Apache XML Project. All Rights Reserved.