CL_DomDocumentType Class Reference
[clanCore XML]

DOM Document Type class. More...

#include <dom_document_type.h>

Inheritance diagram for CL_DomDocumentType:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Construction

 CL_DomDocumentType ()
 Constructs a DOM Document Type handle.
 CL_DomDocumentType (const CL_DomString &qualified_name, const CL_DomString &public_id, const CL_DomString &system_id)
 CL_DomDocumentType (CL_DomDocument &doc)
 Constructs a DomDocumentType.
 CL_DomDocumentType (const CL_SharedPtr< CL_DomNode_Generic > &impl)
 Constructs a DomDocumentType.
 ~CL_DomDocumentType ()
Attributes

CL_DomString get_name () const
 The name of DTD; i.e., the name immediately following the DOCTYPE keyword.
CL_DomNamedNodeMap get_entities () const
 A NamedNodeMap containing the general entities, both external and internal, declared in the DTD.
CL_DomNamedNodeMap get_notations () const
 A NamedNodeMap containing the notations declared in the DTD.
CL_DomString get_public_id () const
 The public identifier of the external subset.
CL_DomString get_system_id () const
 The system identifier of the external subset.
CL_DomString get_internal_subset () const
 The internal subset as a string.
Operations

bool operator== (const CL_DomNode &other) const
 Compare operator.
bool operator!= (const CL_DomNode &other) const
 Compare operator.
void normalize ()
 Merges any adjacent Text nodes.
CL_DomNode insert_before (CL_DomNode &new_child, CL_DomNode &ref_child)
 Inserts the node new_child before the existing child node ref_child.
CL_DomNode replace_child (CL_DomNode &new_child, CL_DomNode &old_child)
 Replaces the child node old_child with new_child in the list of children.
CL_DomNode remove_child (CL_DomNode &old_child)
 Removes the child node indicated by old_child from the list of children, and returns it.
CL_DomNode append_child (CL_DomNode new_child)
 Adds the node new_child to the end of the list of children of this node.
CL_DomNode clone_node (bool deep) const
 Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes.
CL_DomElement to_element () const
 Returns the Element interface to this node.
CL_DomAttr to_attr () const
 Returns the Attribute interface to this node.
CL_DomText to_text () const
 Returns the Text interface to this node.
CL_DomCDATASection to_cdata_section () const
 Returns the CDATA Section interface to this node.
CL_DomEntityReference to_entity_reference () const
 Returns the Entity Reference interface to this node.
CL_DomEntity to_entity () const
 Returns the Entity interface to this node.
CL_DomProcessingInstruction to_processing_instruction () const
 Returns the Processing Instruction interface to this node.
CL_DomComment to_comment () const
 Returns the Comment interface to this node.
CL_DomDocument to_document () const
 Returns the Document interface to this node.
CL_DomDocumentType to_document_type () const
 Returns the Document Type interface to this node.
CL_DomDocumentFragment to_document_fragment () const
 Returns the Document Fragment interface to this node.
CL_DomNotation to_notation () const
 Returns the Notation interface to this node.
CL_DomNode named_item (const CL_DomString &name) const
 Returns the first child node with the specified node name.
CL_DomNode named_item_ns (const CL_DomString &namespace_uri, const CL_DomString &local_name) const
 Retrieves the first child node with the specified namespace URI and local name.
CL_DomString find_namespace_uri (const CL_DomString &qualified_name) const
 Searches the node tree upwards for the namespace URI of the given qualified name.
CL_DomString find_prefix (const CL_DomString &namespace_uri) const
 Searches the node tree upwards for the prefix name for the namespace URI.
std::vector< CL_DomNodeselect_nodes (const CL_DomString &xpath_expression) const
 Returns all the nodes matching the specified xpath expression using this node as the context node.
CL_DomNode select_node (const CL_DomString &xpath_expression) const
 Returns the first node matching the specified xpath expression using this node as the context node.
CL_String select_string (const CL_DomString &xpath_expression) const
 Returns the first node value matching the specified xpath expression using this node as the context node.
int select_int (const CL_DomString &xpath_expression) const
 Returns the first node value (as integer) matching the specified xpath expression using this node as the context node.
float select_float (const CL_DomString &xpath_expression) const
 Returns the first node value (as float) matching the specified xpath expression using this node as the context node.
