Class CoreDOMImplementationImpl
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.dom.CoreDOMImplementationImpl
-
- All Implemented Interfaces:
DOMImplementation
,DOMImplementationLS
- Direct Known Subclasses:
DOMImplementationImpl
public class CoreDOMImplementationImpl extends 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.
- Since:
- PR-DOM-Level-1-19980818.
- Version:
- $Id$
-
-
Field Summary
-
Fields inherited from interface org.w3c.dom.ls.DOMImplementationLS
MODE_ASYNCHRONOUS, MODE_SYNCHRONOUS
-
-
Constructor Summary
Constructors Constructor Description CoreDOMImplementationImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
assignDocTypeNumber()
NON-DOM: increment document/doctype counterprotected int
assignDocumentNumber()
NON-DOM: increment document/doctype counterDocument
createDocument(String namespaceURI, String qualifiedName, DocumentType doctype)
Introduced in DOM Level 2.protected CoreDocumentImpl
createDocument(DocumentType doctype)
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 objectObject
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 Detail
-
getDOMImplementation
public static DOMImplementation getDOMImplementation()
NON-DOM: Obtain and return the single shared object
-
hasFeature
public boolean hasFeature(String feature, String version)
Test if the DOM implementation supports a specific "feature" -- currently meaning language and level thereof.- Specified by:
hasFeature
in interfaceDOMImplementation
- 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.smooks.engine.delivery.sax.ng.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 compatible with the specified feature and version.
-
createDocumentType
public DocumentType createDocumentType(String qualifiedName, String publicID, String systemID)
Introduced in DOM Level 2.Creates an empty DocumentType node.
- Specified by:
createDocumentType
in interfaceDOMImplementation
- 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 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.
- Specified by:
createDocument
in interfaceDOMImplementation
- 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.- Since:
- WD-DOM-Level-2-19990923
-
createDocument
protected CoreDocumentImpl createDocument(DocumentType doctype)
-
getFeature
public Object getFeature(String feature, String version)
DOM Level 3 WD - Experimental.- Specified by:
getFeature
in interfaceDOMImplementation
-
createLSParser
public LSParser createLSParser(short mode, String schemaType) throws DOMException
DOM Level 3 LS CR - Experimental. Create a newLSParser
. The newly constructed parser may then be configured by means of itsDOMConfiguration
object, and used to parse documents by means of itsparse
method.- Specified by:
createLSParser
in interfaceDOMImplementationLS
- Parameters:
mode
- Themode
argument is eitherMODE_SYNCHRONOUS
orMODE_ASYNCHRONOUS
, ifmode
isMODE_SYNCHRONOUS
then theLSParser
that is created will operate in synchronous mode, if it'sMODE_ASYNCHRONOUS
then theLSParser
that is created will operate in asynchronous mode.schemaType
- An absolute URI representing the type of the schema language used during the load of aDocument
using the newly createdLSParser
. Note that no lexical checking is done on the absolute URI. In order to create aLSParser
for any kind of schema types (i.e. the LSParser will be free to use any schema found), use the valuenull
.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. ThisLSParser
is either synchronous or asynchronous depending on the value of themode
argument.Note: By default, the newly created
LSParser
does not contain aDOMErrorHandler
, i.e. the value of the " error-handler" configuration parameter isnull
. 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 createdLSParser
contains a reference to the default error handler. - Throws:
DOMException
- NOT_SUPPORTED_ERR: Raised if the requested mode or schema type is not supported.
-
createLSSerializer
public LSSerializer createLSSerializer()
DOM Level 3 LS CR - Experimental. Create a newLSSerializer
object.- Specified by:
createLSSerializer
in interfaceDOMImplementationLS
- Returns:
- The newly created
LSSerializer
object.Note: By default, the newly created
LSSerializer
has noDOMErrorHandler
, i.e. the value of the"error-handler"
configuration parameter isnull
. 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 createdLSSerializer
contains a reference to the default error handler.
-
createLSInput
public LSInput createLSInput()
DOM Level 3 LS CR - Experimental. Create a new empty input source.- Specified by:
createLSInput
in interfaceDOMImplementationLS
- Returns:
- The newly created input object.
-
assignDocumentNumber
protected int assignDocumentNumber()
NON-DOM: increment document/doctype counter
-
assignDocTypeNumber
protected int assignDocTypeNumber()
NON-DOM: increment document/doctype counter
-
createLSOutput
public LSOutput createLSOutput()
DOM Level 3 LS CR - Experimental. Create a new empty output destination object whereLSOutput.characterStream
,LSOutput.byteStream
,LSOutput.systemId
,LSOutput.encoding
are null.- Specified by:
createLSOutput
in interfaceDOMImplementationLS
- Returns:
- The newly created output object.
-
-