org.apache.xerces.dom

Class CoreDOMImplementationImpl

Implemented Interfaces:
DOMImplementation, DOMImplementationLS
Known Direct Subclasses:
DOMImplementationImpl, PSVIDOMImplementationImpl, XSImplementationImpl

public class CoreDOMImplementationImpl
extends java.lang.Object
implements DOMImplementation, 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.

Version:
$Id: CoreDOMImplementationImpl.java,v 1.35 2005/05/10 15:36:42 ankitp Exp $
Since:
PR-DOM-Level-1-19980818.

Method Summary

protected int
assignDocTypeNumber()
NON-DOM: increment document/doctype counter
protected int
assignDocumentNumber()
NON-DOM: increment document/doctype counter
Document
createDocument(String namespaceURI, String qualifiedName, DocumentType doctype)
Introduced in DOM Level 2.
DocumentType
createDocumentType(String qualifiedName, String publicID, String systemID)
Introduced in DOM Level 2.
LSInput
createLSInput()
DOM Level 3 LS CR - Experimental.
LSOutput
createLSOutput()
LSParser
createLSParser(short mode, String schemaType)
DOM Level 3 LS CR - Experimental.
LSSerializer
createLSSerializer()
DOM Level 3 LS CR - Experimental.
static DOMImplementation
getDOMImplementation()
NON-DOM: Obtain and return the single shared object
Object
getFeature(String feature, String version)
DOM Level 3 WD - Experimental.
boolean
hasFeature(String feature, String version)
Test if the DOM implementation supports a specific "feature" -- currently meaning language and level thereof.

Method Details

assignDocTypeNumber

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

assignDocumentNumber

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

createDocument

public Document createDocument(String namespaceURI,
                               String qualifiedName,
                               DocumentType doctype)
            throws DOMException
Introduced in DOM Level 2.

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

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.
Since:
WD-DOM-Level-2-19990923

createDocumentType

public DocumentType createDocumentType(String qualifiedName,
                                       String publicID,
                                       String systemID)
Introduced in DOM Level 2.

Creates an empty DocumentType node.

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

createLSInput

public LSInput createLSInput()
DOM Level 3 LS CR - Experimental. Create a new empty input source.
Returns:
The newly created input object.

createLSOutput

public LSOutput createLSOutput()

createLSParser

public LSParser createLSParser(short mode,
                               String schemaType)
            throws DOMException
DOM Level 3 LS CR - Experimental. Create a new LSParser. The newly constructed parser may then be configured by means of its DOMConfiguration object, and used to parse documents by means of its parse method.
Returns:
The newly created LSParser object. This LSParser is either synchronous or asynchronous depending on the value of the mode argument.

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


createLSSerializer

public LSSerializer createLSSerializer()
DOM Level 3 LS CR - Experimental. Create a new LSSerializer object.
Returns:
The newly created LSSerializer object.

Note: By default, the newly created LSSerializer has no DOMErrorHandler, i.e. the value of the "error-handler" configuration parameter is null. However, implementations may provide a default error handler at creation time. In that case, the initial value of the "error-handler" configuration parameter on the new created LSSerializer contains a reference to the default error handler.


getDOMImplementation

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

getFeature

public Object getFeature(String feature,
                         String version)
DOM Level 3 WD - Experimental.

hasFeature

public boolean hasFeature(String feature,
                          String version)
Test if the DOM implementation supports a specific "feature" -- currently meaning language and level thereof.
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.

Copyright B) 1999-2005 Apache XML Project. All Rights Reserved.