bool select_bool (const CL_DomString &xpath_expression) const
 Returns the first node value (as boolean) matching the specified xpath expression using this node as the context node.

Attributes



CL_DomString get_node_name () const
 Returns the node name.
CL_DomString get_namespace_uri () const
 Returns the namespace URI of this node.
CL_DomString get_prefix () const
 Returns the namespace prefix of the node.
void set_prefix (const CL_DomString &prefix)
 Sets the namespace prefix of the node.
CL_DomString get_local_name () const
 Returns local part of the qualified name of this node.
CL_DomString get_node_value () const
 Returns the node value.
void set_node_value (const CL_DomString &value)
 Sets the node value.
unsigned short get_node_type () const
 Returns the node type (one of those in the NodeType enum).
CL_DomNode get_parent_node () const
 Returns the parent of this node.
CL_DomNodeList get_child_nodes () const
 Returns a NodeList that contains all children of this node.
CL_DomNode get_first_child () const
 The first child of this node.
CL_DomNode get_last_child () const
 The last child of this node.
CL_DomNode get_previous_sibling () const
 The node immediately preceding this node.
CL_DomNode get_next_sibling () const
 The node immediately following this node.
CL_DomNamedNodeMap get_attributes () const
 A NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise.
CL_DomDocument get_owner_document () const
 The Document object associated with this node.
bool is_null () const
 Returns true if this is a null node.
bool is_element () const
 Returns true if this is an element node.
bool is_attr () const
 Returns true if this is an attribute node.
bool is_text () const
 Returns true if this is a text node.
bool is_cdata_section () const
 Returns true if this is a CDATA section node.
bool is_entity_reference () const
 Returns true if this is an entity reference node.
bool is_entity () const
 Returns true if this is an entity node.
bool is_processing_instruction () const
 Returns true if this is a processing instruction node.
bool is_comment () const
 Returns true if this is a comment node.
bool is_document () const
 Returns true if this is a document node.
bool is_document_type () const
 Returns true if this is a document type node.
bool is_document_fragment () const
 Returns true if this is a document fragment node.
bool is_notation () const
 Returns true if this is a notation node.
bool is_supported (const CL_DomString &feature, const CL_DomString &version) const
 Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.
bool has_attributes () const
 Returns true if this node (if its an element) has any attributes.
bool has_child_nodes () const
 Returns true if this node has any children.
enum  NodeType {
  NULL_NODE = 0, ELEMENT_NODE = 1, ATTRIBUTE_NODE = 2, TEXT_NODE = 3,
  CDATA_SECTION_NODE = 4, ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = 7,
  COMMENT_NODE = 8, DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = 11,
  NOTATION_NODE = 12
}
 

An integer indicating which type of node this is.

More...

Implementation



CL_SharedPtr< CL_DomNode_Generic > impl
class CL_DomDocument
class CL_DomNamedNodeMap

Detailed Description

DOM Document Type class.

Each Document has a doctype attribute whose value is either null or a DocumentType object. The DocumentType interface in the DOM Level 1 Core provides an interface to the list of entities that are defined for the document, and little else because the effect of namespaces and the various XML scheme efforts on DTD representation are not clearly understood as of this writing.

The DOM Level 1 doesn't support editing DocumentType nodes.


Member Enumeration Documentation

enum CL_DomNode::NodeType [inherited]

An integer indicating which type of node this is.

Enumerator:
NULL_NODE 
ELEMENT_NODE 
ATTRIBUTE_NODE 
TEXT_NODE 
CDATA_SECTION_NODE 
ENTITY_REFERENCE_NODE 
ENTITY_NODE 
PROCESSING_INSTRUCTION_NODE 
COMMENT_NODE 
DOCUMENT_NODE 
DOCUMENT_TYPE_NODE 
DOCUMENT_FRAGMENT_NODE 
NOTATION_NODE 

Constructor & Destructor Documentation

CL_DomDocumentType::CL_DomDocumentType (  ) 

Constructs a DOM Document Type handle.

CL_DomDocumentType::CL_DomDocumentType ( const CL_DomString qualified_name,
const CL_DomString public_id,
const CL_DomString system_id 
)
CL_DomDocumentType::CL_DomDocumentType ( CL_DomDocument doc  ) 

Constructs a DomDocumentType.

