DOMEntity
declaration modeling has been left for a
* later Level of the DOM specification.
* The nodeName
attribute that is inherited from
* DOMNode
contains the name of the entity.
*
An XML processor may choose to completely expand entities before the
* structure model is passed to the DOM; in this case there will be no
* DOMEntityReference
nodes in the document tree.
*
XML does not mandate that a non-validating XML processor read and
* process entity declarations made in the external subset or declared in
* external parameter entities. This means that parsed entities declared in
* the external subset need not be expanded by some classes of applications,
* and that the replacement value of the entity may not be available. When
* the replacement value is available, the corresponding DOMEntity
* node's child list represents the structure of that replacement text.
* Otherwise, the child list is empty.
*
The DOM Level 2 does not support editing DOMEntity
nodes; if a
* user wants to make changes to the contents of an DOMEntity
,
* every related DOMEntityReference
node has to be replaced in the
* structure model by a clone of the DOMEntity
's contents, and
* then the desired changes must be made to each of those clones instead.
* DOMEntity
nodes and all their descendants are readonly.
*
An DOMEntity
node does not have any parent.If the entity
* contains an unbound namespace prefix, the namespaceURI
of
* the corresponding node in the DOMEntity
node subtree is
* null
. The same is true for DOMEntityReference
* nodes that refer to this entity, when they are created using the
* createEntityReference
method of the DOMDocument
* interface. The DOM Level 2 does not support any mechanism to resolve
* namespace prefixes.
*
See also the Document Object Model (DOM) Level 2 Core Specification.
*
* @since DOM Level 1
*/
class CDOM_EXPORT DOMEntity: public DOMNode {
protected:
// -----------------------------------------------------------------------
// Hidden constructors
// -----------------------------------------------------------------------
/** @name Hidden constructors */
//@{
DOMEntity() {};
//@}
private:
// -----------------------------------------------------------------------
// Unimplemented constructors and operators
// -----------------------------------------------------------------------
/** @name Unimplemented constructors and operators */
//@{
DOMEntity(const DOMEntity &);
DOMEntity & operator = (const DOMEntity &);
//@}
public:
// -----------------------------------------------------------------------
// All constructors are hidden, just the destructor is available
// -----------------------------------------------------------------------
/** @name Destructor */
//@{
/**
* Destructor
*
*/
virtual ~DOMEntity() {};
//@}
// -----------------------------------------------------------------------
// Virtual DOMEntity interface
// -----------------------------------------------------------------------
/** @name Functions introduced in DOM Level 1 */
//@{
// -----------------------------------------------------------------------
// Getter methods
// -----------------------------------------------------------------------
/**
* The public identifier associated with the entity, if specified.
*
* If the public identifier was not specified, this is null
.
*
* @since DOM Level 1
*/
virtual const XMLCh * getPublicId() const = 0;
/**
* The system identifier associated with the entity, if specified.
*
* If the system identifier was not specified, this is null
.
*
* @since DOM Level 1
*/
virtual const XMLCh * getSystemId() const = 0;
/**
* For unparsed entities, the name of the notation for the entity.
*
* For parsed entities, this is null
.
*
* @since DOM Level 1
*/
virtual const XMLCh * getNotationName() const = 0;
//@}
/** @name Functions introduced in DOM Level 3. */
//@{
/**
* An attribute specifying the actual encoding of this entity, when it is
* an external parsed entity. This is null
otherwise.
*
*
"Experimental - subject to change"
* * @since DOM Level 3 */ virtual const XMLCh* getActualEncoding() const = 0; /** * An attribute specifying the actual encoding of this entity, when it is * an external parsed entity. This isnull
otherwise.
*
* "Experimental - subject to change"
* * @since DOM Level 3 */ virtual void setActualEncoding(const XMLCh* actualEncoding) = 0; /** * An attribute specifying, as part of the text declaration, the encoding * of this entity, when it is an external parsed entity. This is *null
otherwise.
*
* "Experimental - subject to change"
* * @since DOM Level 3 */ virtual const XMLCh* getEncoding() const = 0; /** * An attribute specifying, as part of the text declaration, the encoding * of this entity, when it is an external parsed entity. This is *null
otherwise.
*
* "Experimental - subject to change"
* * @since DOM Level 3 */ virtual void setEncoding(const XMLCh* encoding) = 0; /** * An attribute specifying, as part of the text declaration, the version * number of this entity, when it is an external parsed entity. This is *null
otherwise.
*
* "Experimental - subject to change"
* * @since DOM Level 3 */ virtual const XMLCh* getVersion() const = 0; /** * An attribute specifying, as part of the text declaration, the version * number of this entity, when it is an external parsed entity. This is *null
otherwise.
*
* "Experimental - subject to change"
* * @since DOM Level 3 */ virtual void setVersion(const XMLCh* version) = 0; //@} }; XERCES_CPP_NAMESPACE_END #endif