Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
The TQDomNode class is the base class for all the nodes in a DOM tree. More...
All the functions in this class are reentrant when TQt is built with thread support.
#include <ntqdom.h>
Inherited by TQDomDocumentType, TQDomDocument, TQDomDocumentFragment, TQDomCharacterData, TQDomAttr, TQDomElement, TQDomNotation, TQDomEntity, TQDomEntityReference, and TQDomProcessingInstruction.
Many functions in the DOM return a TQDomNode.
You can find out the type of a node using isAttr(), isCDATASection(), isDocumentFragment(), isDocument(), isDocumentType(), isElement(), isEntityReference(), isText(), isEntity(), isNotation(), isProcessingInstruction(), isCharacterData() and isComment().
A TQDomNode can be converted into one of its subclasses using toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData() or toComment(). You can convert a node to a null node with clear().
Copies of the TQDomNode class share their data using explicit sharing. This means that modifying one node will change all copies. This is especially useful in combination with functions which return a TQDomNode, e.g. firstChild(). You can make an independent (deep) copy of the node with cloneNode().
Nodes are inserted with insertBefore(), insertAfter() or appendChild(). You can replace one node with another using replaceChild() and remove a node with removeChild().
To traverse nodes use firstChild() to get a node's first child (if any), and nextSibling() to traverse. TQDomNode also provides lastChild(), previousSibling() and parentNode(). To find the first child node with a particular node name use namedItem().
To find out if a node has children use hasChildNodes() and to get a list of all of a node's children use childNodes().
The node's name and value (the meaning of which varies depending on its type) is returned by nodeName() and nodeValue() respectively. The node's type is returned by nodeType(). The node's value can be set with setNodeValue().
The document to which the node belongs is returned by ownerDocument().
Adjacent TQDomText nodes can be merged into a single node with normalize().
TQDomElement nodes have attributes which can be retrieved with attributes().
TQDomElement and TQDomAttr nodes can have namespaces which can be retrieved with namespaceURI(). Their local name is retrieved with localName(), and their prefix with prefix(). The prefix can be set with setPrefix().
You can write the XML representation of the node to a text stream with save().
The following example looks for the first element in an XML document and prints the names of all the elements that are its direct children.
TQDomDocument d; d.setContent( someXML ); TQDomNode n = d.firstChild(); while ( !n.isNull() ) { if ( n.isElement() ) { TQDomElement e = n.toElement(); cout << "Element name: " << e.tagName() << endl; break; } n = n.nextSibling(); }
For further information about the Document Object Model see http://www.w3.org/TR/REC-DOM-Level-1/ and http://www.w3.org/TR/DOM-Level-2-Core/. For a more general introduction of the DOM implementation see the TQDomDocument documentation.
See also XML.
This enum defines the type of the node:
The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
If newChild is the child of another node, it is reparented to this node. If newChild is a child of this node, then its position in the list of children is changed.
If newChild is a TQDomDocumentFragment, then the children of the fragment are removed from the fragment and appended.
Returns a new reference to newChild.
See also insertBefore(), insertAfter(), replaceChild(), and removeChild().
Changing the attributes in the map will also change the attributes of this TQDomNode.
Reimplemented in TQDomElement.
Most often you will call this function on a TQDomElement object.
For example, if the XML document looks like this:
<body> <h1>Heading</h1> <p>Hello <b>you</b></p> </body>Then the list of child nodes for the "body"-element will contain the node created by the <h1> tag and the node created by the <p> tag.
The nodes in the list are not copied; so changing the nodes in the list will also change the children of this node.
See also firstChild() and lastChild().
See also isNull().
If deep is TRUE, then the cloning is done recursively which means that all the node's children are deep copied too. If deep is FALSE only the node itself is copied and the copy will have no child nodes.
See also lastChild() and childNodes().
Example: xml/outliner/outlinetree.cpp.
See also attributes().
If newChild is the child of another node, it is reparented to this node. If newChild is a child of this node, then its position in the list of children is changed.
If newChild is a TQDomDocumentFragment, then the children of the fragment are removed from the fragment and inserted after refChild.
Returns a new reference to newChild on success or a null node on failure.
See also insertBefore(), replaceChild(), removeChild(), and appendChild().
If newChild is the child of another node, it is reparented to this node. If newChild is a child of this node, then its position in the list of children is changed.
If newChild is a TQDomDocumentFragment, then the children of the fragment are removed from the fragment and inserted before refChild.
Returns a new reference to newChild on success or a null node on failure.
See also insertAfter(), replaceChild(), removeChild(), and appendChild().
If this function returns TRUE, it does not imply that this object is a TQDomAttribute; you can get the TQDomAttribute with toAttribute().
See also toAttr().
Reimplemented in TQDomAttr.
If this function returns TRUE, it does not imply that this object is a TQDomCDATASection; you can get the TQDomCDATASection with toCDATASection().
See also toCDATASection().
Reimplemented in TQDomCDATASection.
If this function returns TRUE, it does not imply that this object is a TQDomCharacterData; you can get the TQDomCharacterData with toCharacterData().
See also toCharacterData().
Reimplemented in TQDomCharacterData.
If this function returns TRUE, it does not imply that this object is a TQDomComment; you can get the TQDomComment with toComment().
See also toComment().
Reimplemented in TQDomComment.
If this function returns TRUE, it does not imply that this object is a TQDomDocument; you can get the TQDomDocument with toDocument().
See also toDocument().
Reimplemented in TQDomDocument.
If this function returns TRUE, it does not imply that this object is a TQDomDocumentFragment; you can get the TQDomDocumentFragment with toDocumentFragment().
See also toDocumentFragment().
Reimplemented in TQDomDocumentFragment.
If this function returns TRUE, it does not imply that this object is a TQDomDocumentType; you can get the TQDomDocumentType with toDocumentType().
See also toDocumentType().
Reimplemented in TQDomDocumentType.
If this function returns TRUE, it does not imply that this object is a TQDomElement; you can get the TQDomElement with toElement().
See also toElement().
Example: xml/outliner/outlinetree.cpp.
Reimplemented in TQDomElement.
If this function returns TRUE, it does not imply that this object is a TQDomEntity; you can get the TQDomEntity with toEntity().
See also toEntity().
Reimplemented in TQDomEntity.
If this function returns TRUE, it does not imply that this object is a TQDomEntityReference; you can get the TQDomEntityReference with toEntityReference().
See also toEntityReference().
Reimplemented in TQDomEntityReference.
If this function returns TRUE, it does not imply that this object is a TQDomNotation; you can get the TQDomNotation with toNotation().
See also toNotation().
Reimplemented in TQDomNotation.
Example: xml/outliner/outlinetree.cpp.
If this function returns TRUE, it does not imply that this object is a TQDomProcessingInstruction; you can get the TQProcessingInstruction with toProcessingInstruction().
See also toProcessingInstruction().
Reimplemented in TQDomProcessingInstruction.
See also TQDomImplementation::hasFeature().
If this function returns TRUE, it does not imply that this object is a TQDomText; you can get the TQDomText with toText().
See also toText().
Reimplemented in TQDomText.
See also firstChild() and childNodes().
Only nodes of type ElementNode or AttributeNode can have namespaces. A namespace must have been specified at creation time; it is not possible to add a namespace afterwards.
See also prefix(), namespaceURI(), TQDomDocument::createElementNS(), and TQDomDocument::createAttributeNS().
If no such direct child exists, a null node is returned.
See also nodeName().
Only nodes of type ElementNode or AttributeNode can have namespaces. A namespace URI must be specified at creation time and cannot be changed later.
See also prefix(), localName(), TQDomDocument::createElementNS(), and TQDomDocument::createAttributeNS().
If you have XML like this:
<h1>Heading</h1> <p>The text...</p> <h2>Next heading</h2>and this TQDomNode represents the <p> tag, nextSibling() will return the node representing the <h2> tag.
See also previousSibling().
Example: xml/outliner/outlinetree.cpp.
The meaning of the name depends on the subclass:
Name | Meaning |
---|---|
TQDomAttr | The name of the attribute |
TQDomCDATASection | The string "#cdata-section" |
TQDomComment | The string "#comment" |
TQDomDocument | The string "#document" |
TQDomDocumentFragment | The string "#document-fragment" |
TQDomDocumentType | The name of the document type |
TQDomElement | The tag name |
TQDomEntity | The name of the entity |
TQDomEntityReference | The name of the referenced entity |
TQDomNotation | The name of the notation |
TQDomProcessingInstruction | The target of the processing instruction |
TQDomText | The string "#text" |
See also nodeValue().
Example: xml/outliner/outlinetree.cpp.
See also toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData(), and toComment().
Reimplemented in TQDomDocumentType, TQDomDocument, TQDomDocumentFragment, TQDomCharacterData, TQDomAttr, TQDomElement, TQDomNotation, TQDomEntity, TQDomEntityReference, and TQDomProcessingInstruction.
The meaning of the value depends on the subclass:
Name | Meaning |
---|---|
TQDomAttr | The attribute value |
TQDomCDATASection | The content of the CDATA section |
TQDomComment | The comment |
TQDomProcessingInstruction | The data of the processing intruction |
TQDomText | The text |
All the other subclasses do not have a node value and will return TQString::null.
See also setNodeValue() and nodeName().
Example: xml/outliner/outlinetree.cpp.
The data of the copy is shared (shallow copy): modifying one node will also change the other. If you want to make a deep copy, use cloneNode().
Only nodes of type ElementNode or AttributeNode can have namespaces. A namespace prefix must be specified at creation time. If a node was created with a namespace prefix, you can change it later with setPrefix().
If you create an element or attribute with TQDomDocument::createElement() or TQDomDocument::createAttribute(), the prefix will be TQString::null. If you use TQDomDocument::createElementNS() or TQDomDocument::createAttributeNS() instead, the prefix will not be TQString::null; but it might be an empty string if the name does not have a prefix.
See also setPrefix(), localName(), namespaceURI(), TQDomDocument::createElementNS(), and TQDomDocument::createAttributeNS().
For example, if you have XML like this:
<h1>Heading</h1> <p>The text...</p> <h2>Next heading</h2>and this TQDomNode represents the <p> tag, previousSibling() will return the node representing the <h1> tag.
See also nextSibling().
Returns a new reference to oldChild on success or a null node on failure.
See also insertBefore(), insertAfter(), replaceChild(), and appendChild().
If newChild is the child of another node, it is reparented to this node. If newChild is a child of this node, then its position in the list of children is changed.
If newChild is a TQDomDocumentFragment, then oldChild is replaced by all of the children of the fragment.
Returns a new reference to oldChild on success or a null node an failure.
See also insertBefore(), insertAfter(), removeChild(), and appendChild().
See also nodeValue().
Only nodes of type ElementNode or AttributeNode can have namespaces. A namespace prefix must have be specified at creation time; it is not possible to add a namespace prefix afterwards.
See also prefix(), localName(), namespaceURI(), TQDomDocument::createElementNS(), and TQDomDocument::createAttributeNS().
See also isAttr().
See also isCDATASection().
See also isCharacterData().
See also isComment().
See also isDocument().
See also isDocumentFragment().
See also isDocumentType().
See also isElement().
Example: xml/outliner/outlinetree.cpp.
See also isEntity().
See also isEntityReference().
See also isNotation().
See also isProcessingInstruction().
See also isText().
Writes the XML representation of the node node and all its children to the stream str.
This file is part of the TQt toolkit. Copyright © 1995-2007 Trolltech. All Rights Reserved.
Copyright © 2007 Trolltech | Trademarks | TQt 3.3.8
|