Parameters:
doc = Dom Document
CL_DomDocumentType::CL_DomDocumentType ( const CL_SharedPtr< CL_DomNode_Generic > &  impl  ) 

Constructs a DomDocumentType.

Parameters:
impl = Shared Ptr
CL_DomDocumentType::~CL_DomDocumentType (  ) 

Member Function Documentation

CL_DomNode CL_DomNode::append_child ( CL_DomNode  new_child  )  [inherited]

Adds the node new_child to the end of the list of children of this node.

If the new_child is already in the tree, it is first removed.

CL_DomNode CL_DomNode::clone_node ( bool  deep  )  const [inherited]

Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes.

The duplicate node has no parent.

Cloning an Element copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a child Text node. Cloning any other type of node simply returns a copy of this node.

Parameters:
deep If true, recursively clone the subtree under the specified node; if false, clone only the node itself (and its attributes, if it is an Element). retval: The duplicate node.
CL_DomString CL_DomNode::find_namespace_uri ( const CL_DomString qualified_name  )  const [inherited]

Searches the node tree upwards for the namespace URI of the given qualified name.

CL_DomString CL_DomNode::find_prefix ( const CL_DomString namespace_uri  )  const [inherited]

Searches the node tree upwards for the prefix name for the namespace URI.

CL_DomNamedNodeMap CL_DomNode::get_attributes (  )  const [inherited]

A NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise.

CL_DomNodeList CL_DomNode::get_child_nodes (  )  const [inherited]

Returns a NodeList that contains all children of this node.

If there are no children, this is a NodeList containing no nodes. The content of the returned NodeList is "live" in the sense that, for instance, changes to the children of the node object that it was created from are immediately reflected in the nodes returned by the NodeList accessors; it is not a static snapshot of the content of the node. This is true for every NodeList, including the ones returned by the getElementsByTagName method.

CL_DomNamedNodeMap CL_DomDocumentType::get_entities (  )  const

A NamedNodeMap containing the general entities, both external and internal, declared in the DTD.

CL_DomNode CL_DomNode::get_first_child (  )  const [inherited]

The first child of this node.

If there is no such node, this returns a null node.

CL_DomString CL_DomDocumentType::get_internal_subset (  )  const

The internal subset as a string.

Note: The actual content returned depends on how much information is available to the implementation. This may vary depending on various parameters, including the XML processor used to build the document.

CL_DomNode CL_DomNode::get_last_child (  )  const [inherited]

The last child of this node.

If there is no such node, this returns a null node.

CL_DomString CL_DomNode::get_local_name (  )  const [inherited]

Returns local part of the qualified name of this node.

For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as create_element from the Document interface, this is always an empty string.

CL_DomString CL_DomDocumentType::get_name (  )  const

The name of DTD; i.e., the name immediately following the DOCTYPE keyword.

CL_DomString CL_DomNode::get_namespace_uri (  )  const [inherited]

Returns the namespace URI of this node.

CL_DomNode CL_DomNode::get_next_sibling (  )  const [inherited]

The node immediately following this node.

If there is no such node, this returns a null node.

CL_DomString CL_DomNode::get_node_name (  )  const [inherited]

Returns the node name.

The return value vary according to the node type as follows:

  • Element: name of tag
  • Attr: name of attribute
  • Text: "#text"
  • CDataSection: "#cdata-section"
  • EntityReference: name of entity referenced
  • Entity: entity name
  • ProcessingInstruction: target
  • Comment: "#comment"
  • Document: "#document"
  • DocumentType: document type name
  • DocumentFragment: "#document-fragment"
  • Notation: notation name
unsigned short CL_DomNode::get_node_type (  )  const [inherited]

Returns the node type (one of those in the NodeType enum).

CL_DomString CL_DomNode::get_node_value (  )  const [inherited]

Returns the node value.

The return value vary according to the node type as follows:

  • Element: null
  • Attr: value of attribute
  • Text: content of text node
  • CDataSection: content of CDATA Section
  • EntityReference: null
  • Entity: null
  • ProcessingInstruction: entire content excluding the target
  • Comment: content of the comment
  • Document: null
  • DocumentType: null
  • DocumentFragment: null
  • Notation: null
CL_DomNamedNodeMap CL_DomDocumentType::get_notations (  )  const

A NamedNodeMap containing the notations declared in the DTD.

CL_DomDocument CL_DomNode::get_owner_document (  )  const [inherited]

The Document object associated with this node.

This is also the Document object used to create new nodes. When this node is a Document this is null.

CL_DomNode CL_DomNode::get_parent_node (  )  const [inherited]

Returns the parent of this node.

All nodes, except Document, DocumentFragment, and Attr may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, this is null.

CL_DomString CL_DomNode::get_prefix (  )  const [inherited]

Returns the namespace prefix of the node.

For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as create_element from the Document interface, this is always an empty string.

CL_DomNode CL_DomNode::get_previous_sibling (  )  const [inherited]

The node immediately preceding this node.

If there is no such node, this returns a null node.

CL_DomString CL_DomDocumentType::get_public_id (  )  const

The public identifier of the external subset.

CL_DomString CL_DomDocumentType::get_system_id (  )  const

The system identifier of the external subset.

bool CL_DomNode::has_attributes (  )  const [inherited]

Returns true if this node (if its an element) has any attributes.

bool CL_DomNode::has_child_nodes (  )  const [inherited]

Returns true if this node has any children.

CL_DomNode CL_DomNode::insert_before ( CL_DomNode new_child,
CL_DomNode ref_child 
) [inherited]

Inserts the node new_child before the existing child node ref_child.

If refChild is a null node, inserts new_child at the end of the list of children.

If newChild is a DocumentFragment object, all of its children are inserted, in the same order, before ref_child. If the new_child is already in the tree, it is first removed.

Parameters:
new_child The node to insert.
ref_child The reference node, i.e., the node before which the new node must be inserted. retval: The node being inserted.
bool CL_DomNode::is_attr (  )  const [inherited]

Returns true if this is an attribute node.

bool CL_DomNode::is_cdata_section (  )  const [inherited]

Returns true if this is a CDATA section node.

bool CL_DomNode::is_comment (  )  const [inherited]

Returns true if this is a comment node.

bool CL_DomNode::is_document (  )  const [inherited]

Returns true if this is a document node.

bool CL_DomNode::is_document_fragment (  )  const [inherited]

Returns true if this is a document fragment node.

bool CL_DomNode::is_document_type (  )  const [inherited]

Returns true if this is a document type node.

bool CL_DomNode::is_element (  )  const [inherited]

Returns true if this is an element node.

bool CL_DomNode::is_entity (  )  const [inherited]

Returns true if this is an entity node.

bool CL_DomNode::is_entity_reference (  )  const [inherited]

Returns true if this is an entity reference node.

bool CL_DomNode::is_notation (  )  const [inherited]

Returns true if this is a notation node.

bool CL_DomNode::is_null (  )  const [inherited]

Returns true if this is a null node.

bool CL_DomNode::is_processing_instruction (  )  const [inherited]

Returns true if this is a processing instruction node.

bool CL_DomNode::is_supported ( const CL_DomString feature,
const CL_DomString version 
) const [inherited]

Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.

bool CL_DomNode::is_text (  )  const [inherited]

Returns true if this is a text node.

CL_DomNode CL_DomNode::named_item ( const CL_DomString name  )  const [inherited]

Returns the first child node with the specified node name.

Returns a null node if no child is found.

CL_DomNode CL_DomNode::named_item_ns ( const CL_DomString namespace_uri,
const CL_DomString local_name 
) const [inherited]

Retrieves the first child node with the specified namespace URI and local name.

void CL_DomNode::normalize (  )  [inherited]

Merges any adjacent Text nodes.

Puts all Text nodes in the full depth of the sub-tree underneath this node, including attribute nodes, into a "normal" form where only structure (e.g., elements, comments, processing instructions, CDATA sections, and entity references) separates Text nodes, i.e., there are neither adjacent Text nodes nor empty Text nodes.

This can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, and is useful when operations (such as XPointer lookups) that depend on a particular document tree structure are to be used.

Note: In cases where the document contains CDATASections, the normalize operation alone may not be sufficient, since XPointers do not differentiate between Text nodes and CDATASection nodes.

bool CL_DomNode::operator!= ( const CL_DomNode other  )  const [inherited]

Compare operator.

bool CL_DomNode::operator== ( const CL_DomNode other  )  const [inherited]

Compare operator.

CL_DomNode CL_DomNode::remove_child ( CL_DomNode old_child  )  [inherited]

Removes the child node indicated by old_child from the list of children, and returns it.

