Class CoreDOMImplementationImpl

  • All Implemented Interfaces:
    DOMImplementation
    Direct Known Subclasses:
    DOMImplementationImpl

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

    • Constructor Detail

      • CoreDOMImplementationImpl

        public CoreDOMImplementationImpl()
    • Method Detail

      • 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 interface DOMImplementation
        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.htmlunit.cyberneko.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 interface DOMImplementation
        Parameters:
        qualifiedName - The qualified name of the document type to be created.
        publicID - The document type public identifier.
        systemID - The document type system identifier.
      • 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 interface DOMImplementation
        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.
      • assignDocumentNumber

        protected int assignDocumentNumber()
      • assignDocTypeNumber

        protected int assignDocTypeNumber()