public class CoreDOMImplementationImpl extends Object implements DOMImplementation, DOMImplementationLS
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.
MODE_ASYNCHRONOUS, MODE_SYNCHRONOUS
Constructor and Description |
---|
CoreDOMImplementationImpl() |
Modifier and Type | Method and Description |
---|---|
protected int |
assignDocTypeNumber()
NON-DOM: increment document/doctype counter
|
protected int |
assignDocumentNumber()
NON-DOM: increment document/doctype counter
|
Document |
createDocument(String namespaceURI,
String qualifiedName,
DocumentType doctype)
Introduced in DOM Level 2.
|
DocumentType |
createDocumentType(String qualifiedName,
String publicID,
String systemID)
Introduced in DOM Level 2.
|
LSInput |
createLSInput()
DOM Level 3 LS CR - Experimental.
|
LSOutput |
createLSOutput()
DOM Level 3 LS CR - Experimental.
|
LSParser |
createLSParser(short mode,
String schemaType)
DOM Level 3 LS CR - Experimental.
|
LSSerializer |
createLSSerializer()
DOM Level 3 LS CR - Experimental.
|
static DOMImplementation |
getDOMImplementation()
NON-DOM: Obtain and return the single shared object
|
Object |
getFeature(String feature,
String version)
DOM Level 3 WD - Experimental.
|
boolean |
hasFeature(String feature,
String version)
Test if the DOM implementation supports a specific "feature" --
currently meaning language and level thereof.
|
public static DOMImplementation getDOMImplementation()
public boolean hasFeature(String feature, String version)
hasFeature
in interface DOMImplementation
feature
- The package name of the feature to test.
In Level 1, supported values are "HTML" and "XML" (case-insensitive).
At this writing, org.apache.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"public DocumentType createDocumentType(String qualifiedName, String publicID, String systemID)
Creates an empty DocumentType node.
createDocumentType
in interface DOMImplementation
qualifiedName
- The qualified name of the document type to be created.publicID
- The document type public identifier.systemID
- The document type system identifier.public Document createDocument(String namespaceURI, String qualifiedName, DocumentType doctype) throws DOMException
Creates an XML Document object of the specified type with its document element.
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 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.
DOMException
- WRONG_DOCUMENT_ERR: Raised if doctype has
already been used with a different document.public Object getFeature(String feature, String version)
getFeature
in interface DOMImplementation
public LSParser createLSParser(short mode, String schemaType) throws DOMException
LSParser
. The newly constructed parser may
then be configured by means of its DOMConfiguration
object, and used to parse documents by means of its parse
method.createLSParser
in interface DOMImplementationLS
mode
- The mode
argument is either
MODE_SYNCHRONOUS
or MODE_ASYNCHRONOUS
, if
mode
is MODE_SYNCHRONOUS
then the
LSParser
that is created will operate in synchronous
mode, if it's MODE_ASYNCHRONOUS
then the
LSParser
that is created will operate in asynchronous
mode.schemaType
- An absolute URI representing the type of the schema
language used during the load of a Document
using the
newly created LSParser
. Note that no lexical checking
is done on the absolute URI. In order to create a
LSParser
for any kind of schema types (i.e. the
LSParser will be free to use any schema found), use the value
null
.
Note: For W3C XML Schema [XML Schema Part 1]
, applications must use the value
"http://www.w3.org/2001/XMLSchema"
. For XML DTD [XML 1.0],
applications must use the value
"http://www.w3.org/TR/REC-xml"
. Other Schema languages
are outside the scope of the W3C and therefore should recommend an
absolute URI in order to use this method.
LSParser
object. This
LSParser
is either synchronous or asynchronous
depending on the value of the mode
argument.
Note: By default, the newly created LSParser
does not contain a DOMErrorHandler
, i.e. the value of
the "
error-handler" configuration parameter is null
. However, implementations
may provide a default error handler at creation time. In that case,
the initial value of the "error-handler"
configuration
parameter on the new created LSParser
contains a
reference to the default error handler.
DOMException
- NOT_SUPPORTED_ERR: Raised if the requested mode or schema type is
not supported.public LSSerializer createLSSerializer()
LSSerializer
object.createLSSerializer
in interface DOMImplementationLS
LSSerializer
object.
Note: By default, the newly created
LSSerializer
has no DOMErrorHandler
,
i.e. the value of the "error-handler"
configuration
parameter is null
. However, implementations may
provide a default error handler at creation time. In that case, the
initial value of the "error-handler"
configuration
parameter on the new created LSSerializer
contains a
reference to the default error handler.
public LSInput createLSInput()
createLSInput
in interface DOMImplementationLS
protected int assignDocumentNumber()
protected int assignDocTypeNumber()
public LSOutput createLSOutput()
LSOutput.characterStream
,
LSOutput.byteStream
, LSOutput.systemId
,
LSOutput.encoding
are null.createLSOutput
in interface DOMImplementationLS
Copyright © 2018 JBoss by Red Hat. All rights reserved.