CL_DomNode CL_DomNode::replace_child ( CL_DomNode new_child,
CL_DomNode old_child 
) [inherited]

Replaces the child node old_child with new_child in the list of children.

If the new_child is already in the tree, it is first removed.

Parameters:
new_child The new node to put in the child list.
old_child The node being replaced in the list. retval: The node replaced.
bool CL_DomNode::select_bool ( const CL_DomString xpath_expression  )  const [inherited]

Returns the first node value (as boolean) matching the specified xpath expression using this node as the context node.

float CL_DomNode::select_float ( const CL_DomString xpath_expression  )  const [inherited]

Returns the first node value (as float) matching the specified xpath expression using this node as the context node.

int CL_DomNode::select_int ( const CL_DomString xpath_expression  )  const [inherited]

Returns the first node value (as integer) matching the specified xpath expression using this node as the context node.

CL_DomNode CL_DomNode::select_node ( const CL_DomString xpath_expression  )  const [inherited]

Returns the first node matching the specified xpath expression using this node as the context node.

std::vector<CL_DomNode> CL_DomNode::select_nodes ( const CL_DomString xpath_expression  )  const [inherited]

Returns all the nodes matching the specified xpath expression using this node as the context node.

CL_String CL_DomNode::select_string ( const CL_DomString xpath_expression  )  const [inherited]

Returns the first node value matching the specified xpath expression using this node as the context node.

void CL_DomNode::set_node_value ( const CL_DomString value  )  [inherited]

Sets the node value.

void CL_DomNode::set_prefix ( const CL_DomString prefix  )  [inherited]

Sets the namespace prefix of the node.

Note that setting this attribute, when permitted, changes the node_name attribute, which holds the qualified name, as well as the tag_name and name attributes of the Element and Attr interfaces, when applicable.

Note also that changing the prefix of an attribute that is known to have a default value, does not make a new attribute with the default value and the original prefix appear, since the namespace_uri and local_name do not change.

CL_DomAttr CL_DomNode::to_attr (  )  const [inherited]

Returns the Attribute interface to this node.

If the node is not an Attribute node, then it returns a null node.

CL_DomCDATASection CL_DomNode::to_cdata_section (  )  const [inherited]

Returns the CDATA Section interface to this node.

If the node is not a CDATA Section node, then it returns a null node.

CL_DomComment CL_DomNode::to_comment (  )  const [inherited]

Returns the Comment interface to this node.

If the node is not a Comment node, then it returns a null node.

CL_DomDocument CL_DomNode::to_document (  )  const [inherited]

Returns the Document interface to this node.

If the node is not a Document node, then it returns a null node.

CL_DomDocumentFragment CL_DomNode::to_document_fragment (  )  const [inherited]

Returns the Document Fragment interface to this node.

If the node is not a DocumentFragment node, then it returns a null node.

CL_DomDocumentType CL_DomNode::to_document_type (  )  const [inherited]

Returns the Document Type interface to this node.

If the node is not a Document Type node, then it returns a null node.

CL_DomElement CL_DomNode::to_element (  )  const [inherited]

Returns the Element interface to this node.

If the node is not an Element node, then it returns a null node.

CL_DomEntity CL_DomNode::to_entity (  )  const [inherited]

Returns the Entity interface to this node.

If the node is not an Entity node, then it returns a null node.

CL_DomEntityReference CL_DomNode::to_entity_reference (  )  const [inherited]

Returns the Entity Reference interface to this node.

If the node is not an Entity Reference node, then it returns a null node.

CL_DomNotation CL_DomNode::to_notation (  )  const [inherited]

Returns the Notation interface to this node.

If the node is not a Notation node, then it returns a null node.

CL_DomProcessingInstruction CL_DomNode::to_processing_instruction (  )  const [inherited]

Returns the Processing Instruction interface to this node.

If the node is not a Processing Instrucion node, then it returns a null node.

CL_DomText CL_DomNode::to_text (  )  const [inherited]

Returns the Text interface to this node.

If the node is not a Text node, then it returns a null node.


Friends And Related Function Documentation

friend class CL_DomDocument [friend, inherited]
friend class CL_DomNamedNodeMap [friend, inherited]

Member Data Documentation

CL_SharedPtr<CL_DomNode_Generic> CL_DomNode::impl [protected, inherited]

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