Package org.apache.harmony.xml.dom
Class DOMImplementationImpl
java.lang.Object
org.apache.harmony.xml.dom.DOMImplementationImpl
- All Implemented Interfaces:
DOMImplementation
public final class DOMImplementationImpl extends Object implements DOMImplementation
Provides a straightforward implementation of the corresponding W3C DOM
interface. The class is used internally only, thus only notable members that
are not in the original interface are documented (the W3C docs are quite
extensive). Hope that's ok.
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.
-
Method Summary
Modifier and Type Method Description DocumentcreateDocument(String namespaceURI, String qualifiedName, DocumentType doctype)Creates a DOM Document object of the specified type with its document element.DocumentTypecreateDocumentType(String qualifiedName, String publicId, String systemId)Creates an emptyDocumentTypenode.ObjectgetFeature(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 DOMImplementationImplgetInstance()Requests the singleton instance of the class.booleanhasFeature(String feature, String version)Test if the DOM implementation implements a specific feature and version, as specified in .
-
Method Details
-
createDocument
public Document createDocument(String namespaceURI, String qualifiedName, DocumentType doctype) throws DOMExceptionDescription copied from interface:DOMImplementationCreates a DOM Document object of the specified type with its document element.
Note that based on theDocumentTypegiven to create the document, the implementation may instantiate specializedDocumentobjects that support additional features than the "Core", such as "HTML" [DOM Level 2 HTML] . On the other hand, setting theDocumentTypeafter the document was created makes this very unlikely to happen. Alternatively, specializedDocumentcreation methods, such ascreateHTMLDocument[DOM Level 2 HTML] , can be used to obtain specific types ofDocumentobjects.- Specified by:
createDocumentin interfaceDOMImplementation- Parameters:
namespaceURI- The namespace URI of the document element to create ornull.qualifiedName- The qualified name of the document element to be created ornull.doctype- The type of document to be created ornull. Whendoctypeis notnull, itsNode.ownerDocumentattribute is set to the document being created.- Returns:
- A new
Documentobject with its document element. If theNamespaceURI,qualifiedName, anddoctypearenull, the returnedDocumentis empty with no document element. - Throws:
DOMException- INVALID_CHARACTER_ERR: Raised if the specified qualified name is not an XML name according to [XML 1.0].
NAMESPACE_ERR: Raised if thequalifiedNameis malformed, if thequalifiedNamehas a prefix and thenamespaceURIisnull, or if thequalifiedNameisnulland thenamespaceURIis different fromnull, or if thequalifiedNamehas a prefix that is "xml" and thenamespaceURIis 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.
WRONG_DOCUMENT_ERR: Raised ifdoctypehas already been used with a different document or was created from a different implementation.
NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]).
-
createDocumentType
public DocumentType createDocumentType(String qualifiedName, String publicId, String systemId) throws DOMExceptionDescription copied from interface:DOMImplementationCreates an emptyDocumentTypenode. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur..- Specified by:
createDocumentTypein interfaceDOMImplementation- Parameters:
qualifiedName- The qualified name of the document type to be created.publicId- The external subset public identifier.systemId- The external subset system identifier.- Returns:
- A new
DocumentTypenode withNode.ownerDocumentset tonull. - Throws:
DOMException- INVALID_CHARACTER_ERR: Raised if the specified qualified name is not an XML name according to [XML 1.0].
NAMESPACE_ERR: Raised if thequalifiedNameis malformed.
NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]).
-
hasFeature
Description copied from interface:DOMImplementationTest if the DOM implementation implements a specific feature and version, as specified in .- Specified by:
hasFeaturein interfaceDOMImplementation- Parameters:
feature- The name of the feature to test.version- This is the version number of the feature to test.- Returns:
trueif the feature is implemented in the specified version,falseotherwise.
-
getInstance
Requests the singleton instance of the class. Creates it first, if necessary.- Returns:
- The singleton Android DOMImplementationImpl instance.
-
getFeature
Description copied from interface:DOMImplementationThis method returns a specialized object which implements the specialized APIs of the specified feature and version, as specified in . The specialized object may also be obtained by using binding-specific casting methods but is not necessarily expected to, as discussed in . This method also allow the implementation to provide specialized objects which do not support theDOMImplementationinterface.- Specified by:
getFeaturein interfaceDOMImplementation- Parameters:
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.- Returns:
- Returns an object which implements the specialized APIs of
the specified feature and version, if any, or
nullif there is no object which implements interfaces associated with that feature. If theDOMObjectreturned by this method implements theDOMImplementationinterface, it must delegate to the primary coreDOMImplementationand not return results inconsistent with the primary coreDOMImplementationsuch ashasFeature,getFeature, etc.
-