1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 %% Purpose: wxXmlNode documentation
4 %% Author: Francesco Montorsi
7 %% Copyright: (c) 2006 Francesco Montorsi
8 %% License: wxWindows license
9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11 \section{\class{wxXmlNode
}}\label{wxxmlnode
}
13 Represents a node in an XML
document. See
\helpref{wxXmlDocument
}{wxxmldocument
}.
15 Node has a name and may have content
16 and properties. Most common node types are
{\tt wxXML
\_TEXT\_NODE} (name and
17 properties are irrelevant) and
{\tt wxXML
\_ELEMENT\_NODE} (e.g. in
{\tt <title>hi</title>
} there is
18 an element with name="title", irrelevant content and one child (
{\tt wxXML
\_TEXT\_NODE}
21 If
\texttt{wxUSE
\_UNICODE} is
0, all strings are encoded in the encoding given to
22 \helpref{wxXmlDocument::Load
}{wxxmldocumentload
} (default is UTF-
8).
25 \wxheading{Derived from
}
29 \wxheading{Include files
}
35 The following are the node types supported by
\helpref{wxXmlNode
}{wxxmlnode
}:
44 wxXML_CDATA_SECTION_NODE,
45 wxXML_ENTITY_REF_NODE,
50 wxXML_DOCUMENT_TYPE_NODE,
51 wxXML_DOCUMENT_FRAG_NODE,
53 wxXML_HTML_DOCUMENT_NODE
60 \helpref{wxXmlDocument
}{wxxmldocument
},
\helpref{wxXmlProperty
}{wxxmlproperty
}
63 \latexignore{\rtfignore{\wxheading{Members
}}}
66 \membersection{wxXmlNode::wxXmlNode
}\label{wxxmlnodewxxmlnode
}
69 \func{}{wxXmlNode
}{\param{wxXmlNode*
}{parent
},
\param{wxXmlNodeType
}{type
},
\param{const wxString\&
}{name
},
\param{const wxString\&
}{content = wxEmptyString
},
\param{wxXmlProperty*
}{props =
\NULL},
\param{wxXmlNode*
}{next =
\NULL}}
71 \wxheading{Parameters
}
73 \docparam{parent
}{The parent node. Can be
\NULL.
}
74 \docparam{type
}{One of the wxXmlNodeType enumeration value.
}
75 \docparam{name
}{The name of the node. This is the string which appears between angular brackets.
}
76 \docparam{content
}{The content of the node. Only meaningful when
{\it type
} is
{\tt wxXML
\_TEXT\_NODE} or
{\tt wxXML
\_CDATA\_SECTION\_NODE}.
}
77 \docparam{props
}{If not
\NULL, this wxXmlProperty object and its eventual siblings are attached to
79 \docparam{next
}{If not
\NULL, this node and its eventual siblings are attached to
82 \func{}{wxXmlNode
}{\param{const wxXmlNode\&
}{node
}}
84 Copy constructor. Note that this does NOT copy syblings
85 and parent pointer, i.e.
\helpref{GetParent()
}{wxxmlnodegetparent
} and
\helpref{GetNext()
}{wxxmlnodegetnext
} will return
\NULL
86 after using copy ctor and are never unmodified by operator=.
88 On the other hand, it DOES copy children and properties.
91 \func{}{wxXmlNode
}{\param{wxXmlNodeType
}{type
},
\param{const wxString\&
}{name
},
\param{const wxString\&
}{content = wxEmptyString
}}
93 A simplified version of the first constructor form.
96 \membersection{wxXmlNode::
\destruct{wxXmlNode
}}\label{wxxmlnodedtor
}
98 \func{}{\destruct{wxXmlNode
}}{\void}
100 The virtual destructor. Deletes attached children and properties.
102 \membersection{wxXmlNode::AddChild
}\label{wxxmlnodeaddchild
}
104 \func{void
}{AddChild
}{\param{wxXmlNode*
}{child
}}
106 Adds the given node as child of this node. To attach a second children to this node, use the
107 \helpref{SetNext()
}{wxxmlnodesetnext
} function of the
{\it child
} node.
109 \membersection{wxXmlNode::AddProperty
}\label{wxxmlnodeaddproperty
}
111 \func{void
}{AddProperty
}{\param{const wxString\&
}{name
},
\param{const wxString\&
}{value
}}
113 Appends a property with given
{\it name
} and
{\it value
} to the list of properties for this node.
115 \func{void
}{AddProperty
}{\param{wxXmlProperty*
}{prop
}}
117 Appends the given property to the list of properties for this node.
119 \membersection{wxXmlNode::DeleteProperty
}\label{wxxmlnodedeleteproperty
}
121 \func{bool
}{DeleteProperty
}{\param{const wxString\&
}{name
}}
123 Removes the first properties which has the given
{\it name
} from the list of properties for this node.
125 \membersection{wxXmlNode::GetChildren
}\label{wxxmlnodegetchildren
}
127 \constfunc{wxXmlNode*
}{GetChildren
}{\param{void
}{}}
129 Returns the first child of this node.
130 To get a pointer to the second child of this node (if it does exist), use the
131 \helpref{GetNext()
}{wxxmlnodegetnext
} function on the returned value.
133 \membersection{wxXmlNode::GetContent
}\label{wxxmlnodegetcontent
}
135 \constfunc{wxString
}{GetContent
}{\void}
137 Returns the content of this node. Can be an empty string.
138 Be aware that for nodes of type
\texttt{wxXML
\_ELEMENT\_NODE} (the most used node type) the
139 content is an empty string. See
\helpref{GetNodeContent()
}{wxxmlnodegetnodecontent
} for more details.
142 \membersection{wxXmlNode::GetNodeContent
}\label{wxxmlnodegetnodecontent
}
144 \constfunc{wxString
}{GetNodeContent
}{\void}
146 Returns the content of the first child node of type
\texttt{wxXML
\_TEXT\_NODE} or
\texttt{wxXML
\_CDATA\_SECTION\_NODE}.
147 This function is very useful since the XML snippet
\texttt{``<tagname>tagcontent</tagname>"
} is represented by
148 expat with the following tag tree:
151 wxXML_ENTITY_NODE name="tagname", content=""
152 |-- wxXML_TEXT_NODE name="", content="tagcontent"
158 wxXML_ENTITY_NODE name="tagname", content=""
159 |-- wxXML_CDATA_SECTION_NODE name="", content="tagcontent"
162 An empty string is returned if the node has no children of type
\texttt{wxXML
\_TEXT\_NODE} or
\texttt{wxXML
\_CDATA\_SECTION\_NODE}, or if the content of the first child of such types is empty.
165 \membersection{wxXmlNode::GetName
}\label{wxxmlnodegetname
}
167 \constfunc{wxString
}{GetName
}{\void}
169 Returns the name of this node. Can be an empty string (e.g. for nodes of type
{\tt wxXML
\_TEXT\_NODE} or
{\tt wxXML
\_CDATA\_SECTION\_NODE}).
171 \membersection{wxXmlNode::GetNext
}\label{wxxmlnodegetnext
}
173 \constfunc{wxXmlNode*
}{GetNext
}{\void}
175 Returns a pointer to the sibling of this node or
\NULL if there are no siblings.
177 \membersection{wxXmlNode::GetParent
}\label{wxxmlnodegetparent
}
179 \constfunc{wxXmlNode*
}{GetParent
}{\void}
181 Returns a pointer to the parent of this node or
\NULL if this node has no parent.
183 \membersection{wxXmlNode::GetPropVal
}\label{wxxmlnodegetpropval
}
185 \constfunc{bool
}{GetPropVal
}{\param{const wxString\&
}{propName
},
\param{wxString*
}{value
}}
187 Returns
\true if a property named
{\it propName
} could be found.
188 If the
{\it value
} pointer is not
\NULL, the value of that property is saved there.
190 \constfunc{wxString
}{GetPropVal
}{\param{const wxString\&
}{propName
},
\param{const wxString\&
}{defaultVal
}}
192 Returns the value of the property named
{\it propName
} if it does exist.
193 If it does not exist, the
{\it defaultVal
} is returned.
195 \membersection{wxXmlNode::GetProperties
}\label{wxxmlnodegetproperties
}
197 \constfunc{wxXmlProperty *
}{GetProperties
}{\void}
199 Return a pointer to the first property of this node.
201 \membersection{wxXmlNode::GetType
}\label{wxxmlnodegettype
}
203 \constfunc{wxXmlNodeType
}{GetType
}{\void}
205 Returns the type of this node.
208 \membersection{wxXmlNode::HasProp
}\label{wxxmlnodehasprop
}
210 \constfunc{bool
}{HasProp
}{\param{const wxString\&
}{propName
}}
212 Returns
\true if this node has a property named
{\it propName
}.
214 \membersection{wxXmlNode::InsertChild
}\label{wxxmlnodeinsertchild
}
216 \func{bool
}{InsertChild
}{\param{wxXmlNode*
}{child
},
\param{wxXmlNode*
}{before
\_node}}
218 Inserts the
{\it child
} node after
{\it before
\_node} in the children list.
219 If
{\it before
\_node} is
\NULL, then
{\it child
} is prepended to the list of children and
220 becomes the first child of this node.
221 Returns
\true if
{\it before
\_node} has been found and the
{\it child
} node has been inserted.
223 \membersection{wxXmlNode::RemoveChild
}\label{wxxmlnoderemovechild
}
225 \func{bool
}{RemoveChild
}{\param{wxXmlNode*
}{child
}}
227 Removes the given node from the children list. Returns
\true if the node was found and removed
228 or
\false if the node could not be found.
230 \membersection{wxXmlNode::SetChildren
}\label{wxxmlnodesetchildren
}
232 \func{void
}{SetChildren
}{\param{wxXmlNode*
}{child
}}
234 Sets as first child the given node. The caller is responsible to delete any previously present
237 \membersection{wxXmlNode::SetContent
}\label{wxxmlnodesetcontent
}
239 \func{void
}{SetContent
}{\param{const wxString\&
}{con
}}
241 Sets the content of this node.
243 \membersection{wxXmlNode::SetName
}\label{wxxmlnodesetname
}
245 \func{void
}{SetName
}{\param{const wxString\&
}{name
}}
247 Sets the name of this node.
249 \membersection{wxXmlNode::SetNext
}\label{wxxmlnodesetnext
}
251 \func{void
}{SetNext
}{\param{wxXmlNode*
}{next
}}
253 Sets as sibling the given node. The caller is responsible to delete any previously present
256 \membersection{wxXmlNode::SetParent
}\label{wxxmlnodesetparent
}
258 \func{void
}{SetParent
}{\param{wxXmlNode*
}{parent
}}
260 Sets as parent the given node. The caller is responsible to delete any previously present
263 \membersection{wxXmlNode::SetProperties
}\label{wxxmlnodesetproperties
}
265 \func{void
}{SetProperties
}{\param{wxXmlProperty*
}{prop
}}
267 Sets as first property the given wxXmlProperty object.
268 The caller is responsible to delete any previously present properties attached to this node.
270 \membersection{wxXmlNode::SetType
}\label{wxxmlnodesettype
}
272 \func{void
}{SetType
}{\param{wxXmlNodeType
}{type
}}
274 Sets the type of this node.
276 \membersection{wxXmlNode::operator=
}\label{wxxmlnodeoperatorassign
}
278 \func{wxXmlNode\&
}{operator=
}{\param{const wxXmlNode\&
}{node
}}
280 See the copy constructor for more info.