public final class DOMImplementationImpl extends Object implements DOMImplementation
Some of the fields may have package visibility, so other classes belonging to the DOM implementation can easily access them while maintaining the DOM tree structure.
Modifier and Type | Method and Description |
---|---|
Document |
createDocument(String namespaceURI,
String qualifiedName,
DocumentType doctype)
Creates a DOM Document object of the specified type with its document
element.
|
DocumentType |
createDocumentType(String qualifiedName,
String publicId,
String systemId)
Creates an empty
DocumentType node. |
Object |
getFeature(String feature,
String version)
This method returns a specialized object which implements the
specialized APIs of the specified feature and version, as specified
in .
|
static DOMImplementationImpl |
getInstance()
Requests the singleton instance of the class.
|
boolean |
hasFeature(String feature,
String version)
Test if the DOM implementation implements a specific feature and
version, as specified in .
|
public Document createDocument(String namespaceURI, String qualifiedName, DocumentType doctype) throws DOMException
DOMImplementation
DocumentType
given to create
the document, the implementation may instantiate specialized
Document
objects that support additional features than
the "Core", such as "HTML" [DOM Level 2 HTML]
. On the other hand, setting the DocumentType
after the
document was created makes this very unlikely to happen.
Alternatively, specialized Document
creation methods,
such as createHTMLDocument
[DOM Level 2 HTML]
, can be used to obtain specific types of Document
objects.createDocument
in interface DOMImplementation
namespaceURI
- The namespace URI of the document element to
create or null
.qualifiedName
- The qualified name of the document element to be
created or null
.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.Document
object with its document element.
If the NamespaceURI
, qualifiedName
, and
doctype
are null
, the returned
Document
is empty with no document element.DOMException
- INVALID_CHARACTER_ERR: Raised if the specified qualified name is not
an XML name according to [XML 1.0].
qualifiedName
is
malformed, if the qualifiedName
has a prefix and the
namespaceURI
is null
, or if the
qualifiedName
is null
and the
namespaceURI
is different from null
, or
if the qualifiedName
has a prefix that is "xml" and
the namespaceURI
is different from "
http://www.w3.org/XML/1998/namespace" [XML Namespaces]
, or if the DOM implementation does not support the
"XML"
feature but a non-null namespace URI was
provided, since namespaces were defined by XML.
doctype
has already
been used with a different document or was created from a different
implementation.
public DocumentType createDocumentType(String qualifiedName, String publicId, String systemId) throws DOMException
DOMImplementation
DocumentType
node. Entity declarations
and notations are not made available. Entity reference expansions and
default attribute additions do not occur..createDocumentType
in interface DOMImplementation
qualifiedName
- The qualified name of the document type to be
created.publicId
- The external subset public identifier.systemId
- The external subset system identifier.DocumentType
node with
Node.ownerDocument
set to null
.DOMException
- INVALID_CHARACTER_ERR: Raised if the specified qualified name is not
an XML name according to [XML 1.0].
qualifiedName
is
malformed.
public boolean hasFeature(String feature, String version)
DOMImplementation
hasFeature
in interface DOMImplementation
feature
- The name of the feature to test.version
- This is the version number of the feature to test.true
if the feature is implemented in the
specified version, false
otherwise.public static DOMImplementationImpl getInstance()
public Object getFeature(String feature, String version)
DOMImplementation
DOMImplementation
interface.getFeature
in interface DOMImplementation
feature
- The name of the feature requested. Note that any plus
sign "+" prepended to the name of the feature will be ignored since
it is not significant in the context of this method.version
- This is the version number of the feature to test.null
if
there is no object which implements interfaces associated with that
feature. If the DOMObject
returned by this method
implements the DOMImplementation
interface, it must
delegate to the primary core DOMImplementation
and not
return results inconsistent with the primary core
DOMImplementation
such as hasFeature
,
getFeature
, etc.