Xerces-C++ 3.3.0
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...

#include <xercesc/dom/DOMImplementation.hpp>

Inheritance diagram for DOMImplementation:
DOMImplementationLS

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 DOMDocumentTypecreateDocumentType (const XMLCh *qualifiedName, const XMLCh *publicId, const XMLCh *systemId)=0
 Creates an empty DOMDocumentType node.
 
virtual DOMDocumentcreateDocument (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 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.
 
- Public Member Functions inherited from DOMImplementationLS
virtual ~DOMImplementationLS ()
 Destructor.
 
virtual DOMLSParsercreateLSParser (const DOMImplementationLSMode mode, const XMLCh *const schemaType, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager, XMLGrammarPool *const gramPool=0)=0
 Create a new DOMLSParser.
 
virtual DOMLSSerializercreateLSSerializer (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
 Create a new DOMLSSerializer.
 
virtual DOMLSInputcreateLSInput (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
 Create a new "empty" DOMLSInput.
 
virtual DOMLSOutputcreateLSOutput (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
 Create a new "empty" LSOutput.
 

Protected Member Functions

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

Non-standard extension

virtual DOMDocumentcreateDocument (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)=0
 Non-standard extension.
 
static DOMImplementationgetImplementation ()
 Non-standard extension.
 
static bool loadDOMExceptionMsg (const short msgToLoad, XMLCh *const toFill, const XMLSize_t maxChars)
 Non-standard extension.
 

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.

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
namespaceURIThe namespace URI of the document element to create.
qualifiedNameThe qualified name of the document element to be created.
doctypeThe type of document to be created or null. When doctype is not null, its ownerDocument attribute is set to the document being created.
managerPointer to the memory manager to be used to allocate objects.
Returns
A new DOMDocument object.
Exceptions
DOMExceptionINVALID_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
qualifiedNameThe qualified name of the document type to be created.
publicIdThe external subset public identifier.
systemIdThe external subset system identifier.
Returns
A new DOMDocumentType node with ownerDocument set to null.
Exceptions
DOMExceptionINVALID_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
featureThe 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.
versionThis 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
featureThe 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.
versionThis 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
msgToLoadThe DOM ExceptionCode id to be processed
toFillThe buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
maxCharsThe 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: