class CMDXMLNode : public CBase |
Abstract base class for DOM node classes.
It stores the node type and name, and manages a list of child nodes. The node name and type are set in the derived class's constructor and cannot be changed.
The list of child nodes is managed as a doubly-linked list, not an array or similar structure.
Derived classes that are not allowed children override the operations to manipulate the child list.
Public Member Functions | |
---|---|
~CMDXMLNode() | |
IMPORT_C TInt | AppendChild(CMDXMLNode *) |
TBool | CanHaveChildNodes() |
IMPORT_C TBool | CheckChildren() |
TInt | ElementType() |
CMDXMLNode * | FirstChild() |
TBool | HasChildNodes() |
IMPORT_C TInt | InsertBefore(CMDXMLNode *, CMDXMLNode *) |
CMDXMLNode * | LastChild() |
CMDXMLNode * | NextSibling() |
IMPORT_C TPtrC | NodeName() |
TDOMNodeType | NodeType() |
CMDXMLDocument * | OwnerDocument() |
CMDXMLNode * | ParentNode() |
CMDXMLNode * | PreviousSibling() |
IMPORT_C TInt | RemoveChild(CMDXMLNode *) |
IMPORT_C TInt | ReplaceChild(CMDXMLNode *, CMDXMLNode *) |
Protected Member Functions | |
---|---|
CMDXMLNode(TDOMNodeType, TBool, CMDXMLDocument *) | |
IMPORT_C CMDXMLNode * | NextSameTypeSibling() |
IMPORT_C CMDXMLNode * | PreviousSameTypeSibling() |
void | SetElementType(TInt) |
IMPORT_C void | SetNodeNameL(const TDesC &) |
Public Member Enumerations | |
---|---|
enum | TDOMNodeType { EElementNode = 1, ETextNode = 3, ECDATASectionNode = 4, EProcessingInstructionNode = 7, ECommentNode = 8, EDocumentNode = 9 } |
Protected Attributes | |
---|---|
CMDXMLDocument * | iOwnerDocument |
CMDXMLNode | ( | TDOMNodeType | aNodeType, |
TBool | aCanHaveChildren, | ||
CMDXMLDocument * | aOwnerDocument | ||
) | [protected] |
TDOMNodeType aNodeType | |
TBool aCanHaveChildren | |
CMDXMLDocument * aOwnerDocument |
IMPORT_C | ~CMDXMLNode | ( | ) | [virtual] |
Destructor.
When a node is deleted, it:
1. links its previous and next siblings
2. deletes all its children
3. corrects its parents first and last child pointers if necessary
IMPORT_C TInt | AppendChild | ( | CMDXMLNode * | aChildToInsert | ) |
Appends a new child at the end of the child list.
CMDXMLNode * aChildToInsert | Pointer to the new child node to append. |
IMPORT_C TBool | CheckChildren | ( | ) | [pure virtual] |
Checks the children of this node for validity.
TInt | ElementType | ( | ) | [inline] |
Gets the element type as an enumerated value.
This function is quicker to use than NodeName().
IMPORT_C TInt | InsertBefore | ( | CMDXMLNode * | aInsertBeforeChild, |
CMDXMLNode * | aChildToInsert | |||
) |
Inserts a new child node at a specific point in the child list.
CMDXMLNode * aInsertBeforeChild | Pointer to the element before which the new child should be inserted. UseNULL to insert at the start of the list. |
CMDXMLNode * aChildToInsert | Pointer to the new child node to insert |
IMPORT_C CMDXMLNode * | NextSameTypeSibling | ( | ) | [protected] |
Gets a pointer to the next sibling node of the same type if any, otherwise returns NULL
CMDXMLDocument * | OwnerDocument | ( | ) | [inline] |
Gets a pointer to the document which is the owner of the DOM tree.
IMPORT_C CMDXMLNode * | PreviousSameTypeSibling | ( | ) | [protected] |
Gets a pointer to the previous sibling node of the same type if any, otherwise returns NULL
CMDXMLNode * | PreviousSibling | ( | ) | [inline] |
Gets a pointer to the previous sibling node, if any.
IMPORT_C TInt | RemoveChild | ( | CMDXMLNode * | aChildToRemove | ) |
Removes a child from the list of child nodes.
The child node is not deleted: that is the responsibility of the caller.
CMDXMLNode * aChildToRemove | Pointer to child to remove from the list |
IMPORT_C TInt | ReplaceChild | ( | CMDXMLNode * | aChildToInsert, |
CMDXMLNode * | aChildToReplace | |||
) |
Inserts a new child node while removing an existing one.
The old child is not deleted.
CMDXMLNode * aChildToInsert | Pointer to the new child node to insert |
CMDXMLNode * aChildToReplace | Pointer to the child node to be replaced |
void | SetElementType | ( | TInt | aElementType | ) | [protected, inline] |
Sets the enumerated element type (same information as node name but faster to access)
TInt aElementType |
IMPORT_C void | SetNodeNameL | ( | const TDesC & | aNodeName | ) | [protected] |
const TDesC & aNodeName | The node name - commonly an element tag name - _not_ any unique identifier |
XML DOM node types.
The values are taken from the DOM definition, but only some of them are used for the SMIL API.
EElementNode = 1 | |
ETextNode = 3 | |
ECDATASectionNode = 4 | |
EProcessingInstructionNode = 7 | |
ECommentNode = 8 | |
EDocumentNode = 9 |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.