public class

CoreDOMImplementationImpl

extends Object
implements DOMImplementation DOMImplementationLS
java.lang.Object
   ↳ org.apache.xerces.dom.CoreDOMImplementationImpl
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

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.@xerces.internal

Summary

[Expand]
Inherited Constants
From interface org.w3c.dom.ls.DOMImplementationLS
Public Constructors
CoreDOMImplementationImpl()
Public Methods
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()
DOM Level 3 LS CR - Experimental.
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.
Protected Methods
synchronized int assignDocTypeNumber()
NON-DOM: increment document/doctype counter
synchronized int assignDocumentNumber()
NON-DOM: increment document/doctype counter
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.w3c.dom.DOMImplementation
From interface org.w3c.dom.ls.DOMImplementationLS

Public Constructors

public CoreDOMImplementationImpl ()

Public Methods

public Document createDocument (String namespaceURI, String qualifiedName, DocumentType doctype)

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.
Throws
DOMException WRONG_DOCUMENT_ERR: Raised if doctype has already been used with a different document.

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.

public LSInput createLSInput ()

DOM Level 3 LS CR - Experimental. Create a new empty input source.

Returns
  • The newly created input object.

public LSOutput createLSOutput ()

DOM Level 3 LS CR - Experimental. Create a new empty output destination object where LSOutput.characterStream, LSOutput.byteStream, LSOutput.systemId, LSOutput.encoding are null.

Returns
  • The newly created output object.

public LSParser createLSParser (short mode, String schemaType)

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.

Parameters
mode The mode argument is either MODE_SYNCHRONOUS or MODE_ASYNCHRONOUS, if mode is MODE_SYNCHRONOUS then the LSParser that is created will operate in synchronous mode, if it's MODE_ASYNCHRONOUS then the LSParser 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 LSParser. Note that no lexical checking is done on the absolute URI. In order to create a LSParser for any kind of schema types (i.e. the LSParser 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 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.

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

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.

public static DOMImplementation getDOMImplementation ()

NON-DOM: Obtain and return the single shared object

public Object getFeature (String feature, String version)

DOM Level 3 WD - Experimental.

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.

Protected Methods

protected synchronized int assignDocTypeNumber ()

NON-DOM: increment document/doctype counter

protected synchronized int assignDocumentNumber ()

NON-DOM: increment document/doctype counter