DOMImplementationImplpublic class DOMImplementationImpl extends CoreDOMImplementationImpl implements DOMImplementationThe 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. |
Fields Summary |
---|
static DOMImplementationImpl | singletonDom implementation singleton. |
Methods Summary |
---|
public org.w3c.dom.Document | createDocument(java.lang.String namespaceURI, java.lang.String qualifiedName, org.w3c.dom.DocumentType doctype)Introduced in DOM Level 2.
Creates an XML Document object of the specified type with its document
element.
if(namespaceURI == null && qualifiedName == null && doctype == null){
//if namespaceURI, qualifiedName and doctype are null, returned document is empty with
//no document element
return new DocumentImpl();
}
else if (doctype != null && doctype.getOwnerDocument() != null) {
String msg = DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, "WRONG_DOCUMENT_ERR", null);
throw new DOMException(DOMException.WRONG_DOCUMENT_ERR, msg);
}
DocumentImpl doc = new DocumentImpl(doctype);
Element e = doc.createElementNS( namespaceURI, qualifiedName);
doc.appendChild(e);
return doc;
| public static org.w3c.dom.DOMImplementation | getDOMImplementation()NON-DOM: Obtain and return the single shared object
//
// Public methods
//
return singleton;
| public boolean | hasFeature(java.lang.String feature, java.lang.String version)Test if the DOM implementation supports a specific "feature" --
currently meaning language and level thereof.
boolean result = super.hasFeature(feature, version);
if (!result) {
boolean anyVersion = version == null || version.length() == 0;
if (feature.startsWith("+")) {
feature = feature.substring(1);
}
return (
(feature.equalsIgnoreCase("Events")
&& (anyVersion || version.equals("2.0")))
|| (feature.equalsIgnoreCase("MutationEvents")
&& (anyVersion || version.equals("2.0")))
|| (feature.equalsIgnoreCase("Traversal")
&& (anyVersion || version.equals("2.0")))
|| (feature.equalsIgnoreCase("Range")
&& (anyVersion || version.equals("2.0")))
|| (feature.equalsIgnoreCase("MutationEvents")
&& (anyVersion || version.equals("2.0"))));
}
return result;
|
|