interface DOMImplementation {

    // FIXME: This is missing "optional DocumentType? doctype = null" at the end.
    // FIXME: This should return XMLDocument instead of Document.
    [NewObject] Document createDocument(DOMString? namespace, [LegacyNullToEmptyString] DOMString qualifiedName);
    [NewObject] Document createHTMLDocument(optional DOMString title);
    [NewObject] DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId, DOMString systemId);

    boolean hasFeature();

};
