| API Docs for SAX and DOM |

Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

# DOMImplementation Class Reference

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:

[legend]
List of all members.

## Non-standard extension

virtual DOMDocument * | createDocument (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
| Non-standard extension.
static DOMImplementation * | getImplementation ()
| Non-standard extension.
static bool | loadDOMExceptionMsg (const DOMException::ExceptionCode msgToLoad, XMLCh *const toFill, const unsigned int maxChars)
| Non-standard extension.
static bool | loadDOMExceptionMsg (const DOMRangeException::RangeExceptionCode msgToLoad, XMLCh *const toFill, const unsigned int maxChars)
| Non-standard extension.

## Public Member Functions

Destructor
virtual | ~DOMImplementation ()
| Destructor.
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.
Functions introduced in DOM Level 2
virtual DOMDocumentType * | createDocumentType (const XMLCh *qualifiedName, const XMLCh *publicId, const XMLCh *systemId)=0
| Creates an empty `DOMDocumentType` node.
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.
Functions introduced in DOM Level 3
virtual DOMImplementation * | getInterface (const XMLCh *feature)=0
| This method makes available a `DOMImplementation`'s specialized interface (see ).

## Protected Member Functions

Hidden constructors
| DOMImplementation ()

## 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 | ( |  | ) | `[protected]`

virtual DOMImplementation::~DOMImplementation | ( |  | ) | `[virtual]`

| Destructor.

## Member Function Documentation

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.

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

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

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.

virtual DOMImplementation* DOMImplementation::getInterface | ( | const XMLCh * | feature | ) | `[pure virtual]`

This method makes available a `DOMImplementation`'s specialized interface (see ).

"Experimental - subject to change"

Parameters:

  | feature | The name of the feature requested (case-insensitive).

Returns:
  Returns an alternate `DOMImplementation` which implements the specialized APIs of the specified feature, if any, or `null` if there is no alternate `DOMImplementation` object which implements interfaces associated with that feature. Any alternate `DOMImplementation` returned by this method must delegate to the primary core `DOMImplementation` and not return results inconsistent with the primary `DOMImplementation`

Since:
  DOM Level 3

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

static bool DOMImplementation::loadDOMExceptionMsg | ( | const DOMRangeException::RangeExceptionCode | msgToLoad,
|  | XMLCh *const | toFill,
|  | const unsigned int | maxChars
| ) | `[static]`

Non-standard extension.

Load the default error text message for DOMRangeException.

Parameters:

  | msgToLoad | The DOM RangeExceptionCode 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

static bool DOMImplementation::loadDOMExceptionMsg | ( | const DOMException::ExceptionCode | msgToLoad,
|  | XMLCh *const | toFill,
|  | const unsigned int | 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

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.