DOMImplementation Class Referenceabstract

The `DOMImplementation` interface provides a number of methods for performing operations that are independent of any particular instance of the document object model. More...

Inheritance diagram for DOMImplementation:

## Public Member Functions

Destructor
virtual | ~DOMImplementation ()
| Destructor. More...
Functions introduced in DOM Level 1
virtual bool | hasFeature (const XMLCh *feature, const XMLCh *version) const =0
| Test if the DOM implementation implements a specific feature. More...
Functions introduced in DOM Level 2
virtual DOMDocumentType * | createDocumentType (const XMLCh *qualifiedName, const XMLCh *publicId, const XMLCh *systemId)=0
| Creates an empty `DOMDocumentType` node. More...
virtual DOMDocument * | createDocument (const XMLCh *namespaceURI, const XMLCh *qualifiedName, DOMDocumentType *doctype, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
| Creates a DOMDocument object of the specified type with its document element. More...
Functions introduced in DOM Level 3
virtual void * | getFeature (const XMLCh *feature, const XMLCh *version) const =0
| This method returns a specialized object which implements the specialized APIs of the specified feature and version, as specified in DOM Features. More...
Public Member Functions inherited from DOMImplementationLS
virtual | ~DOMImplementationLS ()
| Destructor. More...
virtual DOMLSParser * | createLSParser (const DOMImplementationLSMode mode, const XMLCh *const schemaType, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager, XMLGrammarPool *const gramPool=0)=0
| Create a new DOMLSParser. More...
virtual DOMLSSerializer * | createLSSerializer (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
| Create a new DOMLSSerializer. More...
virtual DOMLSInput * | createLSInput (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
| Create a new "empty" DOMLSInput. More...
virtual DOMLSOutput * | createLSOutput (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
| Create a new "empty" LSOutput. More...

## Protected Member Functions

Hidden constructors
| DOMImplementation ()
Protected Member Functions inherited from DOMImplementationLS
| DOMImplementationLS ()

## Non-standard extension

virtual DOMDocument * | createDocument (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
| Non-standard extension. More...
static DOMImplementation * | getImplementation ()
| Non-standard extension. More...
static bool | loadDOMExceptionMsg (const short msgToLoad, XMLCh *const toFill, const XMLSize_t maxChars)
| Non-standard extension. More...

## Additional Inherited Members

Public Types inherited from DOMImplementationLS
enum | DOMImplementationLSMode { MODE_SYNCHRONOUS = 1, MODE_ASYNCHRONOUS = 2 }
| Create a synchronous or an asynchronous `DOMLSParser`. More...

## Detailed Description

The `DOMImplementation` interface provides a number of methods for performing operations that are independent of any particular instance of the document object model.

## Constructor & Destructor Documentation

## DOMImplementation()

DOMImplementation::DOMImplementation | ( |  | ) |

protected

## ~DOMImplementation()

virtual DOMImplementation::~DOMImplementation | ( |  | ) |

virtual

Destructor.

References XMLPlatformUtils::fgMemoryManager, and XERCES_CPP_NAMESPACE_END.

## Member Function Documentation

## createDocument() [1/2]

virtual DOMDocument* DOMImplementation::createDocument | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | qualifiedName,
|  | DOMDocumentType * | doctype,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  |

pure virtual

Creates a DOMDocument object of the specified type with its document element.

Parameters

  namespaceURI | The namespace URI of the document element to create.
  qualifiedName | The qualified name of the document element to be created.
  doctype | The type of document to be created or `null`. When `doctype` is not `null`, its `ownerDocument` attribute is set to the document being created.
  manager | Pointer to the memory manager to be used to allocate objects.

Returns
  A new `DOMDocument` object.

Exceptions

  DOMException

  INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
  NAMESPACE_ERR: Raised if the `qualifiedName` is malformed, if the `qualifiedName` has a prefix and the `namespaceURI` is `null`, or if the `qualifiedName` has a prefix that is "xml" and the `namespaceURI` is different from " http://www.w3.org/XML/1998/namespace" , 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 if `doctype` has already been used with a different document or was created from a different implementation.
  NOT_SUPPORTED_ERR: May be raised by DOM implementations which do not support the "XML" feature, if they choose not to support this method. Other features introduced in the future, by the DOM WG or in extensions defined by other groups, may also demand support for this method; please consult the definition of the feature to see if it requires this method.

Since
  DOM Level 2

## createDocument() [2/2]

virtual DOMDocument* DOMImplementation::createDocument | ( | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager` | ) |

pure virtual

Non-standard extension.

Create a completely empty document that has neither a root element or a doctype node.

## createDocumentType()

virtual DOMDocumentType* DOMImplementation::createDocumentType | ( | const XMLCh * | qualifiedName,
|  | const XMLCh * | publicId,
|  | const XMLCh * | systemId
| ) |  |

pure virtual

Creates an empty `DOMDocumentType` node.

Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur. It is expected that a future version of the DOM will provide a way for populating a `DOMDocumentType`.

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 `DOMDocumentType` node with `ownerDocument` set to `null`.

Exceptions

  DOMException

  INVALID_CHARACTER_ERR: Raised if the specified qualified name contains an illegal character.
  NAMESPACE_ERR: Raised if the `qualifiedName` is malformed.
  NOT_SUPPORTED_ERR: May be raised by DOM implementations which do not support the `"XML"` feature, if they choose not to support this method. Other features introduced in the future, by the DOM WG or in extensions defined by other groups, may also demand support for this method; please consult the definition of the feature to see if it requires this method.

Since
  DOM Level 2

## getFeature()

virtual void* DOMImplementation::getFeature | ( | const XMLCh * | feature,
|  | const XMLCh * | version
| ) |  | const

pure virtual

This method returns a specialized object which implements the specialized APIs of the specified feature and version, as specified in DOM Features.

This method also allow the implementation to provide specialized objects which do not support the `DOMImplementation` interface.

Parameters

  feature | The name of the feature requested (case-insensitive). 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 null if there is no object which implements interfaces associated with that feature.

Since
  DOM Level 3

## getImplementation()

static DOMImplementation* DOMImplementation::getImplementation | ( |  | ) |

static

Non-standard extension.

Factory method for getting a DOMImplementation object. The DOM implementation retains ownership of the returned object. Application code should NOT delete it.

## hasFeature()

virtual bool DOMImplementation::hasFeature | ( | const XMLCh * | feature,
|  | const XMLCh * | version
| ) |  | const

pure virtual

Test if the DOM implementation implements a specific feature.

Parameters

  feature | The name of the feature to test (case-insensitive). The values used by DOM features are defined throughout the DOM Level 2 specifications and listed in the section. The name must be an XML name. To avoid possible conflicts, as a convention, names referring to features defined outside the DOM specification should be made unique.
  version | This is the version number of the feature to test. In Level 2, the string can be either "2.0" or "1.0". If the version is not specified, supporting any version of the feature causes the method to return `true`.

Returns
  `true` if the feature is implemented in the specified version, `false` otherwise.

Since
  DOM Level 1

## loadDOMExceptionMsg()

static bool DOMImplementation::loadDOMExceptionMsg | ( | const short | msgToLoad,
|  | XMLCh *const | toFill,
|  | const XMLSize_t | maxChars
| ) |  |

static

Non-standard extension.

Load the default error text message for DOMException.

Parameters

  msgToLoad | The DOM ExceptionCode id to be processed
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.

Returns
  `true` if the message is successfully loaded

The documentation for this class was generated from the following file:

- DOMImplementation.hpp