<para>The node represents an element. Element nodes represent simple tags that have child nodes. (Note that sometimes these child nodes do not appear when using IXMLNode. For example child nodes of type ntText are typically hidden by IXMLNode and appear only as the value of the Text property). The child nodes of an element node can have the following node types: ntElement, ntText, ntCData, ntEntityRef, ntProcessingInstr, and ntComment. Element nodes can also have attributes (ntAttribute). Element nodes can be the child of a node of type ntDocument, ntDocFragment, ntEntityRef, and ntElement.</para>
</td>
</tr>
<tr>
<td>
<para>ntAttribute</para>
</td>
<td>
<para>The node represents an attribute of an element. It is not the child of another node, but its value can be accessed using the Attribute property of the element node's IXMLNode interface. An attribute node can have child nodes of type ntText and ntEntityRef.</para>
</td>
</tr>
<tr>
<td>
<para>ntText</para>
</td>
<td>
<para>The node represents the text content of a tag. A text node cannot have any child nodes, but can appear as the child node of a node of type ntAttribute, ntDocFragment, ntElement, or ntEntityRef. </para>
</td>
</tr>
<tr>
<td>
<para>ntCData</para>
</td>
<td>
<para>The node represents a CDATA section in the XML source. CDATA sections identify blocks of text that would otherwise be interpreted as markup. An ntCData node can't have any child nodes. They can appear as the child of an ntDocFragment, ntEntityRef, or ntElement node. </para>
</td>
</tr>
<tr>
<td>
<para>ntEntityRef</para>
</td>
<td>
<para>The node represents a reference to an entity in the XML document. This can be any type of entity, including character entity references. The children of an entity reference node can be of the following types: ntElement, ntProcessingInstr, ntComment, ntText, ntCData, and ntEntityRef. The entity reference node can appear as the child of an ntAttribute, ntDocFragment, ntElement, or ntEntityRef node.</para>
</td>
</tr>
<tr>
<td>
<para>ntEntity</para>
</td>
<td>
<para>The node represents an expanded entity. Entity nodes can have child nodes that represent the expanded entity (for example, ntText and ntEntityRef nodes). Entity nodes only appear as the child of an ntDocType node.</para>
</td>
</tr>
<tr>
<td>
<para>ntProcessingInstr</para>
</td>
<td>
<para>The node represents a processing instruction (PI) from the XML document. A PI node cannot have any child nodes, but can appear as the child node of a node of type ntDocument, ntDocFragment, ntElement, or ntEntityRef.</para>
</td>
</tr>
<tr>
<td>
<para>ntComment</para>
</td>
<td>
<para>The node represents a comment in the XML document. Comment nodes do not have child nodes. They appear as the child of an ntDocument, ntDocFragment, ntElement, or ntEntityRef node.</para>
</td>
</tr>
<tr>
<td>
<para>ntDocument</para>
</td>
<td>
<para>The node represents a document object, which is the root of the entire XML document. Document nodes have a single ntElement node as a child (the DocumentElement). In addition, they can have child nodes of type ntProcessingInstr, ntComment, and ntDocType. Because the document is the root of the XML document, it never appears as a child node.</para>
</td>
</tr>
<tr>
<td>
<para>ntDocType</para>
</td>
<td>
<para>The node represents the document type declaration, indicated by the <!DOCTYPE > tag. The document type node can child nodes of type ntNotation and ntEntity. It always appears as the child of the document node.</para>
</td>
</tr>
<tr>
<td>
<para>ntDocFragment</para>
</td>
<td>
<para>The node represents a document fragment. A document fragment node associates a node or subtree with a document without actually being contained in the document. Document fragment nodes can have child nodes of type ntElement, ntProcessingInstr, ntComment, ntText, ntCData, and ntEntityRef. It never appears as the child of another node.</para>
</td>
</tr>
<tr>
<td>
<para>ntNotation</para>
</td>
<td>
<para>A node represents a notation in the document type declaration. It always appears as the child of an ntDocType node and never has any child nodes.</para>
<class namespace="XMLIntf">EXMLDocError</class> is raised by TXMLDocument or TXMLNode when</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">An error occurs when loading an XML document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">An error occurs when creating a node in an XML document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">A required DOM interface is not found.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">An option is requested that is not supported by the DOM implementation.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">An attempt is made to perform an action that is not consistent with the specified node type.</para>
<class namespace="XMLIntf">IXMLNode</class> is the interface for a node in an XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="XMLIntf">IXMLNode</class> to work with a node in an XML document. The <class namespace="XMLIntf">IXMLNode</class> interface is designed to work with TXMLDocument and the code generated by the Data Binding wizard.</para>
<class namespace="XMLIntf">IXMLNode</class> is similar to the IDOMNode interface that is defined as part of the Document Object Model (DOM) specification. However, <class namespace="XMLIntf">IXMLNode</class> is designed to simplify the task of navigating and editing XML documents by</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">including some of the properties and methods from the IDOMElement interface, resulting in a simpler model for examining an XML node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">including additional properties and methods to simplify access to data in common XML structures.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Data Binding wizard generates descendants of <class namespace="XMLIntf">IXMLNode</class> that further simplify the task of working with XML documents by converting the attributes and child nodes of a node into properties of the node interface.</para>
<para>C++ method declarations that use <class namespace="XMLIntf">IXMLNode</class> use the _di_<class namespace="XMLIntf">IXMLNode</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="XMLIntf">IXMLNode</class> interface:</para>
<method namespace="XMLIntf" class="IXMLNode">AddChild</method> creates a new element node as the child of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName provides the tag name of the newly created node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace that includes the new node's definition. If NamespaceURI is omitted (the second syntax), the namespace of the new node is deduced from the namespace prefix of TagName. If TagName has no namespace prefix and there is no NamespaceURI parameter, the namespace is the same as this node's NamespaceURI property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">GenPrefix controls whether <method namespace="XMLIntf" class="IXMLNode">AddChild</method> generates a namespace prefix for the namespace URI when the NamespaceURI parameter identifies a URI that is not already declared in the document. Note that setting GenPrefix to true does not cause <method namespace="XMLIntf" class="IXMLNode">AddChild</method> to add a declaration of the new namespace prefix unless the document's Options property includes doNamespaceDecl.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index indicates the position of the child node in this node's list of children, where 0 is the first position, 1 is the second position, and so on. If Index is ΓÇô1, the new node is added to the end.</para>
<method namespace="XMLIntf" class="IXMLNode">AddChild</method> only adds element nodes. To add other types of child nodes, use the XML document's CreateNode method instead, and then add the resulting node to the ChildNodes property array.</para>
</tip>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.CloneNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a copy of this node and returns its interface.</para>
<method namespace="XMLIntf" class="IXMLNode">CloneNode</method> returns a copy of this node that has no parent. Any attributes of this node are copied as well, including attribute nodes that represent default values.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Deep indicates whether the child nodes of this node should be cloned as well. For example, if an element node contains any text, <method namespace="XMLIntf" class="IXMLNode">CloneNode</method> only copies then text when deep is true, because in the underlying DOM implementation, the text is contained in a child node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After calling <method namespace="XMLIntf" class="IXMLNode">CloneNode</method> to create a new node, you can add that node into the ChildNodes property of another node (or, if this node represents an attribute, into the AttributeNodes property) by calling ChildNodes<condition language="Delphi">.</condition>
<condition language="CBuilder">-></condition>Add or ChildNodes<condition language="Delphi">.</condition>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the namespace URI for a namespace prefix or qualified tag name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">FindNamespaceDecl searches the node hierarchy that contains this node for an attribute that specifies the mapping between the namespace prefix identified by TagOrPrefix and a namespace URI. If it finds such a mapping, <method namespace="XMLIntf" class="IXMLNode">FindNamespaceURI</method> returns the namespace URI. If it does not find a mapping, <method namespace="XMLIntf" class="IXMLNode">FindNamespaceURI</method> returns an empty string.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagOrPrefix is the namespace prefix or a tag name that includes the namespace prefix.</para>
<method namespace="XMLIntf" class="IXMLNode">FindNamespaceDecl</method> searches the node hierarchy that contains this node for an attribute that specifies the mapping between a namespace prefix and the namespace URI identified by NamespaceURI. If it finds such a mapping, <method namespace="XMLIntf" class="IXMLNode">FindNamespaceDecl</method> returns the interface for the Attribute node. If it does not find a mapping, <method namespace="XMLIntf" class="IXMLNode">FindNamespaceDecl</method> returns nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the namespace URI to locate.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.GetAttributeNS">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of a specified attribute.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNode">GetAttributeNS</method> to determine the value of an attribute when you must explicitly specify the namespace for the attribute.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AttrName is the name of the attribute whose value you want to fetch.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace in which the attribute resides.</para>
<method namespace="XMLIntf" class="IXMLNode">GetAttributeNS</method> returns the value of the attribute. If AttrName and NamespaceURI do not identify an attribute of this node, <method namespace="XMLIntf" class="IXMLNode">GetAttributeNS</method> returns a Null Variant. </para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.HasAttribute">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the node has an attribute with a specified name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNode">HasAttribute</method> to determine whether this node has a specified attribute.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Name is the name of the attribute about which you want to know.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the namespace of the attribute.</para>
<method namespace="XMLIntf" class="IXMLNode">NextSibling</method> returns the node that follows this one in the parent node's ChildNodes property list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node is the last node in its parent's child list, <method namespace="XMLIntf" class="IXMLNode">NextSibling</method> raises an exception.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.PreviousSibling">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the previous child of this node's parent.</para>
<method namespace="XMLIntf" class="IXMLNode">PreviousSibling</method> returns the node that precedes this one in the parent node's ChildNodes property list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node is the first node in its parent's child list, <method namespace="XMLIntf" class="IXMLNode">PreviousSibling</method> raises an exception.</para>
<method namespace="XMLIntf" class="IXMLNode">DeclareNamespace</method> adds an attribute to this node that declares the specified namespace URI as the value of the specified prefix.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Prefix is the namespace prefix that appears in tag names that reference the namespace.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">URI is the corresponding namespace URI.</para>
<para>This method is called automatically for newly created nodes when the document's Options property includes doNamespaceDecl.</para>
</note>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Normalize">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts the subtree beneath this node to the structure it would have if it were just loaded from a document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLIntf" class="IXMLNode">IXMLNode</method> interface to call the protected <method namespace="XMLIntf" class="IXMLNode">Normalize</method> method. <method namespace="XMLIntf" class="IXMLNode">Normalize</method> consolidates adjacent text nodes and remove any empty text nodes in the subtree beneath this node. This method ensures that for all child nodes of this node and of its attributes, only structure nodes (element nodes, comments, processing instructions, CDATA sections, and entity references) separate text nodes and that there are no empty text nodes.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Resync">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Forces all child nodes and attribute nodes to be reread from the underlying DOM implementation.</para>
<method namespace="XMLIntf" class="IXMLNode">Resync</method> forces the node to reread the values of its child nodes and attribute nodes, discarding any changes that have not been propagated to the underlying DOM implementation.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.SetAttributeNS">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of one of this node's attributes when you must explicitly specify the attribute's namespace.</para>
<method namespace="XMLIntf" class="IXMLNode">SetAttributeNS</method> sets the value of a specified attribute of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AttrName is the name of the attribute. If the attribute already exists for the node, its value is changed. If the attribute does not already exist, a new attribute is created.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the namespace for the attribute.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value is the value to assign to the attribute. This value is a string that is not parsed. Any markup (for example, for an entity reference) is treated as literal text, and must include appropriate escape sequences. If Value is NULL, the attribute is removed from this node. If Value is an empty string, the attribute is assigned an empty value.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.TransformNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Transforms the subtree rooted at this node, using a specified XSL interface.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNode">TransformNode</method> to transform the XML that is the value of the XML property using the transformation specified by an XSL document. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">stylesheet is a node in an XML document that represents an XSL transformation. Typically, it is the document element of that document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">output represents the result of the transformation. If output is a WideString, <method namespace="XMLIntf" class="IXMLNode">TransformNode</method> returns a string of XML. If output is the interface to an XML document, <method namespace="XMLIntf" class="IXMLNode">TransformNode</method> replaces the content of that document with the results of the transformation.</para>
<method namespace="XMLIntf" class="IXMLNode">TransformNode</method> is only available when the DOMVendor used to parse this node's XML document is MSXML. </para>
</note>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Attributes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the values of this node's attributes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLNode">Attributes</property> to read or set the values of this node's attributes. <property namespace="XMLIntf" class="IXMLNode">Attributes</property> modify a node in an XML document. For example, given the node for</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">both genre and title are attributes of the node, with values of "scifi" and "Star Wars", respectively.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The AttrName index gives the name of the attribute to access. In the previous example, "genre" and "title" are the names of the attributes. When setting <property namespace="XMLIntf" class="IXMLNode">Attributes</property>, if you specify the name of an attribute that already exists for a node, you change that attribute's value. If you specify an attribute name that does not correspond to an existing attribute of the node, a new attribute is created. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When reading <property namespace="XMLIntf" class="IXMLNode">Attributes</property>, if you specify the name of an attribute that does not exist for the node, the value depends on the Options property of the document that contains the node. If Options includes doAttrNull, reading an attribute that does not exist for the node results in a Null Variant. When Options does not include doAttrNull, reading an attribute that does not exist results in an empty string.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="XMLIntf" class="IXMLNode">Attributes</property> is the text of the specified attribute. When setting attributes, the value string is not parsed. Any markup in the supplied value (for example, an entity reference) is treated as literal text. If you set an attribute to nil (Delphi) or NULL (C++), it is removed from this node. Note that you can set an attribute's value to an empty string. </para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.AttributeNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the interfaces for nodes that represent attributes of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLNode">AttributeNodes</property> to access the attributes of this node using an <property namespace="XMLIntf" class="IXMLNode">IXMLNode</property> interface. Attributes modify a node in an XML document. For example, given the node for</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">both genre and title are attributes of the node, with values of "scifi" and "Star Wars", respectively.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If an attribute consists of a simple Name=Value pair, it is simpler to use the Attributes property to read or set attribute values. <property namespace="XMLIntf" class="IXMLNode">AttributeNodes</property> is an <property namespace="XMLIntf" class="IXMLNode">IXMLNode</property>List interface, which can be used to </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read the count of attributes before iterating over all the attributes of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Add or delete attribute nodes from this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Access attributes through an XML node interface (for example, to read the attribute names from the nodes).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Only element nodes have attributes, and not every element node has them. If the node does not have any attributes, <property namespace="XMLIntf" class="IXMLNode">AttributeNodes</property> is the interface for an empty list.</para>
<para>Attributes are not considered child nodes of a node and can't be accessed using the ChildNodes property.</para>
</note>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.ChildNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the child nodes of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLNode">ChildNodes</property> to access the children of a node. <property namespace="XMLIntf" class="IXMLNode">ChildNodes</property> is an <property namespace="XMLIntf" class="IXMLNode">IXMLNode</property>List interface, which can be used to access individual child nodes or to add child nodes to or delete them from this node. Each child node specifies this node as its parent node.</para>
<para>Attributes are not considered child nodes of a node. To get the values of this node's attributes, use the Attributes or AttributeNodes property instead.</para>
</note>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.ChildValues">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the values of this node's child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLNode">ChildValues</property> to access the values of this node's children.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName identifies the desired child node either by its interface, or by a string that is the local name of the child node. If IndexOrName does not identify a child of this node, trying to get or set <property namespace="XMLIntf" class="IXMLNode">ChildValues</property> causes an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of a child node depends on the type of the child node, as indicated in the following table:</para>
<para>In Delphi, <property namespace="XMLIntf" class="IXMLNode">ChildValues</property> is the default property for <property namespace="XMLIntf" class="IXMLNode">IXMLNode</property>. That means that you can omit the property name when using this property. For example</para>
<para>Attributes are not considered child nodes of a node. To get or set the values of this node's attributes, use the Attributes property instead.</para>
</note>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Collection">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the collection in which this node appears.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLNode">Collection</property> to determine whether this node is one of a repeating set of child nodes. The node specified by <property namespace="XMLIntf" class="IXMLNode">Collection</property> represents the same node in the XML document as this node's ParentNode property, but it is specialized to work with this node and any other child nodes of the same type.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, consider the following XML fragment:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node represents one of the <student> nodes, then ParentNode represents the <students> node, and <property namespace="XMLIntf" class="IXMLNode">Collection</property> represents a copy of the <students> node that is used for only those children that are <student> nodes, and not the <auditor> nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node does not represent one of a set of repeating child elements, <property namespace="XMLIntf" class="IXMLNode">Collection</property> is nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.DOMNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the I<property namespace="XMLIntf" class="IXMLNode">DOMNode</property> interface for this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">I<property namespace="XMLIntf" class="IXMLNode">DOMNode</property> is the interface for this node provided by the DOM implementation that parsed the XML document. You can use this interface to work with the node using the lower-level properties and methods of the DOM.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Typically, applications use the <property namespace="XMLIntf" class="IXMLNode">IXMLNode</property> interface to work with a node rather than the I<property namespace="XMLIntf" class="IXMLNode">DOMNode</property> interface. For more information on DOM interfaces, see the DOM specification on the W3 website or the documentation provided by your DOM vendor.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.OwnerDocument">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the document in which this node appears.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLNode">OwnerDocument</property> to obtain the IXMLDocument interface of the document to which this node belongs.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.HasChildNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether this node has any child nodes.</para>
<property namespace="XMLIntf" class="IXMLNode">HasChildNodes</property> is true if the underlying DOM node has any child nodes, false if it has no children.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Note that in the underlying DOM implementation, given the following XML</para>
<codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Title> Understanding XML </Title></codeBlock>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">the "Title" node has a single child (a text node with the value 'Understanding XML').</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.IsTextElement">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the node has a single text value.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLNode">IsTextElement</property> to determine whether this node represents a single text value. For example, if the node represents the following:</para>
<codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Title> Understanding XML </Title></codeBlock>
<property namespace="XMLIntf" class="IXMLNode">IsTextElement</property> is true, because the node represents a tagged element and the text that is its value.</para>
<para>In the underlying DOM implementation, nodes for which <property namespace="XMLIntf" class="IXMLNode">IsTextElement</property> is true are element nodes that have a single child node that is a text node. <property namespace="XMLIntf" class="IXMLNode">IXMLNode</property> flattens this out so that you can use the element node to work with the text value (through the Text property), rather than requiring you to use a separate node for the text value.</para>
</note>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.LocalName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the name of the node without any namespace prefix.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLNode">LocalName</property> to determine the local name of the underlying DOM node. <property namespace="XMLIntf" class="IXMLNode">LocalName</property> is only defined for nodes of type ntElement or ntAttrribute.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For element nodes, <property namespace="XMLIntf" class="IXMLNode">LocalName</property> is derived from the name that appears in the XML tag. For example, the local name for <xsi:Name First="John" Last="Doe"> is 'Name'. (The string "xsi" is called the prefix).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For attribute nodes, the local name is derived from the string that appears to the left of the equals sign in the attribute declaration. For example, the element <xsi:Name xsi:First="John" xsi:Last="Doe"> results in two attribute nodes, with the local names 'First' and 'Last'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For any other node types, localName is nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To get the name of a node when localName is not defined, use the NodeName property instead. If the node's name has no namespace prefix, <property namespace="XMLIntf" class="IXMLNode">LocalName</property> has the same value as NodeName.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.NamespaceURI">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the URI for the namespace used in the qualified node name.</para>
<property namespace="XMLIntf" class="IXMLNode">NamespaceURI</property> is the URI for the namespace that should be used to interpret the node's name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Only element and attribute nodes can have a namespace URI value. For any other node type, <property namespace="XMLIntf" class="IXMLNode">NamespaceURI</property> is an empty string. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The namespace URI is only available if it is explicitly assigned when the node is created. By default, <property namespace="XMLIntf" class="IXMLNode">IXMLNode</property> does not assign namespaces to the new nodes it creates.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.NodeName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the node name.</para>
<property namespace="XMLIntf" class="IXMLNode">NodeName</property> is the name of the underlying DOM node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The node's name depends on the type of the node, as indicated in the following table:</para>
<para>If Prefix and LocalName are both defined for a node, the node name is the combination of these two values.</para>
</note>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.NodeType">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the type of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLNode">NodeType</property> to determine the type of the node. The type reflects the way the node is used in the XML document.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.NodeValue">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the value of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLNode">NodeValue</property> to get or set the value of the node. The meaning of a node's value depends on the type of the node, as indicated in the following table:</para>
<property namespace="XMLIntf" class="IXMLNode">Prefix</property> is the namespace prefix of an element or attribute node's name. A namespace prefix is a symbolic name for a namespace URI.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For element nodes, the namespace prefix is derived from the name that appears in the XML tag. For example, the namespace prefix for <xsi:Name First="John" Last="Doe"> is 'xsi'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For attribute nodes, the namespace prefix is derived from the string that appears to the left of the equals sign in the attribute declaration. For example the element <xsi:Name xsn:First="John" Last="Doe"> results in two attribute nodes, with namespace prefixes of 'xsn' and '', respectively. Note that the attribute never inherits a namespace prefix from the node to which it is attached.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For any other node types, the namespace prefix is nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.ReadOnly">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies whether the node can be modified.</para>
<property namespace="XMLIntf" class="IXMLNode">ReadOnly</property> specifies whether the value, child nodes, or attributes of the node can be changed. When <property namespace="XMLIntf" class="IXMLNode">ReadOnly</property> is true, the node can't be modified. Read-only nodes raise an exception when an attempt is made to modify them.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="XMLIntf" class="IXMLNode">ReadOnly</property> is false, the node can be modified.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Text">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the <property namespace="XMLIntf" class="IXMLNode">Text</property> of the node.</para>
<property namespace="XMLIntf" class="IXMLNode">Text</property> is intended for use nodes where the Is<property namespace="XMLIntf" class="IXMLNode">Text</property>Element property is true. If Is<property namespace="XMLIntf" class="IXMLNode">Text</property>Element is false, then</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the node has no children, the value of <property namespace="XMLIntf" class="IXMLNode">Text</property> is an empty string. Setting <property namespace="XMLIntf" class="IXMLNode">Text</property> is this case result in a node where Is<property namespace="XMLIntf" class="IXMLNode">Text</property>Element istrue.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the node has children (other than a single DOM text node), reading or setting <property namespace="XMLIntf" class="IXMLNode">Text</property> causes an exception. </para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.XML">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the <property namespace="XMLIntf" class="IXMLNode">XML</property> that corresponds to the subtree rooted at this node.</para>
<property namespace="XMLIntf" class="IXMLNode">XML</property> is the <property namespace="XMLIntf" class="IXMLNode">XML</property> that corresponds to the document fragment that consists of this node and any child nodes it contains.</para>
<property namespace="XMLIntf" class="IXMLNode">XML</property> is only available when the DOMVendor used to parse this node's <property namespace="XMLIntf" class="IXMLNode">XML</property> document is MS<property namespace="XMLIntf" class="IXMLNode">XML</property>. </para>
<class namespace="XMLIntf">IXMLNodeList</class> represents a set of nodes in an XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="XMLIntf">IXMLNodeList</class> to work with a set of related nodes in an XML document. <class namespace="XMLIntf">IXMLNodeList</class> can be used to add or delete nodes from the set, or to access specific nodes.</para>
<para>C++ method declarations that use <class namespace="XMLIntf">IXMLNodeList</class> use the _di_<class namespace="XMLIntf">IXMLNodeList</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="XMLIntf">IXMLNodeList</class> interface:</para>
<method namespace="XMLIntf" class="IXMLNodeList">Add</method>s a new node to the end of the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">Add</method> to add a node to the end of the list. <method namespace="XMLIntf" class="IXMLNodeList">Add</method> returns the index of the node once it is added, where 0 is the index of the first node in the list, 1 is the index of the second node, and so on.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the node to add to the list.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Delete">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Removes a specified node from the list.</para>
<method namespace="XMLIntf" class="IXMLNodeList">Delete</method> removes the node specified by the Index or Name parameter. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Name identifies the node to remove from the list. This is the local name of the node to remove.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace to use when interpreting Name (if necessary).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index identifies the node to remove by index rather than name. Index ranges from 0 to one less than the value of the Count property.</para>
<method namespace="XMLIntf" class="IXMLNodeList">Delete</method> returns the index of the node that was removed. If there was no node that matched the value of Index or Name, <method namespace="XMLIntf" class="IXMLNodeList">Delete</method> returns ΓÇô1. </para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.First">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the first node in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">First</method> to access the first node in the list. If the list is empty, <method namespace="XMLIntf" class="IXMLNodeList">First</method> raises an exception. </para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.FindNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a specified node from the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">FindNode</method> to access a particular node in the list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeName is the node to access. It specifies the LocalName property of the desired node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace that qualifies NodeName. It is the same as the NamespaceURI property of the desired node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ChildNodeType identifies the node to access by its interface type (GUID), rather than by name.</para>
<method namespace="XMLIntf" class="IXMLNodeList">FindNode</method> returns the interface for the node if it is in the list. If NodeName or ChildNodeType does not specify a node in the list, <method namespace="XMLIntf" class="IXMLNodeList">FindNode</method> returns nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.FindSibling">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a node that appears a specified amount before or after another node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">FindSibling</method> to access the node whose position has a specified relationship to another node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is a node in the list to use as a reference point.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Delta indicates where the desired node appears, relative to Node. If Delta is positive, <method namespace="XMLIntf" class="IXMLNodeList">FindSibling</method> returns the node that appears Delta positions after Node. If Delta is negative, <method namespace="XMLIntf" class="IXMLNodeList">FindSibling</method> returns a node that appears before Node.</para>
<method namespace="XMLIntf" class="IXMLNodeList">FindSibling</method> returns the node that appears at the position offset by Delta, relative to the position of Node. If Delta specifies a position before the first node or after the last node in the list, <method namespace="XMLIntf" class="IXMLNodeList">FindSibling</method> returns nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Get">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a specified node in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">Get</method> to retrieve a node from the list, given its index.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index specifies the node to fetch, where 0 identifies the first node, 1 identifies the second node, and so on. Index should be less than the value of the Count property. </para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.IndexOf">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the index of a specified node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">IndexOf</method> to locate a node in the list. You can specify which node to locate using its name or its interface.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Name is the LocalName property of the node to locate.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace to use when interpreting LocalName (if necessary).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface of the node to locate.</para>
<method namespace="XMLIntf" class="IXMLNodeList">IndexOf</method> returns the index of the specified node, where 0 is the index of the first node, 1 is the index of the second node, and so on. If the specified node is not in the list, <method namespace="XMLIntf" class="IXMLNodeList">IndexOf</method> returns -1.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Last">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the last node in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">Last</method> to access the last node in the list. If the list is empty, <method namespace="XMLIntf" class="IXMLNodeList">Last</method> raises an exception. </para>
<method namespace="XMLIntf" class="IXMLNodeList">Remove</method> returns the index of Node before it was removed. If node is not a node in the list, <method namespace="XMLIntf" class="IXMLNodeList">Remove</method> returns -1.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.ReplaceNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Replaces a specified node in the list with another node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">ReplaceNode</method> to replace the node specified by OldNode with the node specified by NewNode.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">OldNode is the node to replace. If OldNode does not appear in the list, then <method namespace="XMLIntf" class="IXMLNodeList">ReplaceNode</method> adds the new node to the end of the list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NewNode is the node to add to the list in place of OldNode.</para>
<method namespace="XMLIntf" class="IXMLNodeList">ReplaceNode</method> returns OldNode (even if OldNode did not appear in the list).</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.BeginUpdate">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Increments the value of UpdateCount.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">BeginUpdate</method> before making several changes to the nodes in the list (such as adding or removing several nodes). <method namespace="XMLIntf" class="IXMLNodeList">BeginUpdate</method> increments the UpdateCount property, to keep track of the fact that the list is in the middle of an update. When the update is complete, call EndUpdate to decrement the UpdateCount property. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Every call to <method namespace="XMLIntf" class="IXMLNodeList">BeginUpdate</method> should be matched by a call to EndUpdate, so that the UpdateCount property accurately reflects whether an update operation is underway.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Clear">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Removes all nodes from the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">Clear</method> to empty the list.</para>
<method namespace="XMLIntf" class="IXMLNodeList">Clear</method> does not call the BeginUpdate and EndUpdate methods, even though it may result in the deletion of more than one node.</para>
</note>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.EndUpdate">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Decrements the value of UpdateCount.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">EndUpdate</method> after making several changes to the nodes in the list (such as adding or removing several nodes). <method namespace="XMLIntf" class="IXMLNodeList">EndUpdate</method> decrements the UpdateCount property, which was incremented by a previous call to BeginUpdate.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Every call to BeginUpdate should be matched by a call to <method namespace="XMLIntf" class="IXMLNodeList">EndUpdate</method>, so that the UpdateCount property accurately reflects whether an update operation is underway.</para>
<method namespace="XMLIntf" class="IXMLNodeList">Insert</method>s a new node into a specified position in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLNodeList">Insert</method> to add a node at the position specified by Index. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index specifies where to insert the node, where 0 is the first position, 1 is second position, and so on. If Index does not specify a valid index, <method namespace="XMLIntf" class="IXMLNodeList">Insert</method> raises an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the node to add to the list.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Count">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of nodes in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLNodeList">Count</property> to determine the number of nodes in the list. <property namespace="XMLIntf" class="IXMLNodeList">Count</property> provides an upper limit to the indexes that can be used with the Nodes property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To change the value of <property namespace="XMLIntf" class="IXMLNodeList">Count</property>, add nodes using the Add or Insert method, or remove them using the Delete or Remove method. </para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Nodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the nodes in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLNodeList">Nodes</property> to access a specified node in the list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName identifies the desired node. It can be</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The index of the node, where 0 is the index of the first node, 1 is the index of the second node, and so on. The Count property provides an upper bound on the indexes you can specify.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The LocalName property of a node in the list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If IndexOrName does not identify a node in the list, and if the document that contains this node list's parent includes doNodeAutoCreate in its Options property, then the node list tries to create a new node with the name specified by IndexOrName. If the node list can't create the new node, it raises an exception.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.UpdateCount">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of times an application has called BeginUpdate without a matching call to EndUpdate.</para>
<property namespace="XMLIntf" class="IXMLNodeList">UpdateCount</property> keeps track of whether all update operations have been completed. When an application starts making changes to the list, it calls BeginUpdate, which increments <property namespace="XMLIntf" class="IXMLNodeList">UpdateCount</property>. When those changes are complete, it calls EndUpdate, which decrements <property namespace="XMLIntf" class="IXMLNodeList">UpdateCount</property>. Thus, <property namespace="XMLIntf" class="IXMLNodeList">UpdateCount</property> allows calls to BeginUpdate and EndUpdate to be nested.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can avoid responding to updates in a piecemeal fashion by checking <property namespace="XMLIntf" class="IXMLNodeList">UpdateCount</property> and only responding when it is 0.</para>
<class namespace="XMLIntf">IXMLNodeCollection</class> is the interface for a set of child nodes that are all the same type.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="XMLIntf">IXMLNodeCollection</class> to work with repeating elements in an XML document. The XML Data Binding wizard generates descendants of <class namespace="XMLIntf">IXMLNodeCollection</class> interface to represent sets of child nodes that are all of a particular type.</para>
<class namespace="XMLIntf">IXMLNodeCollection</class> is a descendant of IXMLNode. As such, it provides generic support for working with a node in an XML document. In addition, <class namespace="XMLIntf">IXMLNodeCollection</class> introduces properties and methods that manage a set of child nodes that are all the same type of node (that all have the same tag names or that are defined as the same type in an XML schema).</para>
<para>C++ method declarations that use <class namespace="XMLIntf">IXMLNodeCollection</class> use the _di_<class namespace="XMLIntf">IXMLNodeCollection</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="XMLIntf">IXMLNodeCollection</class> interface:</para>
<method namespace="XMLIntf" class="IXMLNodeCollection">Remove</method> removes a specified child node from the collection of repeating child nodes. It removes the node from both the collection, and from the ChildNodes property, which lists all children of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface of the child to remove. It must represent on of the repeating child nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To remove a child that is not one of the repeating child nodes, use the ChildNodes property instead.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Clear">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Removes all child nodes in the Nodes property from the ChildList and Nodes properties.</para>
<method namespace="XMLIntf" class="IXMLNodeCollection">Clear</method> deletes every child node from the collection (all the nodes in the Nodes property), along with the corresponding nodes in the ChildNodes property.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Delete">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Removes one of the repeating child nodes from this node.</para>
<method namespace="XMLIntf" class="IXMLNodeCollection">Delete</method> removes a specified child node from this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index identifies the child to remove. It is the index of the child in the Nodes property list of repeating child nodes. The index 0 represents the first repetition, 1 represents the second repetition, and so on.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Count">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of repeating child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLNodeCollection">Count</property> to obtain the number of repeating children of this node. Use <property namespace="XMLIntf" class="IXMLNodeCollection">Count</property> to obtain an upper limit when addressing child nodes by index (for example, when iterating over all nodes in the Nodes property list).</para>
<property namespace="XMLIntf" class="IXMLNodeCollection">Count</property> is changed when you add child nodes using the AddChild method or delete them using the Delete or Remove method. You can access the individual repeating child nodes using the Nodes property.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Nodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the interfaces of the repeating child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLNodeCollection">Nodes</property> to access nodes from the set of repeating child nodes. The value of <property namespace="XMLIntf" class="IXMLNodeCollection">Nodes</property> is the IXMLNode interface that represents a specified child node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index identifies which repetition of the child node is desired, where 0 is the first repetition, 1 is the second repetition, and so on.</para>
<para>The XML Data Binding wizard generates a nearly identical property in <property namespace="XMLIntf" class="IXMLNodeCollection">IXMLNodeCollection</property> descendants called Items. Items differs from <property namespace="XMLIntf" class="IXMLNodeCollection">Nodes</property> in that the value is an IXMLNode descendant specific to the type of the repeating element, rather than the generic IXMLNode interface.</para>
<para>In Delphi, Child<property namespace="XMLIntf" class="IXMLNodeCollection">Nodes</property> is the default property for <property namespace="XMLIntf" class="IXMLNodeCollection">IXMLNodeCollection</property>. That means that you can omit the property name when using this property. In <property namespace="XMLIntf" class="IXMLNodeCollection">IXMLNodeCollection</property> descendants that are generated by the XML Data Binding wizard, the Items property is the default property instead.</para>
<para>As a descendant of IXMLNode, <property namespace="XMLIntf" class="IXMLNodeCollection">IXMLNodeCollection</property> also inherits the Child<property namespace="XMLIntf" class="IXMLNodeCollection">Nodes</property> property, which lists all the child nodes for this node. <property namespace="XMLIntf" class="IXMLNodeCollection">Nodes</property> differs from Child<property namespace="XMLIntf" class="IXMLNodeCollection">Nodes</property> in that it contains only those child nodes that are in the repeating collection.</para>
<type namespace="XMLDOM">TXMLDocOption</type> and <type namespace="XMLDOM">TXMLDocOption</type>s indicate types of information that an XML document automatically supplies.</para>
<type namespace="XMLDOM">TXMLDocOption</type>s is a set of <type namespace="XMLDOM">TXMLDocOption</type> values. The following table lists the <type namespace="XMLDOM">TXMLDocOption</type> values:</para>
<para>If the application tries to read a node by name, using the Nodes property of an IXMLNodeList interface, and that node does not exist, then the application creates a new node using the specified name.</para>
</td>
</tr>
<tr>
<td>
<para>doNodeAutoIndent</para>
</td>
<td>
<para>When formatting the XML text from the parsed set of nodes, child nodes are automatically indented from their parent nodes.</para>
</td>
</tr>
<tr>
<td>
<para>doAttrNull</para>
</td>
<td>
<para>When reading the value of an attribute that does not exist, the value is given as a Null Variant (as opposed to a value of an empty string).</para>
</td>
</tr>
<tr>
<td>
<para>doAutoPrefix</para>
</td>
<td>
<para>When generating the name of a new node, the value is automatically given a namespace prefix if a namespace URI is supplied.</para>
</td>
</tr>
<tr>
<td>
<para>doNamespaceDecl</para>
</td>
<td>
<para>When the AddChild method must create a new namespace for the node, it also adds a namespace attribute to declare that new namespace. If doNamespaceDecl is not included, AddChild creates the new namespace but does not add an attribute to declare it.</para>
</td>
</tr>
<tr>
<td>
<para>doAutoSave</para>
</td>
<td>
<para>When the XML document closes, any changes are automatically saved back to the XML document file or to the XML property.</para>
<type namespace="XMLDOM">TParseOption</type> and <type namespace="XMLDOM">TParseOption</type>s represent implementation-specific options that are followed when parsing the XML document.</para>
<type namespace="XMLDOM">TParseOption</type>s is a set of <type namespace="XMLDOM">TParseOption</type> values. Each <type namespace="XMLDOM">TParseOption</type> value provides information about how a DOM parser should parse an XML document. Different DOM implementations support different options.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The following table lists the possible values:</para>
<para>External definitions (resolvable namespaces, DTD external subsets, and external entity references) are resolved at parse time.</para>
</td>
</tr>
<tr>
<td>
<para>poValidateOnParse</para>
</td>
<td>
<para>MSXML</para>
</td>
<td>
<para>The DOM parser validates the XML document against its schema information as well as verifying that it is well-formed XML.</para>
</td>
</tr>
<tr>
<td>
<para>poPreserveWhiteSpace</para>
</td>
<td>
<para>MSXML</para>
</td>
<td>
<para>White space in the text of the XML document is not stripped off.</para>
</td>
</tr>
<tr>
<td>
<para>poAsyncLoad</para>
</td>
<td>
<para>MSXML</para>
</td>
<td>
<para>The DOM parser works asynchronously. This can speed up performance, especially when parsing a large XML document, but can also lead to exceptions if the application tries to access nodes in the document before it is completely parsed.</para>
<type namespace="XMLDOM">TXMLEncodingType</type> indicates the character set used to encode characters in an XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The following table lists the possible <type namespace="XMLDOM">TXMLEncodingType</type> values:</para>
<class namespace="XMLIntf">IXMLDocument</class> represents an XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="XMLIntf">IXMLDocument</class> to work with an XML document. Applications can obtain an <class namespace="XMLIntf">IXMLDocument</class> interface through a TXMLDocument component, using the global LoadXMLDocument function, or through the OwnerDocument property of any node in the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Like the related DOM interface IDOMDocument, you can use <class namespace="XMLIntf">IXMLDocument</class> to access the contents of an XML document and to create new nodes. In addition, <class namespace="XMLIntf">IXMLDocument</class> lets you load an XML document that is stored on disk or assign a string of raw (unparsed) XML as the contents of the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TXMLDocument implements the <class namespace="XMLIntf">IXMLDocument</class> interface. Typically, the TXMLDocument component is the starting point for working with an XML document.</para>
<para>C++ method declarations that use <class namespace="XMLIntf">IXMLDocument</class> use the _di_<class namespace="XMLIntf">IXMLDocument</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="XMLIntf">IXMLDocument</class> interface:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates and adds a node to the child nodes of this document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">AddChild</method> to add a new child element node to the document itself. The new node is added to the end of the list maintained by the ChildNodes property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName is the tag name for the new element node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace, if any, that includes the new node's definition.</para>
<para>Do not call <method namespace="XMLIntf" class="IXMLDocument">AddChild</method> to add a child to the document element of this document. When adding data to the XML document, use the <method namespace="XMLIntf" class="IXMLDocument">AddChild</method> method of the document element or of the node in the hierarchy that should be the parent of the new node.</para>
</note>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.CreateElement">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new element node that is associated with this document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">CreateElement</method> to create a new generic element node. The resulting node does not have a parent, but can be added to the ChildNodes list of any node in the document (including this document's ChildNodes property). It can also be assigned to the DocumentElement property to replace the entire data hierarchy of this document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagOrData provides the tag name of the newly created node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace that includes the new node's definition.</para>
<para>To add a node as the child of another node in this document, it is simpler to call that node's AddChild method.</para>
</note>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.CreateNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new node that is associated with this document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">CreateNode</method> to create a new generic XML node. The resulting node does not have a parent, but can be added to the ChildNodes or AttributeNodes list of any node in the document (including this document's ChildNodes property).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NameOrData provides the tag name or value of the newly created node. Its interpretation depends on the type of node created, as indicated in the following table:</para>
<para>The target of the processing instruction.</para>
</td>
</tr>
<tr>
<td>
<para>ntComment</para>
</td>
<td>
<para>The value (text) of the comment.</para>
</td>
</tr>
<tr>
<td>
<para>ntDocFragment</para>
</td>
<td>
<para>Not used.</para>
</td>
</tr>
<tr>
<td>
<para>ntElement</para>
</td>
<td>
<para>The namespace URI that qualifies the tag name.</para>
</td>
</tr>
<tr>
<td>
<para>ntAttribute</para>
</td>
<td>
<para>The namespace URI that qualifies the attribute name.</para>
</td>
</tr>
<tr>
<td>
<para>ntProcessingInstr</para>
</td>
<td>
<para>The content of the processing instruction, except for the target.</para>
</td>
</tr>
</table>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeType indicates the type of node to create. It can only be one of the types listed in the previous table.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The meaning of AddlData depends on the node type, as indicated in the following table:</para>
<para>To add a node as the child of another node in this document, it is simpler to call that node's AddChild method.</para>
</note>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.GeneratePrefix">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Generates a unique namespace prefix that can be used for a node in the document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The AddChild method for each node allows the caller to specify that the new node should use an automatically-generated namespace prefix. When this option is specified, the node calls <method namespace="XMLIntf" class="IXMLDocument">GeneratePrefix</method> to generate a unique string to act as a namespace prefix.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface for the node which will use the newly-generated namespace prefix.</para>
<method namespace="XMLIntf" class="IXMLDocument">GeneratePrefix</method> returns a unique string that is not already used in the document to represent a namespace URI. The generated namespace prefixes are only unique within a single document.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.GetDocBinding">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Replaces a specified child node with an instance of a specified implementation class.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">GetDocBinding</method> to specify the implementation class for one of the child nodes of the document node. After replacing the specified node with an instance of the specified class, <method namespace="XMLIntf" class="IXMLDocument">GetDocBinding</method> returns the interface of the document element.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName is the tag name of the child node to be replaced. Typically, this identifies the document element.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">DocNodeClass is the implementation class to use for all child nodes with the specified tag name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the URI of the namespace in which TagName is defined.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.IsEmptyDoc">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the <method namespace="XMLIntf" class="IXMLDocument">IXMLDocument</method> instance represents an empty document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">IsEmptyDoc</method> to determine whether the <method namespace="XMLIntf" class="IXMLDocument">IXMLDocument</method> instance represents an empty document. <method namespace="XMLIntf" class="IXMLDocument">IsEmptyDoc</method> returns true if the DOMDocument property is not set (for example, if there is no DOM implementation) or if this interface represents a document with no child nodes.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.LoadFromFile">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Loads an XML document from disk.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">LoadFromFile</method> to load the XML document specified by AFileName so that you can examine or modify it.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AFileName is the name of the file to load.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Once you have loaded an XML document, any changes you make to the document are not saved back to disk until you call the SaveToFile method.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.LoadFromStream">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Loads an XML document from a stream and activates it.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">LoadFromStream</method> to load the XML document from a stream.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Stream is a stream object that can be used to read the string of XML that makes up the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">EncodingType indicates the character set that is used for Stream. If EncodingType is xetUnknown<condition language="Delphi"> (the default)</condition>, <method namespace="XMLIntf" class="IXMLDocument">LoadFromStream</method> attempts to infer the encoding type from the XML encoding declaration at the beginning of the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After loading the document from Stream, <method namespace="XMLIntf" class="IXMLDocument">LoadFromStream</method> sets the Active property to true.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.LoadFromXML">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Loads a string representation of an XML document and activates it.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">LoadFromXML</method> to assign a string as the value of the XML document. Unlike the XML property, which lets you assign XML on a line-by-line basis, <method namespace="XMLIntf" class="IXMLDocument">LoadFromXML</method> treats the text of the XML document as a whole.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After assigning the XML property as the contents of the document, <method namespace="XMLIntf" class="IXMLDocument">LoadFromXML</method> sets the Active property to true.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Refresh">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Updates the parsed XML document to reflect external changes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">Refresh</method> when the XML document specified by FileName has changed due to an external cause. <method namespace="XMLIntf" class="IXMLDocument">Refresh</method> updates the parsed version of the XML document (which can be traversed starting with DocumentElement) to reflect the current contents of the file specified by FileName.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Active property must be true when you call <method namespace="XMLIntf" class="IXMLDocument">Refresh</method>.</para>
<para>Do not call <method namespace="XMLIntf" class="IXMLDocument">Refresh</method> after making changes directly to the XML property, because assigning a value to XML automatically closes the XML document. To refresh the XML document after assigning a new value to XML, set the Active property to true.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Registers an implementation class for child nodes with a specified tag name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">RegisterDocBinding</method> to specify the implementation class for one of the child nodes of the document node. <method namespace="XMLIntf" class="IXMLDocument">RegisterDocBinding</method> replaces the specified node with an instance of the specified class.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName is the tag name of the child node to be replaced. Typically, this identifies the document element.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">DocNodeClass is the implementation class to use for all child nodes with the specified tag name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the URI of the namespace in which TagName is defined.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.Resync">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Forces all child nodes and attribute nodes to be reread from the underlying DOM implementation.</para>
<method namespace="XMLIntf" class="IXMLDocument">Resync</method> forces the document to reread the values of its child nodes and attribute nodes, discarding any changes that have not been propagated to the underlying DOM implementation.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.SaveToFile">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Saves the XML document to disk.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">SaveToFile</method> to save any modifications you have made to the parsed XML document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AFileName is the name of the file to save.</para>
<para>To save the modifications back to the file from which the document was originally read, use the value of the FileName property for the AFileName parameter.</para>
</tip>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.SaveToStream">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Saves the XML document to a stream.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">SaveToStream</method> to save the contents of the XML document to the stream specified by Stream. Regardless of the encoding system of the original XML document, <method namespace="XMLIntf" class="IXMLDocument">SaveToStream</method> always saves the stream in UTF-16.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.SaveToXML">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Saves the XML document to a string-type variable.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLIntf" class="IXMLDocument">SaveToXML</method> to save the contents of the XML document to the string-type variable specified by XML. <method namespace="XMLIntf" class="IXMLDocument">SaveToXML</method> writes the contents of XML document using UTF-8 or UTF-16 as an encoding system, depending on the type of the XML parameter.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Unlike the XML property, which lets you write individual lines from the XML document, <method namespace="XMLIntf" class="IXMLDocument">SaveToXML</method> writes the entire text of the XML document.</para>
</comments>
</member>
<member name="M:XMLIntf.XMLIntf.SetOnAsyncLoad">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Supplies an event handler that responds when the AsyncLoadState property changes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="XMLIntf" class="IXMLDocument">SetOnAsyncLoad</method> to supply a callback that responds when the asynchronous parsing of an XML document progresses to a certain point. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value is a method that is called when the AsyncLoadState property changes to reflect a new stage in the parsing process.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Active">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies whether the XML document has been parsed so that the DOM interfaces are available to examine or change its contents.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Before you can use <property namespace="XMLIntf" class="IXMLDocument">IXMLDocument</property> to examine or change the contents of an XML document, it must be active. Setting <property namespace="XMLIntf" class="IXMLDocument">Active</property> to true results in the parsing of the XML document specified by the FileName property or by the XML property. If both FileName and XML are empty strings, Setting <property namespace="XMLIntf" class="IXMLDocument">Active</property> to true causes <property namespace="XMLIntf" class="IXMLDocument">IXMLDocument</property> to represent an empty document.</para>
<property namespace="XMLIntf" class="IXMLDocument">Active</property> must be true before you can access the DOMDocument or DocumentElement properties.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.AsyncLoadState">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the state of the DOM parser when it parses the XML document asynchronously.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLDocument">AsyncLoadState</property> to determine that status of the DOM parser when it is parsing an XML document asynchronously. The value of <property namespace="XMLIntf" class="IXMLDocument">AsyncLoadState</property> is vendor-specific. That is, each DOM parser that loads and parses an XML document asynchronously supplies its own flags to indicate state information.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the DOM vendor is MSXML, <property namespace="XMLIntf" class="IXMLDocument">AsyncLoadState</property> can have any of the following values:</para>
<para>Uninitialized: The AsyncLoadState is not assigned. (Usually indicates that the parser has not tried to parse a document or it is not parsing the document asynchronously.)</para>
</td>
</tr>
<tr>
<td>
<para>1</para>
</td>
<td>
<para>Loading: The parser is currently parsing the structure of the XML document.</para>
</td>
</tr>
<tr>
<td>
<para>2</para>
</td>
<td>
<para>Loaded: The parser has finished reading and parsing the structure of the XML document, but the corresponding DOM interfaces are not yet available.</para>
</td>
</tr>
<tr>
<td>
<para>3</para>
</td>
<td>
<para>Interactive: The parser has parsed the structure of the XML document, the corresponding DOM interfaces are available, but the parser has not finished reading all the node values.</para>
</td>
</tr>
<tr>
<td>
<para>4</para>
</td>
<td>
<para>Complete: The parser has fully read and parsed the XML document.</para>
</td>
</tr>
</table>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.ChildNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists all of the child nodes of the document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLDocument">ChildNodes</property> to access all of the nodes that are children of the document object. In addition to DocumentElement, which is the root of the data hierarchy, <property namespace="XMLIntf" class="IXMLDocument">ChildNodes</property> can include nodes for comments, processing instructions, and so on.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.DocumentElement">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the root node of the XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLDocument">DocumentElement</property> to access the root node of the XML document. Because XML documents are hierarchical in structure, <property namespace="XMLIntf" class="IXMLDocument">DocumentElement</property> is the entry point to all data in the XML document. Setting <property namespace="XMLIntf" class="IXMLDocument">DocumentElement</property> replaces the entire data hierarchy with a new hierarchy of nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The IXMLNode interface includes properties and methods for examining and changing the text and attributes of a node, for adding and deleting child nodes, and for traversing the hierarchy of nodes rooted at that node.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.DOMDocument">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the DOM interface for the parsed XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLDocument">DOMDocument</property> to directly access the I<property namespace="XMLIntf" class="IXMLDocument">DOMDocument</property> interface for the parsed XML document. This is the interface supported by the DOM parser for the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Most applications do not need to use the <property namespace="XMLIntf" class="IXMLDocument">DOMDocument</property> property directly. Instead, it supplies the underlying support for parsing and manipulating the nodes accessed through DocumentElement. If you do want to make use of <property namespace="XMLIntf" class="IXMLDocument">DOMDocument</property>'s low-level support, you must be familiar with the W3C Document Object Model (DOM) Specification.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Encoding">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the character set that the XML document uses to encode characters.</para>
<property namespace="XMLIntf" class="IXMLDocument">Encoding</property> is the encoding name that appears in the document type declaration of the XML document. It is a string such as 'UTF-8', 'UTF-16', or 'ISO-10646-UCS-2' that indicates the character set used in the document.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.FileName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the XML document file, if any, that this interface represents.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLDocument">FileName</property> to get or set the name of the XML file that this document represents. <property namespace="XMLIntf" class="IXMLDocument">FileName</property> is set automatically when an application calls the LoadFromFile method or when this interface is obtained from the global LoadXMLDocument function.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When you set the value of <property namespace="XMLIntf" class="IXMLDocument">FileName</property>, the XML property automatically changes (at runtime) to represent the contents of that file.</para>
<para>The content of this XML document, which is available as the value of the XML property, may not be the same as the content of the specified file. If an application uses <property namespace="XMLIntf" class="IXMLDocument">IXMLDocument</property> to edit the document, those changes are not saved back to the XML document file until you call the SaveToFile method. </para>
<para>If the underlying DOM implementation supports it, you can use <property namespace="XMLIntf" class="IXMLDocument">FileName</property> to specify an URL rather than a file on disk.</para>
</tip>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Modified">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the XML document has been modified.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLDocument">Modified</property> to determine whether the application has made any changes to the nodes in the XML document. When <property namespace="XMLIntf" class="IXMLDocument">Modified</property> is true, the value of the XML property may differ from the contents of the file specified by FileName. You can call the SaveToFile method to update the XML document file to reflect the changes.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Node">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the document node for the XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLDocument">Node</property> to access the document node for the XML document. The document node represents information about the entire document. It may have several child nodes, which represent comments, processing instructions, and which include the DocumentElement node that acts as the root of the data hierarchy.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.NodeIndentStr">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the string that is inserted before nested nodes in the formatted XML text.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLIntf" class="IXMLDocument">NodeIndentStr</property> to customize how the document formats nodes that are added. When the Options property includes doNodeAutoIndent, this string is inserted in the generated XML before any newly added node, once for each nesting level.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If you do not assign a value to <property namespace="XMLIntf" class="IXMLDocument">NodeIndentStr</property>, <property namespace="XMLIntf" class="IXMLDocument">IXMLDocument</property> inserts two spaces to represent each nesting level.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Options">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Influences various aspects of the document's behavior.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="XMLIntf" class="IXMLDocument">Options</property> to configure how you want the document to respond when the application tries to read nodes or attributes that do not exist, when it creates a new namespace when adding a node, when it generates XML text from the nodes in the document, or whether it saves its value automatically when you close the document. <property namespace="XMLIntf" class="IXMLDocument">Options</property> can include any of the following values:</para>
<para>If the application tries to read a node by name, using the Nodes property of an IXMLNodeList interface, and that node does not exist, then the application creates a new node using the specified name.</para>
</td>
</tr>
<tr>
<td>
<para>doNodeAutoIndent</para>
</td>
<td>
<para>When formatting the XML text from the parsed set of nodes, child nodes are automatically indented from their parent nodes.</para>
</td>
</tr>
<tr>
<td>
<para>doAttrNull</para>
</td>
<td>
<para>When reading the value of an attribute that does not exist, the value is given as a Null Variant (as opposed to a value of an empty string).</para>
</td>
</tr>
<tr>
<td>
<para>doAutoPrefix</para>
</td>
<td>
<para>When generating the name of a new node, the value is automatically given a namespace prefix if a namespace URI is supplied.</para>
</td>
</tr>
<tr>
<td>
<para>doNamespaceDecl</para>
</td>
<td>
<para>When the AddChild method must create a new namespace for the node, it also adds a namespace attribute to declare that new namespace. If doNamespaceDecl is not included, AddChild creates the new namespace but does not add an attribute to declare it.</para>
</td>
</tr>
<tr>
<td>
<para>doAutoSave</para>
</td>
<td>
<para>When you close the document (set Active to false), any changes are automatically saved back to the file specified by FileName or to the XML property.</para>
</td>
</tr>
</table>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.ParseOptions">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies implementation-specific options that are followed when parsing the XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="XMLIntf" class="IXMLDocument">ParseOptions</property> to influence the way the DOM implementation parses the XML document. Different DOM implementations support different options. If you attempt to use an option that is not supported by your DOM implementation, <property namespace="XMLIntf" class="IXMLDocument">IXMLDocument</property> raises an EXMLDocError exception.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.SchemaRef">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the name of the schema associated with this XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLDocument">SchemaRef</property> to determine the schema associated with this XML document. If the document does not have an attribute that identifies an associated schema, the value of <property namespace="XMLIntf" class="IXMLDocument">SchemaRef</property> is an empty string.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.StandAlone">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the XML document includes any external markup declarations.</para>
<property namespace="XMLIntf" class="IXMLDocument">StandAlone</property> is the value of the stand-alone attribute on the document type declaration of the XML document. <property namespace="XMLIntf" class="IXMLDocument">StandAlone</property> has a value of 'yes' or 'no'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="XMLIntf" class="IXMLDocument">StandAlone</property> is 'yes', the document contains no external markup declarations. It may, however, still contain references to external entities, as long as they are not declarations.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="XMLIntf" class="IXMLDocument">StandAlone</property> is 'no', the document may or may not contain external markup declarations.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.Version">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the XML version that the document uses.</para>
<property namespace="XMLIntf" class="IXMLDocument">Version</property> indicates the XML version number that the document uses. An XML version number is a string of the form 'n.m', where n is the major version number and m is the minor version number.</para>
</comments>
</member>
<member name="P:XMLIntf.XMLIntf.XML">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the content of the <property namespace="XMLIntf" class="IXMLDocument">XML</property> document associated with this I<property namespace="XMLIntf" class="IXMLDocument">XML</property>Document interface.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLIntf" class="IXMLDocument">XML</property> to obtain the contents of the associated <property namespace="XMLIntf" class="IXMLDocument">XML</property> document. Set <property namespace="XMLIntf" class="IXMLDocument">XML</property> to specify the raw (unparsed) <property namespace="XMLIntf" class="IXMLDocument">XML</property> you want to examine or manipulate.</para>
<property namespace="XMLIntf" class="IXMLDocument">XML</property> is a TStrings object. This means you can manipulate the <property namespace="XMLIntf" class="IXMLDocument">XML</property> line by line. To read or write the <property namespace="XMLIntf" class="IXMLDocument">XML</property> in the document as a single string, use the LoadFrom<property namespace="XMLIntf" class="IXMLDocument">XML</property> or SaveTo<property namespace="XMLIntf" class="IXMLDocument">XML</property> method.</para>
<para>If you call the LoadFromFile, LoadFromStream, or LoadFrom<property namespace="XMLIntf" class="IXMLDocument">XML</property> method, <property namespace="XMLIntf" class="IXMLDocument">XML</property> is automatically updated to reflect the contents of that file.</para>
<type namespace="XmlDoc">TNodeListOperation</type> indicates what type of change is about to occur using an IXMLNodeList interface.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When an application makes a change using the IXMLNodeList interface, the implementing object sends its owner a notification of that change. <type namespace="XmlDoc">TNodeListOperation</type> identifies the type of change that is about to occur. The following table lists the possible values:</para>
<class namespace="XMLDoc">TXMLNodeList</class> is used to represent a set of related nodes (IXMLNode interfaces) in an XML document. For example, <class namespace="XMLDoc">TXMLNodeList</class> is used to represent all of the children of a node, or all of the attributes of a node, or all of the nodes in a collection of repeating nodes.</para>
<class namespace="XMLDoc">TXMLNodeList</class> can be used to add or delete nodes from the collection, or to access specific nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Typically, applications do not use <class namespace="XMLDoc">TXMLNodeList</class> directly. Instead, they access it through the IXMLNodeList interface.</para>
<method namespace="XMLDoc" class="TXMLNodeList">Add</method>s a new node to the end of the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">Add</method> to add a node to the end of the list. <method namespace="XMLDoc" class="TXMLNodeList">Add</method> returns the index of the node once it is added, where 0 is the index of the first node in the list, 1 is the index of the second node, and so on.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the node to add to the list.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Delete">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Removes a specified node from the list.</para>
<method namespace="XMLDoc" class="TXMLNodeList">Delete</method> removes the node specified by the Index or Name parameter. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Name identifies the node to remove from the list. This is the local name of the node to remove.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace to use when interpreting Name. If the node is identified by Name, but no NamespaceURI parameter is provided, <method namespace="XMLDoc" class="TXMLNodeList">Delete</method> uses DefaultNamespaceURI.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index identifies the node to remove by index rather than name. Index ranges from 0 to one less than the value of the Count property.</para>
<method namespace="XMLDoc" class="TXMLNodeList">Delete</method> returns the index of the node that was removed. If there was no node that matched the value of Index or Name, <method namespace="XMLDoc" class="TXMLNodeList">Delete</method> returns ΓÇô1. </para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.First">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the first node in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">First</method> to access the first node in the list. If the list is empty, <method namespace="XMLDoc" class="TXMLNodeList">First</method> raises an exception. </para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.FindNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a specified node from the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">FindNode</method> to access a particular node in the list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeName is the node to access. It specifies the LocalName property of the desired node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace that qualifies NodeName. It is the same as the NamespaceURI property of the desired node. If the first syntax is used (omitting NamespaceURI), <method namespace="XMLDoc" class="TXMLNodeList">FindNode</method> uses the value of the DefaultNamespaceURI property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ChildNodeType identifies the node to access by its interface type (GUID), rather than by name. When using ChildNodeType, <method namespace="XMLDoc" class="TXMLNodeList">FindNode</method> returns the first child node it finds that implements the specified interface.</para>
<method namespace="XMLDoc" class="TXMLNodeList">FindNode</method> returns the interface for the node if it is in the list. If NodeName or ChildNodeType does not specify a node in the list, <method namespace="XMLDoc" class="TXMLNodeList">FindNode</method> returns nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.FindSibling">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a node that appears a specified amount before or after another node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">FindSibling</method> to access the node whose position has a specified relationship to another node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is a node in the list to use as a reference point.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Delta indicates where the desired node appears, relative to Node. If Delta is positive, <method namespace="XMLDoc" class="TXMLNodeList">FindSibling</method> returns the node that appears Delta positions after Node. If Delta is negative, <method namespace="XMLDoc" class="TXMLNodeList">FindSibling</method> returns a node that appears before Node.</para>
<method namespace="XMLDoc" class="TXMLNodeList">FindSibling</method> returns the node that appears at the position offset by Delta, relative to the position of Node. If Delta specifies a position before the first node or after the last node in the list, <method namespace="XMLDoc" class="TXMLNodeList">FindSibling</method> returns nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Get">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a specified node in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">Get</method> to retrieve a node from the list, given its index.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index specifies the node to fetch, where 0 identifies the first node, 1 identifies the second node, and so on. Index should be less than the value of the Count property. </para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a specified node from the list.</para>
<method namespace="XMLDoc" class="TXMLNodeList">GetNode</method> returns the interface to a node that is identified by name or by position.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName identifies the desired node. It can be</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The index of the node, where 0 is the index of the first node, 1 is the index of the second node, and so on.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The LocalName property of a node in the list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If IndexOrName does not identify a node in the list, <method namespace="XMLDoc" class="TXMLNodeList">GetNode</method> tries to create a new node with the name specified by IndexOrName. If it can't create the new node, <method namespace="XMLDoc" class="TXMLNodeList">GetNode</method> raises an exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.IndexOf">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the index of a specified node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">IndexOf</method> to locate a node in the list. You can specify which node to locate using its name or its interface.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Name is the LocalName property of the node to locate.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace to use when interpreting LocalName. If Name is used without a NamespaceURI parameter (the first syntax), <method namespace="XMLDoc" class="TXMLNodeList">IndexOf</method> uses the value of the DefaultNamespaceURI property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface of the node to locate.</para>
<method namespace="XMLDoc" class="TXMLNodeList">IndexOf</method> returns the index of the specified node, where 0 is the index of the first node, 1 is the index of the second node, and so on. If the specified node is not in the list, <method namespace="XMLDoc" class="TXMLNodeList">IndexOf</method> returns -1.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Last">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the last node in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">Last</method> to access the last node in the list. If the list is empty, <method namespace="XMLDoc" class="TXMLNodeList">Last</method> raises an exception. </para>
<method namespace="XMLDoc" class="TXMLNodeList">Remove</method> returns the index of Node before it was removed. If node is not a node in the list, <method namespace="XMLDoc" class="TXMLNodeList">Remove</method> returns -1.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.ReplaceNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Replaces a node in the list with another node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">ReplaceNode</method> to replace the node specified by OldNode with the node specified by NewNode.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">OldNode is the node to replace. If OldNode does not appear in the list, then <method namespace="XMLDoc" class="TXMLNodeList">ReplaceNode</method> adds the new node to the end of the list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NewNode is the node to add to the list in place of OldNode.</para>
<method namespace="XMLDoc" class="TXMLNodeList">DoNotify</method> executes the callback that is assigned to NotificationProc when the list adds, deletes, or needs to create nodes in the list. The parameters are supplied as parameters to the callback, and <method namespace="XMLDoc" class="TXMLNodeList">DoNotify</method> returns the node that was added, deleted, or created.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Operation indicates what change is about to occur or has just occurred.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the node that is being added or removed from the list, or that acts as a parent if the callback must create a node (when Operation is nlCreateNode).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName is the name of the node to be created when Operation is nlCreateNode. Otherwise, it is the name or index of the node being deleted or added.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">BeforeOperation indicates whether the call occurs before the indicated operation or after. When nodes are inserted and removed, a call is made first with BeforeOperation set to true, then the operation occurs, and then a second callback is made with BeforeOperation set to false. When nodes must be created, only one call is made, with BeforeOperation set to true.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.InternalInsert">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the underlying implementation of the Insert method</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Insert method calls <method namespace="XMLDoc" class="TXMLNodeList">InternalInsert</method> to add a node at the position specified by Index.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index specifies where to insert the node, where 0 is the first position, 1 is second position, and so on. If Index is ΓÇô1, the node is added to the end of the list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the node to add to the list.</para>
<method namespace="XMLDoc" class="TXMLNodeList">InternalInsert</method> returns the index of the node after it is inserted. This is the same as the Index parameter when Index is not ΓÇô1.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Create">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Instantiates a <method namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</method> object.</para>
<method namespace="XMLDoc" class="TXMLNodeList">Create</method>instantiates a new <method namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</method> object. Typically, <method namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</method> is created by another object that represents a node. The <method namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</method> represents a set of nodes that are of interest to the other object that creates it.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AOwner is the node that creates <method namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</method> to represent a set of its child nodes or attributes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">DefaultNamespaceURI identifies the namespace that is used by default for nodes added to this list when no namespace is explicitly specified.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NotificationProc is a callback that <method namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</method> calls when nodes are added to or removed from the list, or when new nodes need to be created.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.BeginUpdate">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Increments the value of UpdateCount.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">BeginUpdate</method> before making several changes to the nodes in the list (such as adding or removing several nodes). <method namespace="XMLDoc" class="TXMLNodeList">BeginUpdate</method> increments the UpdateCount property, to keep track of the fact that the list is in the middle of an update. When the update is complete, call EndUpdate to decrement the UpdateCount property. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Every call to <method namespace="XMLDoc" class="TXMLNodeList">BeginUpdate</method> should be matched by a call to EndUpdate, so that the UpdateCount property accurately reflects whether an update operation is underway.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Clear">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Removes all nodes from the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">Clear</method> to empty the list.</para>
<method namespace="XMLDoc" class="TXMLNodeList">Clear</method> does not call the BeginUpdate and EndUpdate methods. NotificationProc is called for every node in the list as it is removed.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.EndUpdate">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Decrements the value of UpdateCount.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">EndUpdate</method> after making several changes to the nodes in the list (such as adding or removing several nodes). <method namespace="XMLDoc" class="TXMLNodeList">EndUpdate</method> decrements the UpdateCount property, which was incremented by a previous call to BeginUpdate.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Every call to BeginUpdate should be matched by a call to <method namespace="XMLDoc" class="TXMLNodeList">EndUpdate</method>, so that the UpdateCount property accurately reflects whether an update operation is underway.</para>
<method namespace="XMLDoc" class="TXMLNodeList">Insert</method>s a new node into a specified position in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLNodeList">Insert</method> to add a node at the position specified by Index. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index specifies where to insert the node, where 0 is the first position, 1 is second position, and so on. If Index does not specify a valid index, <method namespace="XMLDoc" class="TXMLNodeList">Insert</method> raises an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the node to add to the list.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Count">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of nodes in the collection.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDoc" class="TXMLNodeList">Count</property> to determine the number of nodes in the list. To change the value of <property namespace="XMLDoc" class="TXMLNodeList">Count</property>, use the IXMLNodeList interface. Add nodes using the Add or Insert method, or remove them using the Delete or Remove method. </para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.UpdateCount">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of times an application has called BeginUpdate without a matching call to EndUpdate.</para>
<property namespace="XMLDoc" class="TXMLNodeList">UpdateCount</property> keeps track of whether all update operations have been completed. When an application starts making changes to the list, it calls BeginUpdate, which increments <property namespace="XMLDoc" class="TXMLNodeList">UpdateCount</property>. When those changes are complete, it calls EndUpdate, which decrements <property namespace="XMLDoc" class="TXMLNodeList">UpdateCount</property>. Thus, <property namespace="XMLDoc" class="TXMLNodeList">UpdateCount</property> allows calls to BeginUpdate and EndUpdate to be nested.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can avoid responding to updates in a piecemeal fashion by checking <property namespace="XMLDoc" class="TXMLNodeList">UpdateCount</property> and only responding when it is 0. For example, the callback that is supplied to the <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> constructor typically checks <property namespace="XMLDoc" class="TXMLNodeList">UpdateCount</property> before responding to change notifications.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the default Namespace for the nodes in this collection.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDoc" class="TXMLNodeList">DefaultNamespaceURI</property> to determine the namespace that is used by default when locating nodes in the list. The IndexOf, FindNode, and Delete methods all use this namespace when trying to match the name of a node if a namespace is not explicitly supplied.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="XMLDoc" class="TXMLNodeList">DefaultNamespaceURI</property> is set by the <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> constructor. </para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.List">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Stores the interfaces for every node in the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TXMLNode<property namespace="XMLDoc" class="TXMLNodeList">List</property> uses <property namespace="XMLDoc" class="TXMLNodeList">List</property> internally to store and manage the interfaces to the nodes it represents.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Owner">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the node that uses this <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> object to manage a set of its child or attribute nodes.</para>
<property namespace="XMLDoc" class="TXMLNodeList">Owner</property> designates the node that instantiates <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> to manage a set of its child or attribute nodes. This value is supplied to the <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> constructor.</para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.NotificationProc">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies a callback that <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> calls when nodes are added to or removed from the list, or when new nodes need to be created</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The node that instantiates <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> to manage a set of its child or attribute nodes supplies the value of this callback to the <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> constructor. <property namespace="XMLDoc" class="TXMLNodeList">TXMLNodeList</property> then calls this callback when its methods are used to add, create, or remove nodes.</para>
<class namespace="XMLDoc">TXMLNode</class> represents a node in an XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The XML Data Binding Wizard uses <class namespace="XMLDoc">TXMLNode</class> as a base class for the classes it generates to represent nodes that have child nodes. For example, if the XML document includes the following:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">then the XML Data Binding Wizard generates <class namespace="XMLDoc">TXMLNode</class> descendants for the elements Address and Name. Child nodes and node attributes appear as properties of the <class namespace="XMLDoc">TXMLNode</class> descendant.</para>
<para>The XML Data Binding Wizard also generates code that can create <class namespace="XMLDoc">TXMLNode</class> objects for attributes as well as element nodes. However, there are no special <class namespace="XMLDoc">TXMLNode</class> descendants for attribute nodes. Rather, each attribute is represented directly by <class namespace="XMLDoc">TXMLNode</class>.</para>
<class namespace="XMLDoc">TXMLNode</class> implements the IXMLNode interface. Each <class namespace="XMLDoc">TXMLNode</class> descendant implements a class-specific interface that descends from IXMLNode. Typically, applications do not work directly with <class namespace="XMLDoc">TXMLNode</class>. Instead, they use the IXMLNode interface or the IXMLNode descendant that is implemented by a <class namespace="XMLDoc">TXMLNode</class> descendant.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc._AddRef">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Increments the reference count for this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">_<method namespace="XMLDoc" class="TXMLNode">AddRef</method> implements the IInterface or IUnknown method that is called when an application obtains a reference to this node's interface pointer. _<method namespace="XMLDoc" class="TXMLNode">AddRef</method> increments the RefCount property. In addition, to ensure that the document object is alive, it also increments the reference count for the owning document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the caller is through with the interface, it calls _Release. This allows the node to free itself when it is no longer used (when the reference count goes to zero).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc._Release">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Decrements the reference count for this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">_<method namespace="XMLDoc" class="TXMLNode">Release</method> implements the IInterface or IUnknown method that is called when an application releases a reference to this node's interface pointer. _<method namespace="XMLDoc" class="TXMLNode">Release</method> decrements the RefCount property. In addition, it also decrements the reference count for the owning document, which it incremented when the _AddRef method was called.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When _<method namespace="XMLDoc" class="TXMLNode">Release</method> causes the node's reference count to drop to zero, _<method namespace="XMLDoc" class="TXMLNode">Release</method> causes the node to free itself.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetAttribute">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of one of this node's attributes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetAttribute</method> method. <method namespace="XMLDoc" class="TXMLNode">GetAttribute</method> returns the value of an attribute of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AttrName is the name of the attribute.</para>
<method namespace="XMLDoc" class="TXMLNode">GetAttribute</method> returns the value of the specified attribute. Typically, this value is a string. If the node does not have an attribute with the name specified by AttrName, the value that <method namespace="XMLDoc" class="TXMLNode">GetAttribute</method> returns is determined by the document's Options property. When Options include doAttrNull, <method namespace="XMLDoc" class="TXMLNode">GetAttribute</method> returns a Null Variant for missing attributes. When Options does not include doAttrNull, <method namespace="XMLDoc" class="TXMLNode">GetAttribute</method> returns an empty string as the value of missing attributes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node is not an element node, <method namespace="XMLDoc" class="TXMLNode">GetAttribute</method> raises an EXMLDocError exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetAttributeNS">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of a specified attribute when you must explicitly specify the namespace for the attribute.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetAttributeNS</method> method. <method namespace="XMLDoc" class="TXMLNode">GetAttributeNS</method> returns the value of an attribute of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AttrName is the name of the attribute.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace in which the attribute resides.</para>
<method namespace="XMLDoc" class="TXMLNode">GetAttributeNS</method> returns the value of the specified attribute. If AttrName and NamespaceURI do not identify an attribute of this node, <method namespace="XMLDoc" class="TXMLNode">GetAttributeNS</method> returns a Null Variant. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node is not an element node, <method namespace="XMLDoc" class="TXMLNode">GetAttributeNS</method> raises an EXMLDocError exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetChildValue">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of a specified child node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetChildValue</method> method. <method namespace="XMLDoc" class="TXMLNode">GetChildValue</method> returns the value of the node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName identifies the desired child node by either its interface, or by a string that is the local name of the child node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If IndexOrName does not identify a child of this node, <method namespace="XMLDoc" class="TXMLNode">GetChildValue</method> nil (Delphi) or NULL (C++). Otherwise, the return value depends on the type of the child node, as indicated in the following table:</para>
<para>Attributes are not considered child nodes of a node. To get the values of this node's attributes, use the GetAttribute method instead.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetCollection">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of the Collection property.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetCollection</method> method. <method namespace="XMLDoc" class="TXMLNode">GetCollection</method> returns the value of the Collection property. If this node is not a member of a collection (that is, if it does not represent one of a set of child nodes that are all the same type), then <method namespace="XMLDoc" class="TXMLNode">GetCollection</method> returns nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetDOMNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of the DOMNode property.</para>
<method namespace="XMLDoc" class="TXMLNode">GetDOMNode</method> is the protected read implementation of the DOMNode property.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetHasChildNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether this node has any child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetHasChildNodes</method> method. <method namespace="XMLDoc" class="TXMLNode">GetHasChildNodes</method> returns true if the underlying DOM node has any child nodes, false if it doesn't.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Note that even if the underlying DOM node has a child node, there may not be a <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object to represent that child. For example, text nodes do not, by default, have corresponding <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> wrappers. Rather, the text becomes the value of the parent element node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetIsTextElement">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the node has a single text value.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetIsTextElement</method> method. <method namespace="XMLDoc" class="TXMLNode">GetIsTextElement</method> returns true if the node represents an XML fragment such as </para>
<codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Title> Understanding XML </Title></codeBlock>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">where the node has a tag name (in this case Title) and a single text value (in this case 'Understanding XML').</para>
<para>In the underlying DOM implementation, nodes for which <method namespace="XMLDoc" class="TXMLNode">GetIsTextElement</method> is true are element nodes that have a single child node that is a text node. <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> flattens this out so that the child text node does not appear as a child node. Instead, the text can be accessed through the GetText method.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetLocalName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the name of the node without any namespace prefix.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetLocalName</method> method. <method namespace="XMLDoc" class="TXMLNode">GetLocalName</method> returns the local name of the underlying DOM node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For element nodes, the local name is derived from the name that appears in the XML tag. For example, the local name for <xsi:Name First="John" Last="Doe"> is 'Name'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For attribute nodes, the local name is derived from the string that appears to the left of the equals sign in the attribute declaration. For example the element <Name First=John Last=Doe> results in two attribute nodes, with the local names 'First' and 'Last'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For any other node types, the local name is nil (Delphi) or NULL (C++).</para>
<para>If both GetPrefix and <method namespace="XMLDoc" class="TXMLNode">GetLocalName</method> return a value for a node, the node name (returned by GetNodeName) is the combination of these two values.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetNamespaceURI">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the URI for the namespace used in the qualified node name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetNamespaceURI</method> method. <method namespace="XMLDoc" class="TXMLNode">GetNamespaceURI</method> returns the URI for the namespace that should be used to interpret the node's name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Only element and attribute nodes can have a namespace URI value. For any other node type, <method namespace="XMLDoc" class="TXMLNode">GetNamespaceURI</method> returns nil (Delphi) or NULL (C++). </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The namespace URI is only available if it is explicitly assigned when the node is created. By default, <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> does not assign namespaces to the new nodes it creates.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetNodeName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the node name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetNodeName</method> method. <method namespace="XMLDoc" class="TXMLNode">GetNodeName</method> returns the name of the underlying DOM node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The node's name depends on the type of the node, as indicated in the following table:</para>
<para>If GetPrefix and GetLocalName both return values for a node, the node name is the combination of these two values.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetNodeType">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the type of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetNodeType</method> method. <method namespace="XMLDoc" class="TXMLNode">GetNodeType</method> returns the type of the underlying DOM node that this <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object represents.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetNodeValue">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetNodeValue</method> method. <method namespace="XMLDoc" class="TXMLNode">GetNodeValue</method> returns the value of the node. This value depends on the type of the node, as indicated in the following table:</para>
<para>If the element contains only text, this is that text value. Otherwise, GetNodeValue raises an exception.</para>
</td>
</tr>
<tr>
<td>
<para>ntText</para>
</td>
<td>
<para>The text</para>
</td>
</tr>
<tr>
<td>
<para>ntCData</para>
</td>
<td>
<para>The content of the CDATA section.</para>
</td>
</tr>
<tr>
<td>
<para>ntEntityRef</para>
</td>
<td>
<para>nil (Delphi) or NULL (C++)</para>
</td>
</tr>
<tr>
<td>
<para>ntProcessingInstr</para>
</td>
<td>
<para>The content of the processing instruction except for the target.</para>
</td>
</tr>
<tr>
<td>
<para>ntComment</para>
</td>
<td>
<para>The value (text) of the comment.</para>
</td>
</tr>
<tr>
<td>
<para>ntDocFragment</para>
</td>
<td>
<para>nil (Delphi) or NULL (C++)</para>
</td>
</tr>
</table>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetOwnerDocument">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the interface for the document in which this node appears.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetOwnerDocument</method> method. <method namespace="XMLDoc" class="TXMLNode">GetOwnerDocument</method> returns the value of the OwnerDocument property.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetParentNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the interface for the node's parent node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetParentNode</method> method. <method namespace="XMLDoc" class="TXMLNode">GetParentNode</method> returns the interface of the node's parent node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetPrefix">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the namespace prefix of the node's name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetPrefix</method> method. <method namespace="XMLDoc" class="TXMLNode">GetPrefix</method> returns the namespace prefix of an element or attribute node's name. A namespace prefix is a symbolic name for a namespace URI.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For element nodes, the namespace prefix is derived from the name that appears in the XML tag. For example, the namespace prefix for <xsi:Name First="John" Last="Doe"> is 'xsi'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For attribute nodes, the namespace prefix is derived from the string that appears to the left of the equals sign in the attribute declaration. For example the element <xsi:Name xsn:First="John" Last="Doe"> results in two attribute nodes, with namespace prefixes of 'xsn' and '', respectively. Note that the attribute never inherits a namespace prefix from the node to which it is attached.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For any other node types, the namespace prefix is nil (Delphi) or NULL (C++).</para>
<para>If both <method namespace="XMLDoc" class="TXMLNode">GetPrefix</method> and GetLocalName return a value for a node, the node name (returned by GetNodeName) is the combination of these two values.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetReadOnly">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the node can be modified.</para>
<method namespace="XMLDoc" class="TXMLNode">GetReadOnly</method> returns true if the node can't be modified. Read-only nodes raise an EXMLDocError exception when an attempt is made to change their value, child nodes, or attributes.</para>
<para>Use the ReadOnly property on the IXMLNode interface to specify whether a node is read-only.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetText">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the text value of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetText</method> method. <method namespace="XMLDoc" class="TXMLNode">GetText</method> returns the text of the node. For example, if the node represents an XML fragment such as </para>
<codeBlock xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Title> Understanding XML </Title></codeBlock>
<method namespace="XMLDoc" class="TXMLNode">GetText</method> is intended for use when the GetIsTextElement method returns true. If GetIsTextElement returns false, <method namespace="XMLDoc" class="TXMLNode">GetText</method> returns an empty string if the node has no children, otherwise it raises an exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetXML">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the XML that corresponds to the subtree rooted at this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">GetXML</method> method. <method namespace="XMLDoc" class="TXMLNode">GetXML</method> returns the XML that corresponds to this node and any child nodes it contains.</para>
<method namespace="XMLDoc" class="TXMLNode">GetXML</method> is only available when the DOMVendor used to parse this node's XML document is MSXML. </para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.AddChild">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Adds a new child node to this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">AddChild</method> method. Only the first two versions of <method namespace="XMLDoc" class="TXMLNode">AddChild</method> are available on the IXMLNode interface. The third syntax is used by <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> descendants that the XML data binding wizard creates.</para>
<method namespace="XMLDoc" class="TXMLNode">AddChild</method> creates a new element node as the child of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName provides the tag name of the newly created node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index indicates the position of the child node in this node's list of children, where 0 is the first position, 1 is the second position, and so on. If Index is ΓÇô1, the new node is added to the end.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace that includes the new node's definition. If NamespaceURI is omitted (the first syntax), the namespace of the new node is deduced from the namespace prefix of TagName. If TagName has no namespace prefix and there is no NamespaceURI parameter, the namespace is the same as this node's NamespaceURI property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">GenPrefix controls whether <method namespace="XMLDoc" class="TXMLNode">AddChild</method> generates a namespace prefix for the namespace URI when the NamespaceURI parameter identifies a URI that is not already declared in the document. Note that setting GenPrefix to true does not cause <method namespace="XMLDoc" class="TXMLNode">AddChild</method> to add a declaration of the new namespace prefix unless the document's Options property includes doNamespaceDecl.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeClass identifies the implementation class to use for the new child node. It must be <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> or one of its descendants.</para>
<method namespace="XMLDoc" class="TXMLNode">AddChild</method> only adds element nodes. To add other types of child nodes, use the XML document's CreateNode method instead, and then add the resulting node to the ChildNodes property array.</para>
</tip>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CloneNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a copy of this node and returns its interface.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">CloneNode</method> method. To create a copy of this node, use the <method namespace="XMLDoc" class="TXMLNode">CloneNode</method> method of this node's IXMLNode interface.</para>
<method namespace="XMLDoc" class="TXMLNode">CloneNode</method> returns a copy of this node that has no parent. Any attributes of this node are copied as well, including attribute nodes that represent default values.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Deep indicates whether the child nodes of this node should be cloned as well. For example, if an element node contains any text, <method namespace="XMLDoc" class="TXMLNode">CloneNode</method> only copies then text when deep is true, because in the underlying DOM implementation, the text is contained in a child node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.FindNamespaceDecl">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the attribute node that declares a specified Namespace URI.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">FindNamespaceDecl</method> method. <method namespace="XMLDoc" class="TXMLNode">FindNamespaceDecl</method> searches the node hierarchy that contains this node for an attribute that specifies the mapping between a namespace prefix and the namespace URI specified by NamespaceURI. If it finds such a mapping, <method namespace="XMLDoc" class="TXMLNode">FindNamespaceDecl</method> returns the interface for the Attribute node. If it does not find a mapping, <method namespace="XMLDoc" class="TXMLNode">FindNamespaceDecl</method> returns nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the namespace URI to locate.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.FindNamespaceURI">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the namespace URI for a namespace prefix or qualified tag name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">FindNamespaceURI</method> method. FindNamespaceDecl searches the node hierarchy that contains this node for an attribute that specifies the mapping between the namespace prefix identified by TagOrPrefix and a namespace URI. If it finds such a mapping, <method namespace="XMLDoc" class="TXMLNode">FindNamespaceURI</method> returns the namespace URI. If it does not find a mapping, <method namespace="XMLDoc" class="TXMLNode">FindNamespaceURI</method> returns an empty string.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagOrPrefix is the namespace prefix or a tag name that includes the namespace prefix.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.HasAttribute">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the node has an attribute with a specified name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">HasAttribute</method> method. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Name is the name of the attribute about which you want to know.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the namespace of the attribute.</para>
<method namespace="XMLDoc" class="TXMLNode">HasAttribute</method> returns true if this node has the specified attribute, false otherwise.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.NextSibling">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the next child of this node's parent.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">NextSibling</method> method. <method namespace="XMLDoc" class="TXMLNode">NextSibling</method> returns the node that follows this one in the parent node's ChildNodes property list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node is the last node in its parent's child list, <method namespace="XMLDoc" class="TXMLNode">NextSibling</method> raises an exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.PreviousSibling">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the previous child of this node's parent.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">PreviousSibling</method> method. <method namespace="XMLDoc" class="TXMLNode">PreviousSibling</method> returns the node that precedes this one in the parent node's ChildNodes property list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node is the first node in its parent's child list, <method namespace="XMLDoc" class="TXMLNode">PreviousSibling</method> raises an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object for an attribute of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">CreateAttributeNode</method> method. <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> uses this method internally to generate the nodes that populate the AttributeNodes property. </para>
<method namespace="XMLDoc" class="TXMLNode">CreateAttributeNode</method> creates a new <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object for the specified IDOMNode interface and returns its interface.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ADOMNode is the interface for the DOM implementation's version of the attribute node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CreateChildNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object for a child node of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">CreateChildNode</method> method. This method is used internally to create the implementation object for a new child node.</para>
<method namespace="XMLDoc" class="TXMLNode">CreateChildNode</method> creates a new <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> descendant for the specified IDOMNode interface, with this node as the parent. If the node name of the DOM node matches one of the names listed by the ChildNodeClasses property, the corresponding descendant of <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> becomes the implementation class of the new node. Otherwise, the new node is an instance of <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method>.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ADOMNode is the interface for the DOM implementation's version of the node.</para>
<method namespace="XMLDoc" class="TXMLNode">CreateChildNode</method> returns the interface for the newly created child node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CreateCollection">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates an instance of a <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method>Collection descendant and returns it.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">CreateCollection</method> method. It is used internally to generate the collections that are listed in the HostedNodes property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">CollectionClass specifies the class (a <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method>Collection descendant) that implements the collection of child nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ItemInterface specifies the interface for each child node in the collection.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ItemTag specifies the tag name for each child node in the collection.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ItemNS specifies the namespace in which ItemTag is defined.</para>
<method namespace="XMLDoc" class="TXMLNode">CreateCollection</method> returns the new hosted collection node. This new node has the same parent node, DOM interface, attribute nodes, and child nodes as this node, but it also maintains a list of only those child nodes with the specified tag and interface. The new collection node lists this node as the value of its HostNode property.</para>
<method namespace="XMLDoc" class="TXMLNode">CreateCollection</method> raises an exception if this is a hosted node.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.DOMElement">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the I<method namespace="XMLDoc" class="TXMLNode">DOMElement</method> interface for this node if it exists.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Application's can't call the protected <method namespace="XMLDoc" class="TXMLNode">DOMElement</method> method. <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> uses this method internally to obtain the DOM element interface, which it uses for working with attributes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> instance does not represent an element node, <method namespace="XMLDoc" class="TXMLNode">DOMElement</method> raises an EXMLDocError exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.FindHostedNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the IXMLNode interface for a hosted node given its implementation class.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">FindHostedNode</method> method. Descendant classes call this method to locate a hosted node of a particular class type.</para>
<method namespace="XMLDoc" class="TXMLNode">FindHostedNode</method> searches the nodes in the HostedNodes list and returns the first one it finds that is an instance of descendant of NodeClass. If this node does not have a hosted node of the specified class, <method namespace="XMLDoc" class="TXMLNode">FindHostedNode</method> returns nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetHostNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the value of the HostNode property.</para>
<method namespace="XMLDoc" class="TXMLNode">GetHostNode</method> returns the node that uses this node to represent a particular aspect of it, sharing the same attributes and list of child nodes. If this is not a hosted node, <method namespace="XMLDoc" class="TXMLNode">GetHostNode</method> returns nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetNodeObject">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a reference to this <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object.</para>
<method namespace="XMLDoc" class="TXMLNode">GetNodeObject</method> returns Self (Delphi) or this (C++).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.HasChildNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the node has a child node with the specified name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">HasChildNode</method> method. It is used internally to determine when the underlying DOM node has a child with the specified name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ChildTag is the local tag name of the child to find.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace in which ChildTag is defined.</para>
<method namespace="XMLDoc" class="TXMLNode">HasChildNode</method> returns true if the underlying DOM node includes the specified child node. Otherwise, it returns false.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.InternalAddChild">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides the underlying implementation for the AddChild method.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">InternalAddChild</method> method. It is used internally to perform all the tasks common to the various overloads of the AddChild method. <method namespace="XMLDoc" class="TXMLNode">InternalAddChild</method> creates a new element node as the child of this node and returns its interface.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeClass specifies the implementation class to use for the new child node. It must be <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> or one of its descendants.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeName specifies the tag name of the newly created node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace that includes the new node's definition. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index indicates the position of the child node in this node's list of children, where 0 is the first position, 1 is the second position, and so on. If Index is ΓÇô1, the new node is added to the end.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.NestingLevel">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the number of parents for this node in the node hierarchy.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Application's can't call the protected <method namespace="XMLDoc" class="TXMLNode">NestingLevel</method> property. It is used internally when formatting the XML text that corresponds to this XML document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates the object that implements the AttributeNodes property.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">CreateAttributeList</method> method. This method is used internally the first time an application reads the AttributeNodes property.</para>
<method namespace="XMLDoc" class="TXMLNode">CreateAttributeList</method> creates an implementation class for the AttributeNodes property, telling it to call the AttributeListNotify method when it changes the list of attributes for this node, and filling it with nodes based on the current attributes of this node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CreateChildList">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates the object that implements the ChildNodes property.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">CreateChildList</method> method. This method is used internally the first time an application reads the ChildNodes property.</para>
<method namespace="XMLDoc" class="TXMLNode">CreateChildList</method> creates an implementation class for the ChildNodes property, telling it to call the ChildListNotify method when it changes the list of attributes for this node, and filling it with nodes that are based on the current children of this node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetPrefixedName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a node name includes a namespace prefix for a specified namespace URI.</para>
<method namespace="XMLDoc" class="TXMLNode">GetPrefixedName</method> adds a prefix to a local node name based on the specified namespace URI. If there is no corresponding namespace already declared or if the name is already prefixed, <method namespace="XMLDoc" class="TXMLNode">GetPrefixedName</method> returns the original node name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Name is the node name to which the namespace prefix should be added.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the URI for the namespace that should be identified by the namespace prefix.</para>
<para>If the document containing this node does not include doAutoPrefix in its Options property, <method namespace="XMLDoc" class="TXMLNode">GetPrefixedName</method> always returns the value of Name, without trying to generate or add a namespace prefix.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Create">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Instantiates a <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object.</para>
<method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> instantiates a new <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object to wrap an existing DOM node implementation. Using the first syntax,</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ADOMNode is the interface for the DOM implementation of the node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AParentNode is the implementation of the parent node of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">OwnerDoc represents the XML document in which the new node occurs.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Using the second syntax,</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">HostNode is another <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object that represents the host node of this node. In this case, this node is a "hosted" node, which means it shares the same underlying parent and DOM node as the host node, but represents a different view of the host node. For example, a node that contains some child nodes that are all of the same type creates a hosted node to represent only the set of repeating child nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Typically, applications do not directly call the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> constructor. Instead, new nodes are created automatically for an XML document as necessary when the application reads their interfaces, starting with the DocumentElement property of the TXMLDocument object. To add new nodes to a document, applications call the parent node's AddChild method.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CreateHosted">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> instance that represents the same DOM node as another "host" node.</para>
<method namespace="XMLDoc" class="TXMLNode">CreateHosted</method> instantiates a new <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object to represent a specific view on an existing <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">HostNode is another <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object that represents the host node of this node. The new node becomes a "hosted" node, which means it shares the same underlying parent and DOM node as the host node, but represents a different view of the host node. For example, a node that contains some child nodes that are all of the same type creates a hosted node to represent only the set of repeating child nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Typically, applications do not directly call <method namespace="XMLDoc" class="TXMLNode">CreateHosted</method> to create a hosted node. Instead, this method is called in code generated by the XML Data Binding Wizard, or by the CreateCollection method of the host node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">HostNode (or, if HostNode is hosted, the host node of HostNode) becomes the value of the new node's HostNode property, and the new node is added to the HostedNodes property list of the new host node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetAttribute">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of one of this node's attributes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">SetAttribute</method> method. <method namespace="XMLDoc" class="TXMLNode">SetAttribute</method> sets the value of a specified attribute of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AttrName is the name of the attribute. If the attribute already exists for the node, its value is changed. If the attribute does not already exist, a new attribute is created.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value is the value to assign to the attribute. This value is a string that is not parsed. Any markup (for example, for an entity reference) is treated as literal text, and must include appropriate escape sequences. If Value is NULL, the attribute is removed from this node. If Value is an empty string, the attribute is assigned an empty value.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetChildValue">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of a specified child node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">SetChildValue</method> method. <method namespace="XMLDoc" class="TXMLNode">SetChildValue</method> sets the value of a specified child node to a specified value.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName identifies the desired child node by either its interface, or by a string that is the local name of the child node. If IndexOrName does not identify a child of this node, <method namespace="XMLDoc" class="TXMLNode">SetChildValue</method> raises an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value is the value to assign. It's interpretation depends on the type of the child node, as indicated in the following table:</para>
<para>Attributes are not considered child nodes of a node. To set the values of this node's attributes, use the SetAttribute method instead.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetNodeValue">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">SetNodeValue</method> method. <method namespace="XMLDoc" class="TXMLNode">SetNodeValue</method> sets the value of this node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value is the value to assign. It's meaning depends on the type of the node, as indicated in the following table:</para>
<method namespace="XMLDoc" class="TXMLNode">SetReadOnly</method> assigns the read-only status of the node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value is the new read-only status of the node. When Value is true, the node raises an EXMLDocError exception when an attempt is made to change its value, child nodes, or attributes. When Value is false, the node can be modified.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetText">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the text value of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">SetText</method> method. <method namespace="XMLDoc" class="TXMLNode">SetText</method> replaces the text of the node.</para>
<method namespace="XMLDoc" class="TXMLNode">SetText</method> is intended for use when the GetIsTextElement method returns true. If GetIsTextElement returns false, <method namespace="XMLDoc" class="TXMLNode">SetText</method> adds a new text value to a node that has no children, otherwise, it raises an exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.DeclareNamespace">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Adds an attribute to the node that declares a specified namespace URI.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">DeclareNamespace</method> method. <method namespace="XMLDoc" class="TXMLNode">DeclareNamespace</method> adds an attribute to this node that declares the specified namespace URI as the value of the specified prefix.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Prefix is the namespace prefix that appears in tag names that reference the namespace.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">URI is the corresponding namespace URI.</para>
<para>This method is called automatically for newly created nodes when the document's Options property includes doNamespaceDecl.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Normalize">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts the subtree beneath this node to the structure it would have if it were just loaded from a document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">Normalize</method> method. <method namespace="XMLDoc" class="TXMLNode">Normalize</method> consolidates adjacent text nodes and remove any empty text nodes in the subtree beneath this node. This method ensures that for all child nodes of this node and of its attributes, only structure nodes (element nodes, comments, processing instructions, CDATA sections, and entity references) separate text nodes and that there are no empty text nodes.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Resync">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Forces all child nodes and attribute nodes to be reread from the underlying DOM implementation.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">Resync</method> method. <method namespace="XMLDoc" class="TXMLNode">Resync</method> forces the node to reread the values of its child nodes and attribute nodes, discarding any changes that have not been propagated to the underlying DOM implementation.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetAttributeNS">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of one of this node's attributes when you must explicitly specify the attribute's namespace.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">SetAttributeNS</method> method. <method namespace="XMLDoc" class="TXMLNode">SetAttributeNS</method> sets the value of a specified attribute of this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AttrName is the name of the attribute. If the attribute already exists for the node, its value is changed. If the attribute does not already exist, a new attribute is created.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the namespace for the attribute.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value is the value to assign to the attribute. This value is a string that is not parsed. Any markup (for example, for an entity reference) is treated as literal text, and must include appropriate escape sequences. If Value is NULL, the attribute is removed from this node. If Value is an empty string, the attribute is assigned an empty value.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.TransformNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Transforms the subtree rooted at this node, using a specified XSL interface.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object's IXMLNode interface to call the protected <method namespace="XMLDoc" class="TXMLNode">TransformNode</method> method. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">stylesheet is a node in an XML document that represents an XSL transformation. Typically, it is the document element of that document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">output represents the result of the transformation. If output is a WideString, <method namespace="XMLDoc" class="TXMLNode">TransformNode</method> returns a string of XML. If output is the interface to an XML document, <method namespace="XMLDoc" class="TXMLNode">TransformNode</method> replaces the content of that document with the results of the transformation.</para>
<method namespace="XMLDoc" class="TXMLNode">TransformNode</method> is only available when the DOMVendor used to parse this node's XML document is MSXML. </para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CheckTextNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Generates a DOM text node implementation if it does not yet exist.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. It is used internally to generate a DOM node implementation for text values.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the XML node is an element that has child nodes (other than a single DOM text node), <method namespace="XMLDoc" class="TXMLNode">CheckTextNode</method> raises an exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.ClearDocumentRef">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of OwnerDocument to nil (Delphi) or NULL (C++).</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. The document that contains this node calls <method namespace="XMLDoc" class="TXMLNode">ClearDocumentRef</method> when it is freed so that the node does not maintain a reference to a non-existent document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">In addition to setting the OwnerDocument property to nil (Delphi) or NULL (C++), <method namespace="XMLDoc" class="TXMLNode">ClearDocumentRef</method> propagates this call to all of this nodes child nodes and attribute nodes.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.RegisterChildNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Registers a descendant of <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> that can represent the children of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">RegisterChildNode</method> method. It is called by the <method namespace="XMLDoc" class="TXMLNode">RegisterChildNode</method>s method to register a <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> descendant so that it can be used as a child of this node. Each <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> descendant is specific to the structure of the XML document, with properties that correspond to the child nodes and attributes of a node.</para>
<method namespace="XMLDoc" class="TXMLNode">RegisterChildNode</method> adds an entry to the ChildNodeClasses property for the specified node class and tag name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName is the tag name of the child node that the class represents.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeClass is the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> descendant that implements child nodes that have the specified tag name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace in which TagName is defined.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Registers a set of <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> descendants that can represent the children of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">RegisterChildNodes</method> method. It is used in code that the XML Data Binding wizard generates to register the special <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> descendants the are created for nodes in the XML document. Each of these descendant classes is specific to the structure of the XML document, with properties that correspond to the child nodes and attributes of the node.</para>
<method namespace="XMLDoc" class="TXMLNode">RegisterChildNodes</method> adds an entry to the ChildNodeClasses property for each specified node class and tag name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagNames is an array containing the names of the child nodes that the classes represent.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> TagNames_Size is the index of the last name in TagNames (one less than the number of elements).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeClasses is an array containing the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> descendants that implement child nodes that have the tag names in the corresponding entries in TagNames.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> NodeClasses_Size is the index of the last class in NodeClasses (one less than the number of elements).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetCollection">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of the Collection property.</para>
<method namespace="XMLDoc" class="TXMLNode">SetCollection</method> assigns Value as the value of the Collection property. This protected method is called when this node is added to the collection specified by the Value property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value is a <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method>Collection descendant that represents a repeating set of child nodes, of which this node is a member.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetParentNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of the ParentNode property.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use this protected property. It is used internally when nodes are added to the ChildNodes or AttributeNodes property. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Responds to notifications of changes in the list of attributes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. The class that implements the AttributeNodes property calls <method namespace="XMLDoc" class="TXMLNode">AttributeListNotify</method> when attribute nodes are inserted or removed, or when a new attribute node needs to be created. <method namespace="XMLDoc" class="TXMLNode">AttributeListNotify</method> generates a BeforeNodeChange or AfterNodeChange event on the document object, and, if the change has not yet occurred, updates the underlying DOM implementation to reflect the change. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Operation indicates what type of change occurred.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface for the attribute node that was added or removed. If a new attribute node needs to be created, Node returns the new node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName is the name of the attribute when Operation is nlCreateNode.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">BeforeOperation indicates whether the call occurs before the attribute node is added or removed.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CheckReadOnly">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Raises an EXMLDocError exception if this is a read-only node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. It is used internally in methods that change the value, children, or attributes of the node, to check whether the change is permitted, and if not, raise an exception.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.ChildListNotify">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Responds to notifications of changes in the list of child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. The class that implements the ChildNodes property calls <method namespace="XMLDoc" class="TXMLNode">ChildListNotify</method> when child nodes are inserted or removed, or when a node needs to be created. <method namespace="XMLDoc" class="TXMLNode">ChildListNotify</method> generates a BeforeNodeChange or AfterNodeChange event on the document object, and, if the change has not yet occurred, updates the underlying DOM implementation to reflect the change.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Operation indicates what type of change is occurring.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface for the child node about which this method is called. When nodes are added or removed, this is the node that is added or removed. When a node needs to be created, this parameter returns the newly created node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName is the index of the node that is added or removed when Operation is nlInsert or nlRemove. When Operation is nlCreateNode, IndexOrName is the name of the child node to create.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">BeforeOperation indicates whether the call occurs before the child node is added or removed.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CheckNotHosted">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Raises an EXMLDocError exception if this is a hosted node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. It is used internally in methods that can only be used by the main node that corresponds to an element. If the node represents a hosted node (that is, if the node is used to represent a subset of the main, or host, node), then <method namespace="XMLDoc" class="TXMLNode">CheckNotHosted</method> raises an EXMLDocError exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, the CreateCollection method calls <method namespace="XMLDoc" class="TXMLNode">CheckNotHosted</method>, because only the main node for an element can host collection nodes.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.DoNodeChange">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Generates a BeforeNodeChange or AfterNodeChange event on this node's document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNode">DoNodeChange</method> method. It is called internally before and after every change that is made to the node. <method namespace="XMLDoc" class="TXMLNode">DoNodeChange</method> checks whether the node's OwnerDocument property is set, and if so, generates a BeforeNodeChange or AfterNodeChange event on that document, as appropriate.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ChangeType indicates the type of change that is occurring to the node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">BeforeOperation is true if the change is about to occur, false if the change has just occurred.</para>
<condition os="Windows">Node is the node to remove from the array.</condition>
</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetAttributeNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of the AttributeNodes property.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. It is called internally the first time an application reads the AttributeNodes property to supply the interface that implements that property.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Destroy">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Frees the memory associated with the <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> object.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not explicitly destroy <method namespace="XMLDoc" class="TXMLNode">TXMLNode</method> objects. As interfaced objects, XML nodes are destroyed automatically when the reference count of their IXMLNode interface drops to zero.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.AttributeNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the interfaces for nodes that represent attributes of this node.</para>
<property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> uses <property namespace="XMLDoc" class="TXMLNode">AttributeNodes</property> to keep track of its attributes. <property namespace="XMLDoc" class="TXMLNode">AttributeNodes</property> is an IXMLNodeList interface, which can be used to access individual attribute nodes or to add attributes to or delete them from this node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use this protected property to access the attributes of a node. Instead, they use the <property namespace="XMLDoc" class="TXMLNode">AttributeNodes</property> property of the IXMLNode interface for this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Attributes modify a node in an XML document. For example, given the node</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">both genre and title are attributes of the node, with values of "scifi" and "Star Wars", respectively.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Only element nodes have attributes, and not every element node has them. If the node does not have any attributes, <property namespace="XMLDoc" class="TXMLNode">AttributeNodes</property> is the interface for an empty list.</para>
<property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> uses <property namespace="XMLDoc" class="TXMLNode">ChildNodes</property> to keep track of the subnodes of a node. <property namespace="XMLDoc" class="TXMLNode">ChildNodes</property> is an IXMLNodeList interface, which can be used to access individual child nodes or to add child nodes to or delete them from this node. Each child node specifies this node as its parent node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use this protected property to access the child nodes of a node. Instead, they use the <property namespace="XMLDoc" class="TXMLNode">ChildNodes</property> property of the IXMLNode interface for this node.</para>
<para>Attributes are not considered child nodes of a node. To get the values of this node's attributes, use the Attributes property instead.</para>
</note>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.ChildNodeClasses">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the classes that the XML Data Binding wizard defines to represent child nodes of this node.</para>
<property namespace="XMLDoc" class="TXMLNode">ChildNodeClasses</property> is used internally when creating child nodes for this node. The XML Data Binding wizard defines <property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> descendants for each node in the XML document that represents a node that has (or can have) children. <property namespace="XMLDoc" class="TXMLNode">ChildNodeClasses</property> lists only those <property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> descendants that can represent child nodes of this node. These classes become the types of the corresponding properties on the <property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> descendant that represents this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Classes are added to <property namespace="XMLDoc" class="TXMLNode">ChildNodeClasses</property> by the RegisterChildNode method.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Collection">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the collection in which this node appears.</para>
<property namespace="XMLDoc" class="TXMLNode">Collection</property> indicates the collection that contains this node if it represents one of a repeating set of child nodes. The node specified by <property namespace="XMLDoc" class="TXMLNode">Collection</property> represents the same node in the XML document as this node's ParentNode property, but it is specialized to work with this node and any other child nodes of the same type. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The node identified by <property namespace="XMLDoc" class="TXMLNode">Collection</property> is one of the collections listed by the parent node's HostedNodes property, and it lists ParentNode as the value of its HostNode property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, consider the following XML fragment:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node represents one of the <student> nodes, then ParentNode represents the <students> node, and <property namespace="XMLDoc" class="TXMLNode">Collection</property> represents a copy of the <students> node that is used for only those children that are <student> nodes, and not the <auditor> nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use this protected property to access the <property namespace="XMLDoc" class="TXMLNode">Collection</property> that contains this node. Instead, they use the <property namespace="XMLDoc" class="TXMLNode">Collection</property> property of the IXMLNode interface for this node.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.DOMNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the I<property namespace="XMLDoc" class="TXMLNode">DOMNode</property> interface for this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">I<property namespace="XMLDoc" class="TXMLNode">DOMNode</property> is the interface for this node provided by the DOM implementation that parsed the XML document. It can be accessed through the <property namespace="XMLDoc" class="TXMLNode">DOMNode</property> property of the node's IXMLNode interface.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Typically, applications that contain <property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> descendants use the IXMLNode interface to work with a node rather than the I<property namespace="XMLDoc" class="TXMLNode">DOMNode</property> interface. I<property namespace="XMLDoc" class="TXMLNode">DOMNode</property> is used more typically in applications that work directly with the DOM interfaces.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="XMLDoc" class="TXMLNode">DOMNode</property> is set to the I<property namespace="XMLDoc" class="TXMLNode">DOMNode</property> interface that is provided to the <property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> constructor.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.HostedNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the nodes that share this node's lists of child and attribute nodes.</para>
<property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> uses <property namespace="XMLDoc" class="TXMLNode">HostedNodes</property> to keep track of the nodes it uses to represent this same node, restricted to a specialized purpose. For example, any node that represents a subset of this node's child nodes that are all of the same type is a hosted node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Each object in the <property namespace="XMLDoc" class="TXMLNode">HostedNodes</property> list is a representation of a particular aspect of this node. Each hosted node acts as a sibling to this <property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> object but does not represent a separate element in the XML document. Rather, it represents a different view of this element.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, consider the following XML fragment:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> that represents students would define two hosted nodes for collections of repeating child elements, one for the fulltime students, and one for the auditors. The two collections share the same underlying DOM node as students, but each represents only those child elements of a particular type.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.HostNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the main object for the node to which this node corresponds when it represents a specialized view.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node represents a hosted node, <property namespace="XMLDoc" class="TXMLNode">HostNode</property> is the main node for which this node represents a subset or specialized view. For example, if this node represents a set of repeating child elements, <property namespace="XMLDoc" class="TXMLNode">HostNode</property> is the node that uses this node to represent its repeating child elements. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For example, consider the following XML fragment:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <students> node spawns two hosted nodes to represent the collections of repeating child nodes: one for all of the child nodes of type <student>, and one for all of the child nodes of type <auditor>. If this node represents one of those hosted nodes, then <property namespace="XMLDoc" class="TXMLNode">HostNode</property> is the <students> node to which this node belongs. The host node lists this node in its HostedNodes property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use this protected property to access the host node that created this node. Instead, they use the <property namespace="XMLDoc" class="TXMLNode">HostNode</property> property of the IXMLNode interface for this node.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.OwnerDocument">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the document that contains this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use this protected property to access the document that contains this. Instead, they use the <property namespace="XMLDoc" class="TXMLNode">OwnerDocument</property> property of the IXMLNode interface for this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="XMLDoc" class="TXMLNode">OwnerDocument</property> is set to the TXMLDocument that is provided to the <property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> constructor.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.ParentNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the object that represents this node's parent node.</para>
<property namespace="XMLDoc" class="TXMLNode">TXMLNode</property> uses <property namespace="XMLDoc" class="TXMLNode">ParentNode</property> to access the implementation of the node's parent, if it exists. <condition status="hold">Some nodes (for example attribute nodes) do not have parents.</condition>
</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use this protected property to access the parent node of a node. Instead, they use the <property namespace="XMLDoc" class="TXMLNode">ParentNode</property> property of the IXMLNode interface for this node.</para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.OnHostChildNotify">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when changes occur to the list of child nodes on this node's HostNode.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <event namespace="XMLDoc" class="TXMLNode">OnHostChildNotify</event> event to update a <event namespace="XMLDoc" class="TXMLNode">TXMLNode</event> descendant that represents a hosted node (such as a collection of repeating child elements) when the host node changes its list of child nodes. For example, <event namespace="XMLDoc" class="TXMLNode">TXMLNode</event>Collection assigns its UpdateCollectionList method as an <event namespace="XMLDoc" class="TXMLNode">OnHostChildNotify</event> event handler so that its list of repeating child elements reflects any changes to the host node's list of child nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The ChildListNotify method of a host node generates an <event namespace="XMLDoc" class="TXMLNode">OnHostChildNotify</event> event on all of its hosted nodes.</para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.OnHostAttrNotify">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs when changes occur to the attribute list of this node's HostNode.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <event namespace="XMLDoc" class="TXMLNode">OnHostAttrNotify</event> event to update a <event namespace="XMLDoc" class="TXMLNode">TXMLNode</event> descendant that represents a hosted node (such as a collection of repeating child elements) when the host node changes its attribute list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The AttributeListNotify method of a host node generates an <event namespace="XMLDoc" class="TXMLNode">OnHostAttrNotify</event> event on all of its hosted nodes. This allows the hosted nodes (for example, the nodes that represent a subset of the child nodes that are all the same type) to update their own representation of node attributes so that they reflect the attributes of the host node.</para>
<class namespace="XMLDoc">TXMLNodeCollection</class> represents a node in an XML document whose children are instances of the same repeating element.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The XML Data Binding Wizard uses <class namespace="XMLDoc">TXMLNodeCollection</class> as a base class for the classes it generates to represent nodes that have repeating elements for child nodes. For example, if the XML document includes the following:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">then the XML Data Binding Wizard generates 3 nodes to represent the <students> node: a TXMLNode descendant to represent the entire <students> node, and two <class namespace="XMLDoc">TXMLNodeCollection</class> descendants to represent the repeating elements: one for the child nodes with the tag <student>, and one for the child nodes with the tag <auditor>.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">As with any of the classes the Data Binding Wizard generates to represent nodes in an XML document, child nodes and node attributes appear as properties of the <class namespace="XMLDoc">TXMLNodeCollection</class> descendant.</para>
<class namespace="XMLDoc">TXMLNodeCollection</class> implements the IXMLNodeCollection interface. Each <class namespace="XMLDoc">TXMLNodeCollection</class> descendant implements a class-specific interface that descends from IXMLNodeCollection. Typically, applications do not work directly with <class namespace="XMLDoc">TXMLNodeCollection</class>. Instead, they use the IXMLNodeCollection interface or the IXMLNodeCollection descendant that is implemented by a <class namespace="XMLDoc">TXMLNodeCollection</class> descendant.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the interface for one of the repeating child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</method> object's IXMLNodeCollection interface to call the protected <method namespace="XMLDoc" class="TXMLNodeCollection">GetNode</method> method. <method namespace="XMLDoc" class="TXMLNodeCollection">GetNode</method> returns an interface for working with one of the repeating child nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index identifies which repetition of the child node is desired, where 0 is the first repetition, 1 is the second repetition, and so on. Note that Index is the index of the node in the List property, not in the index in the ChildNodes property.</para>
<method namespace="XMLDoc" class="TXMLNodeCollection">Remove</method>s one of the repeating child nodes from this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</method> object's IXMLNodeCollection interface to call the protected <method namespace="XMLDoc" class="TXMLNodeCollection">Remove</method> method. <method namespace="XMLDoc" class="TXMLNodeCollection">Remove</method> removes a specified child node from this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AItem is the interface of the child to remove. It must represent on of the repeating child nodes.</para>
<method namespace="XMLDoc" class="TXMLNodeCollection">Remove</method> deletes the child node from both the List property and from the ChildNodes property. It returns the index that the child node held in the List property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">To remove a child that is not one of the repeating child nodes, use the ChildNodes property instead.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.AddItem">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Adds a new repetition of the repeating child element to this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNodeCollection">AddItem</method> method. It is used internally to create a new child node for this node that is an instance of the repeating element. The new child node is given the first tag name listed by the ItemTag property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index indicates the position of the new child node in this node's list of children, where 0 is the first position, 1 is the second position, and so on. If Index is ΓÇô1, the new node is added to the end.</para>
<method namespace="XMLDoc" class="TXMLNodeCollection">AddItem</method> returns the interface for the newly created child node.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.IsCollectionItem">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether a specified node represents the type of node that appears as a repeating child of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNodeCollection">IsCollectionItem</method> method. <method namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</method> uses this method internally to distinguish nodes that represent instances of the repeating child node type.</para>
<method namespace="XMLDoc" class="TXMLNodeCollection">IsCollectionItem</method> checks whether Node implements the interface specified by the ItemInterface property . If so, it returns true. Otherwise, it returns false.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Clear">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Removes all child nodes in the List property from the ChildNodes and List properties.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the IXMLNodeCollection interface for this node to call the protected <method namespace="XMLDoc" class="TXMLNodeCollection">Clear</method> method. <method namespace="XMLDoc" class="TXMLNodeCollection">Clear</method> deletes every child node from the collection (all the nodes in the List property), along with the corresponding nodes in the ChildNodes property.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Delete">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Removes one of the repeating child nodes from this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the <method namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</method> object's IXMLNodeCollection interface to call the protected <method namespace="XMLDoc" class="TXMLNodeCollection">Delete</method> method. <method namespace="XMLDoc" class="TXMLNodeCollection">Delete</method> removes a specified child node from this node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index identifies the child to remove. It is the index of the child in the list of repeating child nodes (The List property, not the ChildNodes property). The index 0 represents the first repetition, 1 represents the second repetition, and so on.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.ChildListNotify">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Responds to notifications of changes in the list of child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. The class that implements the ChildNodes property calls <method namespace="XMLDoc" class="TXMLNodeCollection">ChildListNotify</method> when child nodes are inserted, removed, or need to be created. <method namespace="XMLDoc" class="TXMLNodeCollection">ChildListNotify</method> calls the inherited method to generate a BeforeNodeChange or AfterNodeChange event and to ensure that the DOM implementation for this node reflects the change. After calling the inherited method, <method namespace="XMLDoc" class="TXMLNodeCollection">ChildListNotify</method> updates the List property so that it stays in sync with the ChildNodes property. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Operation indicates what type of change is about to occur.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface for the child node that is added or removed. If Operation is nlCreateNode, Node returns a newly created child node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName is the index of the node that is added or removed when Operation is nlInsert or nlRemove. When Operation is nlCreateNode, IndexOrName is the name or value of the new node to create.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">BeforeOperation indicates whether the call occurs before or after the change.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Updates the List property to reflect changes to the set of child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. This method is called automatically when the ChildNodes property changes so that the collection can update the List property to reflect the repeating elements in the current set of child nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Operation indicates whether the change to ChildNodes is the addition of a new node (nlInsert) or the deletion of a child node (nlRemove).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface for a child node that is added or removed.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IndexOrName is the index or tag name of the node that is added or removed.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">BeforeOperation indicates whether this method is called before ChildNodes has changed or after the change has occurred.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CreateItemList">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates the object that implements the List property.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call the protected <method namespace="XMLDoc" class="TXMLNodeCollection">CreateItemList</method> method. It is used internally when <method namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</method> needs to create a separate object to implement the List property. A separate implementation object is only needed if this node contains child nodes that are not in the collection. Otherwise, <method namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</method> can simply use the ChildNodes property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">CheckFirst specifies whether <method namespace="XMLDoc" class="TXMLNodeCollection">CreateItemList</method> should check whether the ChildNodes property currently includes any nodes that are not in the collection. When CheckFirst is true, <method namespace="XMLDoc" class="TXMLNodeCollection">CreateItemList</method> first checks the ChildNodes property, and if all nodes are in the collection, it does not create a separate list to store the nodes of the collection. When CheckFirst is false (or when the ChildNodes property includes nodes that are not in the collection), <method namespace="XMLDoc" class="TXMLNodeCollection">CreateItemList</method> instantiates a list to hold the nodes in the collection, and adds to it any nodes listed in ChildNodes that belong in the collection.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Copies a child node from the ChildNodes property to the List property.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. It is called automatically when nodes are added to the ChildNodes property list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the node that was just added to the ChildNodes property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Index is the index of Node in the ChildNodes property.</para>
<method namespace="XMLDoc" class="TXMLNodeCollection">InsertInCollection</method> first checks whether Node belongs in the collection. If so, it adds it to the List property in the position that corresponds to Index (that is, in the index of Node when you ignore all the nodes in ChildNodes that do not belong in the collection.)</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SetChildNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Sets the value of the ChildNodes property.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't call this protected method. It is called internally the first time an application reads the ChildNodes property to supply the interface that implements that property.</para>
<method namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</method> overrides the inherited method to update the List property as well.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.AfterConstruction">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Initializes the node collection object once it is fully created.</para>
<method namespace="XMLDoc" class="TXMLNodeCollection">AfterConstruction</method> is called automatically after the object's last constructor has executed. Do not call it explicitly in your applications.</para>
<method namespace="XMLDoc" class="TXMLNodeCollection">AfterConstruction</method> sets the UpdateCollectionList method as the event handler for the collection's OnHostChildNotify event. This allows the collection to update itself when the list of child nodes (for which this collection manages a subset) changes.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Count">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the number of repeating child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use the IXMLNodeCollection interface to read this protected property. <property namespace="XMLDoc" class="TXMLNodeCollection">Count</property> is the number of child nodes for this node that are repetitions of the repeating child node type. That is, <property namespace="XMLDoc" class="TXMLNodeCollection">Count</property> is the number of nodes in the List property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDoc" class="TXMLNodeCollection">Count</property> to obtain an upper limit when addressing child nodes by index (for example, when iterating over all nodes in using the GetNode method).</para>
<property namespace="XMLDoc" class="TXMLNodeCollection">Count</property> is changed when you add child nodes using the AddChild method or delete them using the Delete or Remove method. You can access the individual repeating child nodes using the GetNode method.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.ItemInterface">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the interface type for the repeating child nodes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use this protected property. It is used internally to identify the interface for all child nodes that represent the repeating child element.</para>
<property namespace="XMLDoc" class="TXMLNodeCollection">ItemInterface</property> is the GUID for the default interface of the class that implements the nodes in the collection.</para>
<property namespace="XMLDoc" class="TXMLNodeCollection">List</property>s the interfaces for the children that are repeated elements.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications can't use the protected <property namespace="XMLDoc" class="TXMLNodeCollection">List</property> property. <property namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</property> uses this property internally to identify those child nodes that are repeated elements. Because <property namespace="XMLDoc" class="TXMLNodeCollection">TXMLNodeCollection</property> can correspond to a node in the XML document that has additional children that are not instances of the repeating node type, <property namespace="XMLDoc" class="TXMLNodeCollection">List</property> is kept separate from the ChildNodes property, which lists all child nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Applications that need to access the child nodes in this list should use the Nodes property of the IXMLNodeCollection interface for this node or the Items property of an IXMLNodeCollection descendant that is generated by the XML Data Binding wizard.</para>
<class namespace="XMLDoc">TXMLDocument</class> represents an XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <class namespace="XMLDoc">TXMLDocument</class> to represent an XML document. <class namespace="XMLDoc">TXMLDocument</class> can read an existing XML document from a file, it can be associated with an in-memory string that is the contents of an XML document, or it can create a new, empty XML document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">You can use <class namespace="XMLDoc">TXMLDocument</class> directly to load an XML document, read and edit it, and save any changes. You can also use <class namespace="XMLDoc">TXMLDocument</class> to access the objects generated by the XML Data Binding wizard.</para>
<class namespace="XMLDoc">TXMLDocument</class> uses an external DOM (Document Object Model) parser to analyze the XML document. This parser is usually assigned by specifying the DOMVendor property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When you set the Active property to true, <class namespace="XMLDoc">TXMLDocument</class> uses the DOM parser to parse the XML document so that you can examine or modify it. In particular, the DocumentElement property provides an interface to the root node of the document. You can use that interface to access its child nodes and to add or delete child nodes.</para>
<class namespace="XMLDoc">TXMLDocument</class> implements the IXMLDocument interface. Applications obtain this interface from <class namespace="XMLDoc">TXMLDocument</class> or from the nodes in the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <class namespace="XMLDoc">TXMLDocument</class> is created without an Owner, it behaves like an interfaced object. That is, when all references to its interface are released, the <class namespace="XMLDoc">TXMLDocument</class> instance is automatically freed. When <class namespace="XMLDoc">TXMLDocument</class> is created with an Owner, however, it behaves like any other component, and is freed by its Owner. When you add a <class namespace="XMLDoc">TXMLDocument</class> component from the component palette to a form or data module, it is automatically created with an Owner. When the <class namespace="XMLDoc">TXMLDocument</class> component is created using the global LoadXMLDocument function (or by a function that the XML Data Binding wizard generates to return the root node of the document), the function creates a <class namespace="XMLDoc">TXMLDocument</class> instance without an Owner.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.AddChild">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates and adds a node to the child nodes of this document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">AddChild</method> to add a new child element node to the document itself. The new node is added to the end of the list maintained by the ChildNodes property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName is the tag name for the new element node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace, if any, that includes the new node's definition.</para>
<para>Do not call <method namespace="XMLDoc" class="TXMLDocument">AddChild</method> to add a child to the document element of this document. When adding data to the XML document, use the <method namespace="XMLDoc" class="TXMLDocument">AddChild</method> method of the document element or of the node in the hierarchy that should be the parent of the new node.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CreateElement">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new element node that is associated with this document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">CreateElement</method> to create a new generic element node. The resulting node does not have a parent, but can be added to the ChildNodes list of any node in the document (including this document's ChildNodes property). It can also be assigned to the DocumentElement property to replace the entire data hierarchy of this document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagOrData provides the tag name of the newly created node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI identifies the namespace that includes the new node's definition.</para>
<para>To add a node as the child of another node in this document, it is simpler to call that node's AddChild method.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.CreateNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates a new node that is associated with this document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">CreateNode</method> to create a new generic XML node. The resulting node does not have a parent, but can be added to the ChildNodes or AttributeNodes list of any node in the document (including this document's ChildNodes property). It can also be assigned to the DocumentElement property to replace the entire data hierarchy of this document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NameOrData provides the tag name or value of the newly created node. Its interpretation depends on the type of node created, as indicated in the following table:</para>
<para>The target of the processing instruction.</para>
</td>
</tr>
<tr>
<td>
<para>ntComment</para>
</td>
<td>
<para>The value (text) of the comment.</para>
</td>
</tr>
<tr>
<td>
<para>ntDocFragment</para>
</td>
<td>
<para>Not used.</para>
</td>
</tr>
<tr>
<td>
<para>ntElement</para>
</td>
<td>
<para>The namespace URI that qualifies the tag name.</para>
</td>
</tr>
<tr>
<td>
<para>ntAttribute</para>
</td>
<td>
<para>The namespace URI that qualifies the attribute name.</para>
</td>
</tr>
<tr>
<td>
<para>ntProcessingInstr</para>
</td>
<td>
<para>The content of the processing instruction, except for the target.</para>
</td>
</tr>
</table>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeType indicates the type of node to create. It can only be one of the types listed in the previous table.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The meaning of AddlData depends on the node type, as indicated in the following table:</para>
<para>To add a node as the child of another node in this document, it is simpler to call that node's AddChild method.</para>
</note>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GetDocBinding">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Replaces the document element with an instance of a specified implementation class.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">GetDocBinding</method> to specify the implementation class and tag name for the document element. After replacing the specified node with an instance of the specified class, <method namespace="XMLDoc" class="TXMLDocument">GetDocBinding</method> returns the interface of the document element.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName is the tag name of the child node to be replaced. Typically, this identifies the document element.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">DocNodeClass is the implementation class to use for all child nodes with the specified tag name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the URI of the namespace in which TagName is defined.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.IsEmptyDoc">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> instance represents an empty document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">IsEmptyDoc</method> to determine whether the <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> instance represents an empty document. <method namespace="XMLDoc" class="TXMLDocument">IsEmptyDoc</method> returns true if the DOMDocument property is not set (for example, if there is no DOM implementation) or if this object represents a document with no child nodes.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.GeneratePrefix">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Generates a unique namespace prefix that can be used for a node in the document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">GeneratePrefix</method> to generate a new namespace prefix that is not already used in the document to represent a namespace URI. <method namespace="XMLDoc" class="TXMLDocument">GeneratePrefix</method> uses the NSPrefixBase property to generate a unique string to act as a namespace prefix. This unique string consists of NSPrefixBase followed by a number that ensures uniqueness. Thus, for example, if NSPrefixBase is 'NS', automatically-generated namespace prefixes have the form 'NS1', 'NS2', and so on.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Node is the interface for the node which will use the newly-generated namespace prefix.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The generated namespace prefixes are only unique within a single document. If two document components have the same value for NSPrefixBase, they will generate the same namespace prefixes.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Create">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Instantiates a <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> object.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">Create</method> to instantiate a <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> component at runtime. You do not need to explicitly create <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> components that are added to forms or data modules at design time: they are created automatically.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AFileName specifies the file that the new <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> instance represents.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AOwner is another component that is responsible for freeing the <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> instance. It becomes the value of the Owner property.</para>
<method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> components that are created at runtime without an owner are freed automatically when all references to their IXMLDocument interface are released. This differs from <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> components added to a form or data module at design time or those created with an owner. When added to a form or data module at design time, the object is explicitly freed by its Owner (the form or data module).</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.LoadFromFile">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Loads an XML document and activates it.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">LoadFromFile</method> to load the XML document specified by AFileName and set the Active property to true so that you can examine or modify the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AFileName is the name of the XML document to load from disk. If AFileName is an empty string, <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> uses the value of the FileName property. If AFileName is not an empty string, <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> changes the FileName property to AFileName.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Once you have loaded an XML document, any changes you make to the document are not saved back to disk until you call the SaveToFile method.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.LoadFromStream">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Loads an XML document from a stream and activates it.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">LoadFromStream</method> to load the XML document from a stream.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Stream is a stream object that can be used to read the string of XML that makes up the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">EncodingType indicates the character set that is used for Stream. If EncodingType is xetUnknown (the default), <method namespace="XMLDoc" class="TXMLDocument">LoadFromStream</method> attempts to infer the encoding type from the XML encoding declaration at the beginning of the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After loading the document from Stream, <method namespace="XMLDoc" class="TXMLDocument">LoadFromStream</method> sets the Active property to true.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.LoadFromXML">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Loads a string representation of an XML document and activates it.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">LoadFromXML</method> to assign a string as the value of the XML document. Unlike the XML property, which lets you assign XML on a line-by-line basis, <method namespace="XMLDoc" class="TXMLDocument">LoadFromXML</method> treats the text of the XML document as a whole.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The XML parameter is a string containing the text of an XML document. It should represent the XML text encoded using UTF-8, Unicode, or UTF-16.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After assigning the XML property as the contents of the document, <method namespace="XMLDoc" class="TXMLDocument">LoadFromXML</method> sets the Active property to true.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Refresh">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Updates the parsed XML document to reflect external changes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">Refresh</method> when the XML document specified by FileName has changed due to an external cause. <method namespace="XMLDoc" class="TXMLDocument">Refresh</method> updates the parsed version of the XML document (which can be traversed starting with DocumentElement) to reflect the current contents of the file specified by FileName.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The Active property must be true when you call <method namespace="XMLDoc" class="TXMLDocument">Refresh</method>. If the XML document is not active when you call <method namespace="XMLDoc" class="TXMLDocument">Refresh</method>, <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> raises an EXMLDocError exception.</para>
<para>Do not call <method namespace="XMLDoc" class="TXMLDocument">Refresh</method> after making changes directly to the XML property, because assigning a value to XML automatically closes the XML document. To refresh the XML document after assigning a new value to XML, set the Active property to true.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Registers an implementation class for child nodes with a specified tag name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">RegisterDocBinding</method> to specify the implementation class for one of the child nodes of the document node. <method namespace="XMLDoc" class="TXMLDocument">RegisterDocBinding</method> replaces the specified node with an instance of the specified class.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TagName is the tag name of the child node to be replaced. Typically, this identifies the document element.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">DocNodeClass is the implementation class to use for all child nodes with the specified tag name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NamespaceURI is the URI of the namespace in which TagName is defined.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Resync">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Forces all child nodes and attribute nodes to be reread from the underlying DOM implementation.</para>
<method namespace="XMLDoc" class="TXMLDocument">Resync</method> forces the document to reread the values of its child nodes and attribute nodes, discarding any changes that have not been propagated to the underlying DOM implementation.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SaveToFile">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Saves the XML document to disk.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">SaveToFile</method> to save any modifications you have made to the parsed XML document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AFileName is the name of the file to save. If AFileName is an empty string, <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> uses the value of the FileName property.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SaveToStream">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Saves the XML document to a stream.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">SaveToStream</method> to save the contents of the XML document to the stream specified by Stream. Regardless of the encoding system of the original XML document, <method namespace="XMLDoc" class="TXMLDocument">SaveToStream</method> always saves the stream in UTF-16.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.SaveToXML">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Saves the XML document to a string-type variable.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TXMLDocument">SaveToXML</method> to save the contents of the XML document to the string-type variable specified by XML. <method namespace="XMLDoc" class="TXMLDocument">SaveToXML</method> writes the contents of XML document using UTF-8 or UTF-16 as an encoding system, depending on the type of the XML parameter.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Unlike the XML property, which lets you write individual lines from the XML document, <method namespace="XMLDoc" class="TXMLDocument">SaveToXML</method> writes the entire text of the XML document.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDoc.Destroy">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Disposes of a <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> object.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">It is not necessary to explicitly free a <method namespace="XMLDoc" class="TXMLDocument">TXMLDocument</method> component. If the component is created with an Owner, that Owner handles the task of freeing the document. If the component is created without an Owner, it is freed automatically when the reference count on its IXMLDocument interface drops to zero.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.AsyncLoadState">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the state of the DOM parser when it parses the XML document asynchronously.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDoc" class="TXMLDocument">AsyncLoadState</property> to determine that status of the DOM parser when it is parsing an XML document asynchronously. <property namespace="XMLDoc" class="TXMLDocument">AsyncLoadState</property> is only meaningful when the value of ParseOptions is poAsyncLoad.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="XMLDoc" class="TXMLDocument">AsyncLoadState</property> is vendor-specific. That is, each DOM parser that loads and parses an XML document asynchronously supplies its own flags to indicate state information.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When the DOM vendor is MSXML, <property namespace="XMLDoc" class="TXMLDocument">AsyncLoadState</property> can have any of the following values:</para>
<para>Uninitialized: The AsyncLoadState is not assigned. (Usually indicates that the parser has not tried to parse a document or it is not parsing the document asynchronously.)</para>
</td>
</tr>
<tr>
<td>
<para>1</para>
</td>
<td>
<para>Loading: The parser is currently parsing the structure of the XML document.</para>
</td>
</tr>
<tr>
<td>
<para>2</para>
</td>
<td>
<para>Loaded: The parser has finished reading and parsing the structure of the XML document, but the corresponding DOM interfaces are not yet available.</para>
</td>
</tr>
<tr>
<td>
<para>3</para>
</td>
<td>
<para>Interactive: The parser has parsed the structure of the XML document, the corresponding DOM interfaces are available, but the parser has not finished reading all the node values.</para>
</td>
</tr>
<tr>
<td>
<para>4</para>
</td>
<td>
<para>Complete: The parser has fully read and parsed the XML document.</para>
</td>
</tr>
</table>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.ChildNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists all of the child nodes of the document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDoc" class="TXMLDocument">ChildNodes</property> to access all of the nodes that are children of the document object. In addition to DocumentElement, which is the root of the data hierarchy, <property namespace="XMLDoc" class="TXMLDocument">ChildNodes</property> can include nodes for comments, processing instructions, and so on.</para>
<property namespace="XMLDoc" class="TXMLDocument">ChildNodes</property> is not available unless the XML document is Active.</para>
</note>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.DOMDocument">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the DOM interface for the parsed XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDoc" class="TXMLDocument">DOMDocument</property> to directly access the I<property namespace="XMLDoc" class="TXMLDocument">DOMDocument</property> interface for the parsed XML document. This is the interface supported by the DOM parser for the document that is represented in raw (unparsed) form by the FileName or XML property.</para>
<property namespace="XMLDoc" class="TXMLDocument">DOMDocument</property> provides access to the IDOMImplementation and IDOMElement interfaces that are surfaced as the DOMImplementation and DocumentElement properties. It also provides access to an I<property namespace="XMLDoc" class="TXMLDocument">DOMDocument</property>Type interface that describes the structure of the XML document, and supports a number of methods for creating elements within the document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Most applications do not need to use the <property namespace="XMLDoc" class="TXMLDocument">DOMDocument</property> property directly. Instead, it supplies the underlying support for parsing and manipulating the nodes accessed through DocumentElement. If you do want to make use of <property namespace="XMLDoc" class="TXMLDocument">DOMDocument</property>'s low-level support, you must be familiar with the W3C Document Object Model (DOM) Level 1 Specification.</para>
<property namespace="XMLDoc" class="TXMLDocument">DOMDocument</property> is not available unless the XML document is Active.</para>
</note>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.DocumentElement">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the root node of the XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDoc" class="TXMLDocument">DocumentElement</property> to access the root node of the XML document. Because XML documents are hierarchical in structure, <property namespace="XMLDoc" class="TXMLDocument">DocumentElement</property> is the entry point to all data in the XML document. Setting <property namespace="XMLDoc" class="TXMLDocument">DocumentElement</property> replaces the entire data hierarchy with a new hierarchy of nodes.</para>
<para>For some DOM implementations, if you set <property namespace="XMLDoc" class="TXMLDocument">DocumentElement</property>, all of the new nodes must already be associated with this document. That is, the new value should be a node that came from the existing node hierarchy or that was created using the CreateNode method.</para>
</note>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The IXMLNode interface includes properties and methods for examining and changing the text and attributes of a node, for adding and deleting child nodes, and for traversing the hierarchy of nodes rooted at that node.</para>
<property namespace="XMLDoc" class="TXMLDocument">Encoding</property> is the encoding name that appears in the document type declaration of the XML document. It is a string such as 'UTF-8', 'UTF-16', or 'ISO-10646-UCS-2' that indicates the character set used in the document.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Modified">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the XML document has been modified.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDoc" class="TXMLDocument">Modified</property> to determine whether the application has made any changes to the nodes in the XML document. When <property namespace="XMLDoc" class="TXMLDocument">Modified</property> is true, the value of the XML property may differ from the contents of the file specified by FileName. You can call the SaveToFile method to update the XML document file to reflect the changes.</para>
<para>Modfied changes to false when you call the Refresh or SaveToFile method.</para>
</note>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Node">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the document node for the XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDoc" class="TXMLDocument">Node</property> to access the document node for the XML document. The document node represents information about the entire document. It may have several child nodes, which represent comments, processing instructions, and which include the DocumentElement node that acts as the root of the data hierarchy.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.NSPrefixBase">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the base string for automatically-generated namespace prefixes.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The AddChild method for each node allows the caller to specify that the new node should use an automatically-generated namespace prefix. When this option is specified, the node uses <property namespace="XMLDoc" class="TXMLDocument">NSPrefixBase</property> to generate a unique string to act as a namespace prefix. This unique string consists of <property namespace="XMLDoc" class="TXMLDocument">NSPrefixBase</property> followed by a number that ensures uniqueness. Thus, for example, if <property namespace="XMLDoc" class="TXMLDocument">NSPrefixBase</property> is 'NS', automatically-generated namespace prefixes have the form 'NS1', 'NS2', and so on.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The generated namespace prefixes are only unique within a single document. If two document components have the same value for <property namespace="XMLDoc" class="TXMLDocument">NSPrefixBase</property>, they will generate the same namespace prefixes.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.SchemaRef">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the name of the schema associated with this XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDoc" class="TXMLDocument">SchemaRef</property> to determine the schema associated with this XML document. If the document does not have an attribute that identifies an associated schema, the value of <property namespace="XMLDoc" class="TXMLDocument">SchemaRef</property> is an empty string.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.StandAlone">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether the XML document includes any external markup declarations.</para>
<property namespace="XMLDoc" class="TXMLDocument">StandAlone</property> is the value of the stand-alone attribute on the document type declaration of the XML document. <property namespace="XMLDoc" class="TXMLDocument">StandAlone</property> has a value of 'yes' or 'no'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="XMLDoc" class="TXMLDocument">StandAlone</property> is 'yes', the document contains no external markup declarations. It may, however, still contain references to external entities, as long as they are not declarations.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When <property namespace="XMLDoc" class="TXMLDocument">StandAlone</property> is 'no', the document may or may not contain external markup declarations.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Version">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the XML version that the document uses.</para>
<property namespace="XMLDoc" class="TXMLDocument">Version</property> indicates the XML version number that the document uses. An XML version number is a string of the form 'n.m', where n is the major version number and m is the minor version number.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Active">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies whether the XML document has been parsed so that the DOM interfaces are available to examine or change its contents.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Before you can use <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> to examine or change the contents of an XML document, it must be active. Setting <property namespace="XMLDoc" class="TXMLDocument">Active</property> to true causes <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> to do the following:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1.Generate a BeforeOpen event.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2.If necessary, load the DOM parser and assign the DOMImplementation property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3.Parse the XML document specified by FileName or, if FileName is an empty string, by the XML property using the options specified by ParseOptions. If both FileName and XML are empty strings, <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> creates an empty document. The interface for the parsed document is assigned to the DOMDocument property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4. Generate an AfterOpen event.</para>
<para>Once the DOMDocument property is assigned, you can also use the DocumentElement property.</para>
</note>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Setting <property namespace="XMLDoc" class="TXMLDocument">Active</property> to false causes <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> to do the following:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1.Generate a BeforeClose event.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2.Release all of the DOM interfaces, such as DOMDocument and DocumentElement, that represent the parsed XML document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3. Generate an AfterClose event.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.FileName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the file name for the XML document associated with this <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> object.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="XMLDoc" class="TXMLDocument">FileName</property> to specify the XML document you want to examine or manipulate using the <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> object. Once you have set <property namespace="XMLDoc" class="TXMLDocument">FileName</property> to the name of an XML document, you can activate the XML document and examine or manipulate it using the DocumentElement property.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">When you set the value of <property namespace="XMLDoc" class="TXMLDocument">FileName</property>, the XML property automatically changes (at runtime) to represent the contents of that file.</para>
<para>Setting the value of <property namespace="XMLDoc" class="TXMLDocument">FileName</property> automatically sets the Active property to false.</para>
</note>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">After activating the XML document, any changes you make to the document are not saved back to disk until you call the SaveToFile method.</para>
<para>If the underlying DOM implementation supports it, you can use <property namespace="XMLDoc" class="TXMLDocument">FileName</property> to specify an URL rather than a file on disk.</para>
</tip>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.DOMVendor">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the DOM implementation to use for parsing and manipulating the XML document.</para>
<property namespace="XMLDoc" class="TXMLDocument">DOMVendor</property> is the object that represents a registered DOM implementation. <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> uses this object to obtain an IDOMImplementation interface, which it can use to access all the other DOM interfaces needed for parsing and manipulating the XML document. Once <property namespace="XMLDoc" class="TXMLDocument">DOMVendor</property> is assigned, <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> obtains the IDOMImplementation interface (when needed) and assigns it to the DOMImplementation property.</para>
<property namespace="XMLDoc" class="TXMLDocument">DOMVendor</property> must be registered before it can be used to obtain an IDOMImplementation interface. For a list of all the currently registered DOM implementations, use the global <property namespace="XMLDoc" class="TXMLDocument">DOMVendor</property>s variable. To obtain a specific DOM implementation, given its description, use the global Get<property namespace="XMLDoc" class="TXMLDocument">DOMVendor</property> function. Use the Register<property namespace="XMLDoc" class="TXMLDocument">DOMVendor</property> procedure to register a new DOM implementation.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">You must assign a value to either <property namespace="XMLDoc" class="TXMLDocument">DOMVendor</property> or DOMImplementation before you can set the Active property to true.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.NodeIndentStr">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the string that is inserted before nested nodes in the formatted XML text.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDoc" class="TXMLDocument">NodeIndentStr</property> to customize how <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> formats nodes that are added. When the Options property includes doNodeAutoIndent, this string is inserted in the generated XML before any newly added node, once for each nesting level.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If you do not assign a value to <property namespace="XMLDoc" class="TXMLDocument">NodeIndentStr</property>, <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> inserts two spaces to represent each nesting level.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.Options">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Influences various aspects of the document's behavior.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="XMLDoc" class="TXMLDocument">Options</property> to configure how you want the document to respond when the application tries to read nodes or attributes that do not exist, when it creates a new namespace when adding a node, when it generates XML text from the nodes in the document, or whether it saves its value automatically when you close the document. <property namespace="XMLDoc" class="TXMLDocument">Options</property> can include any of the following values:</para>
<para>If the application tries to read a node by name, using the Nodes property of an IXMLNodeList interface, and that node does not exist, then the application creates a new node using the specified name.</para>
</td>
</tr>
<tr>
<td>
<para>doNodeAutoIndent</para>
</td>
<td>
<para>When formatting the XML text from the parsed set of nodes, child nodes are automatically indented from their parent nodes.</para>
</td>
</tr>
<tr>
<td>
<para>doAttrNull</para>
</td>
<td>
<para>When reading the value of an attribute that does not exist, the value is given as a Null Variant (as opposed to a value of an empty string).</para>
</td>
</tr>
<tr>
<td>
<para>doAutoPrefix</para>
</td>
<td>
<para>When generating the name of a new node, the value is automatically given a namespace prefix if a namespace URI is supplied.</para>
</td>
</tr>
<tr>
<td>
<para>doNamespaceDecl</para>
</td>
<td>
<para>When the AddChild method must create a new namespace for the node, it also adds a namespace attribute to declare that new namespace. If doNamespaceDecl is not included, AddChild creates the new namespace but does not add an attribute to declare it.</para>
</td>
</tr>
<tr>
<td>
<para>doAutoSave</para>
</td>
<td>
<para>When you close the document (set Active to false), any changes are automatically saved back to the file specified by FileName or to the XML property.</para>
</td>
</tr>
</table>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.ParseOptions">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies implementation-specific options that are followed when parsing the XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Set <property namespace="XMLDoc" class="TXMLDocument">ParseOptions</property> to influence the way the DOM implementation parses the XML document. Different DOM implementations support different options. If you attempt to use an option that is not supported by your DOM implementation, <property namespace="XMLDoc" class="TXMLDocument">TXMLDocument</property> raises an EXMLDocError exception.</para>
</comments>
</member>
<member name="P:XMLDoc.XMLDoc.XML">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Specifies the content of the <property namespace="XMLDoc" class="TXMLDocument">XML</property> document associated with this T<property namespace="XMLDoc" class="TXMLDocument">XML</property>Document object.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDoc" class="TXMLDocument">XML</property> to obtain the contents of the associated <property namespace="XMLDoc" class="TXMLDocument">XML</property> document. Set <property namespace="XMLDoc" class="TXMLDocument">XML</property> to specify the <property namespace="XMLDoc" class="TXMLDocument">XML</property> document you want to examine or manipulate. Once <property namespace="XMLDoc" class="TXMLDocument">XML</property> is set, you can activate the <property namespace="XMLDoc" class="TXMLDocument">XML</property> document and examine or manipulate it using the DocumentElement property.</para>
<property namespace="XMLDoc" class="TXMLDocument">XML</property> is a TStrings object. This means you can supply a value using the Strings editor at design time, or manipulate the <property namespace="XMLDoc" class="TXMLDocument">XML</property> line by line at runtime. To read or write the <property namespace="XMLDoc" class="TXMLDocument">XML</property> in the document as a single string, use the LoadFrom<property namespace="XMLDoc" class="TXMLDocument">XML</property> or SaveTo<property namespace="XMLDoc" class="TXMLDocument">XML</property> method.</para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.BeforeOpen">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs immediately before the XML document is opened.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write a <event namespace="XMLDoc" class="TXMLDocument">BeforeOpen</event> event handler to take specific action before the XML document interfaces become available. For example, you can use a <event namespace="XMLDoc" class="TXMLDocument">BeforeOpen</event> event to provide feedback to the user that the XML document is being parsed (which can be cleared in an AfterOpen event handler).</para>
<event namespace="XMLDoc" class="TXMLDocument">BeforeOpen</event> is the first event to occur when the Active property is set to true. </para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.AfterOpen">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs immediately after the XML document is opened.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="XMLDoc" class="TXMLDocument">AfterOpen</event> event handler to take specific action once the XML document interfaces become available. For example, you can use an <event namespace="XMLDoc" class="TXMLDocument">AfterOpen</event> event to update your user interface to reflect the structure of the XML document once it is opened.</para>
<event namespace="XMLDoc" class="TXMLDocument">AfterOpen</event> is the last event to occur when the Active property is set to true. </para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.BeforeClose">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs immediately before the XML document is closed.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write a <event namespace="XMLDoc" class="TXMLDocument">BeforeClose</event> event handler to take specific action before the XML document interfaces are released. For example, you can use an <event namespace="XMLDoc" class="TXMLDocument">BeforeClose</event> event to cache information about the XML document before it becomes unavailable.</para>
<event namespace="XMLDoc" class="TXMLDocument">BeforeClose</event> is the first event to occur when the Active property is set to false. </para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.AfterClose">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs after the XML document is closed.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="XMLDoc" class="TXMLDocument">AfterClose</event> event handler to take specific action after the XML document interfaces are released. For example, you can use an <event namespace="XMLDoc" class="TXMLDocument">AfterClose</event> event to update your user interface to indicate that the XML document is no longer available.</para>
<event namespace="XMLDoc" class="TXMLDocument">AfterClose</event> is the last event to occur when the Active property is set to false. </para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.BeforeNodeChange">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs before a change is made to one of the nodes in the document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write a <event namespace="XMLDoc" class="TXMLDocument">BeforeNodeChange</event> event handler to take specific action before a change is made to a node in the XML document. When an application makes a change to one of the nodes, the following steps occur:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1. The Modified property is set to true.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2. A <event namespace="XMLDoc" class="TXMLDocument">BeforeNodeChange</event> event occurs.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3. The change is made to the node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4. An <event namespace="XMLDoc" class="TXMLDocument">BeforeNodeChange</event> event occurs.</para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.AfterNodeChange">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs after a change is made to one of the nodes in the document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write an <event namespace="XMLDoc" class="TXMLDocument">AfterNodeChange</event> event handler to take specific action after a change is made to a node in the XML document. When an application makes a change to one of the nodes, the following steps occur:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1. The Modified property is set to true.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">2. A BeforeNodeChange event occurs.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3. The change is made to the node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4. An <event namespace="XMLDoc" class="TXMLDocument">AfterNodeChange</event> event occurs.</para>
</comments>
</member>
<member name="E:XMLDoc.XMLDoc.OnAsyncLoad">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Occurs at various stages during the asynchronous parsing of an XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Write a <event namespace="XMLDoc" class="TXMLDocument">OnAsyncLoad</event> event handler to respond appropriately during the asynchronous parsing of an XML document. For example, <event namespace="XMLDoc" class="TXMLDocument">OnAsyncLoad</event> can update a progress indicator, or initiate operations that can't be performed until the document is fully parsed. <event namespace="XMLDoc" class="TXMLDocument">OnAsyncLoad</event> occurs every time the AsyncLoadState property changes to reflect a new stage in the parsing process.</para>
</comments>
</member>
<member name="M:XMLDoc.XMLDocError">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Raises an E<routine namespace="XMLDoc">XMLDocError</routine> exception.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="XMLDoc">XMLDocError</routine> to raise an E<routine namespace="XMLDoc">XMLDocError</routine> exception. Using <routine namespace="XMLDoc">XMLDocError</routine> rather than explicitly creating the E<routine namespace="XMLDoc">XMLDocError</routine> instance can result in more space-efficient code. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Msg is the error message associated with the E<routine namespace="XMLDoc">XMLDocError</routine> instance.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Args supplies arguments for any format specifiers embedded in Msg.</para>
<routine namespace="XMLDoc">CreateDOMNode</routine> generates a new DOM node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Doc is the DOM interface for the document to which the new node will belong.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NameOrData provides the tag name or value of the newly created node. Its interpretation depends on the type of node created, as indicated in the following table:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">NodeType indicates the type of node to create. It can only be one of the types listed in the previous table.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The meaning of AddlData depends on the node type, as indicated in the following table:</para>
<routine namespace="XMLDoc">CreateDOMNode</routine> returns the interface for the newly created DOM node.</para>
</comments>
</member>
<member name="M:XMLDoc.FormatXMLData">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Formats a string of XML so that it is more readable.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <routine namespace="XMLDoc">FormatXMLData</routine> to convert a string of XML into a format that represents its structure. <routine namespace="XMLDoc">FormatXMLData</routine> changes the input string (XMLData) so that each element node appears on its own line, indented appropriately to reflect its nesting in the node hierarchy.</para>
</comments>
</member>
<member name="M:XMLDoc.LoadXMLDocument">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the interface for an XML document given the name of an XML file.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="XMLDoc">LoadXMLDocument</routine> to load an XML document from a file on disk and obtain its interface. <routine namespace="XMLDoc">LoadXMLDocument</routine> creates a new TXMLDocument object and uses it to parse the file specified by the FileName parameter. The TXMLDocument component is not given an owner, which means that it behaves like an interfaced object. When the application releases the interface that <routine namespace="XMLDoc">LoadXMLDocument</routine> returns, the TXMLDocument instance is automatically freed.</para>
</comments>
</member>
<member name="M:XMLDoc.LoadXMLData">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Creates and returns the interface of an XML document object, given a string of XML.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="XMLDoc">LoadXMLData</routine> to create an XML document that represents a specified XML string and obtain its interface. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">XMLData is the XML for which you want an IXMLDocument interface.</para>
<routine namespace="XMLDoc">LoadXMLData</routine> creates a new TXMLDocument object to parse the XML and returns its IXMLDocument. The TXMLDocument component is not given an owner, which means that it behaves like an interfaced object. When the application releases the interface that <routine namespace="XMLDoc">LoadXMLData</routine> returns, the TXMLDocument instance is automatically freed.</para>
</comments>
</member>
<member name="M:XMLDoc.NewXMLDocument">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the interface for a new, empty XML document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="XMLDoc">NewXMLDocument</routine> to create a TXMLDocument object for a new, empty XML document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Version specifies the XML version that the document should use. It becomes the value of the new document's Version property.</para>
<constant namespace="xmldom">DOMWrapperVersion</constant> specifies the version number of the DOM interfaces (IDOMImplementation, IDOMNode, IDOMElement, and so on).</para>
<type namespace="XMLDOM">DOMString</type> is the type for strings that are used by a DOM parser.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">DOM implementations work with wide characters. The strings that are used, therefore, when working with DOM interfaces, are of type <type namespace="XMLDOM">DOMString</type>, which simply maps to the WideString type.</para>
<class namespace="xmldom">EDOMParseError</class> is raised when TXMLDocument encounters an error while parsing an XML document. It wraps the information that is available from the DOM implementation's IDOMParseError interface.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.ErrorCode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the error code that the DOM parser returned.</para>
<property namespace="xmldom" class="EDOMParseError">ErrorCode</property> is the error code supplied by the DOM parser when it encountered a problem parsing the XML document.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.URL">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the source that could not be parsed by its <property namespace="xmldom" class="EDOMParseError">URL</property>.</para>
<property namespace="xmldom" class="EDOMParseError">URL</property> identifies the problem the DOM parser encountered by its <property namespace="xmldom" class="EDOMParseError">URL</property>.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.Reason">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the error code that the DOM parser returned.</para>
<property namespace="xmldom" class="EDOMParseError">Reason</property> is a short text string that describes the error that was encountered. It corresponds to the error code specified by ErrorCode.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.SrcText">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the text of the line where the parser encountered an error.</para>
<property namespace="xmldom" class="EDOMParseError">SrcText</property> is the text from the XML document that the DOM parser could not interpret.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.Line">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the line of the XML document where the parser encountered an error.</para>
<property namespace="xmldom" class="EDOMParseError">Line</property> is the line of the XML document where the parser detected the error.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.LinePos">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the position within the problem line where the parser encountered an error.</para>
<property namespace="xmldom" class="EDOMParseError">LinePos</property> is the offset in the line specified by the Line property where the DOM parser detected an error.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.FilePos">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the offset in the XML document where the parser encountered an error.</para>
<class namespace="XMLDOM">IDOMNode</class> is a vendor-neutral version of the DOM interface for a node in an XML document. It conforms to the W3CXML DOM level 2 specification. Use <class namespace="XMLDOM">IDOMNode</class> to work with a node in an XML document when you are using standard DOM interfaces rather than the IXMLNode interface. (IXMLNode is the node interface used by TXMLDocument document.)</para>
<class namespace="XMLDOM">IDOMNode</class> represents an element in an XML document that has been parsed by a DOM parser. It includes properties and methods for navigating the node hierarchy of an XML document, for accessing the attributes of a node, and for drilling down to obtain the node's value.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For more information about <class namespace="XMLDOM">IDOMNode</class> and the other standard DOM interfaces, see the DOM specification on the W3 website or the documentation provided by your DOM vendor.</para>
<para>C++ method declarations that use <class namespace="XMLDOM">IDOMNode</class> use the _di_<class namespace="XMLDOM">IDOMNode</class> type instead. This type is a DelphiInterface wrapper around the <class namespace="XMLDOM">IDOMNode</class> interface:</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Inserts a new child node before a specified child of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="XMLDOM" class="IDOMNode">insertBefore</method> to add a child node at a specified position in this node's list of children. If the new node is already in the document's node hierarchy, it is first removed from its parent node. If this node is read-only, refChild is a node that is not in this node's child list, newChild was created using a different document, or if newChild is of a nodeType that is not permitted as a child of this node, <method namespace="XMLDOM" class="IDOMNode">insertBefore</method> raises an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">newChild is the child node to add. It can be a node that currently has another parent node, or a new node created using the methods of the document interface. If it is of nodeType DOCUMENT_FRAGMENT_NODE, the entire contents of the document fragment are moved into this node's childNodes property list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">refChild is a child of this node before which to insert the new node. If refChild is nil (Delphi) or NULL (C++), the new node is added to the end of this node's child list.</para>
<method namespace="XMLDOM" class="IDOMNode">insertBefore</method> returns the interface for the newly added child node.</para>
</comments>
</member>
<member name="M:xmldom.xmldom.replaceChild">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Replaces one of this node's children with a specified node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="XMLDOM" class="IDOMNode">replaceChild</method> to remove a child of this node and replace it with the node specified by newChild. If the new node is already in the document's node hierarchy, it is first removed from its parent node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node is read-only, refChild is a node that is not in this node's child list, newChild was created using a different document, or if newChild is of a nodeType that is not permitted as a child of this node, <method namespace="XMLDOM" class="IDOMNode">replaceChild</method> raises an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">newChild is the child node that replaces oldChild. It can be a node that currently has another parent node, or a new node created using the methods of the document interface. If it is of nodeType DOCUMENT_FRAGMENT_NODE, the entire contents of the document fragment are moved into this node's childNodes property list.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">refChild is a child that newChild replaces. If refChild is nil (Delphi) or NULL (C++), the new node is added to the end of this node's child list.</para>
<method namespace="XMLDOM" class="IDOMNode">removeChild</method> removes a specified child node from this node, and returns its interface. If this node is read-only, or if the specified child node is not a child of this node, <method namespace="XMLDOM" class="IDOMNode">removeChild</method> raises an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">childNode the node to remove.</para>
</comments>
</member>
<member name="M:xmldom.xmldom.appendChild">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Adds a new child node to this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="XMLDOM" class="IDOMNode">appendChild</method> to add a child node to the end of this node's list of children. If the new node is already in the document's node hierarchy, it is first removed from its parent node. If this node is read-only, newChild was created using a different document, or if newChild is of a nodeType that is not permitted as a child of this node, <method namespace="XMLDOM" class="IDOMNode">appendChild</method> raises an exception.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">newChild is the child node to add. It can be a node that currently has another parent node, or a new node created using the methods of the document interface. If it is of nodeType DOCUMENT_FRAGMENT_NODE, the entire contents of the document fragment are moved into this node's childNodes property list.</para>
<method namespace="XMLDOM" class="IDOMNode">hasChildNodes</method> returns true if this node has any child nodes, false if it has no children.</para>
</comments>
</member>
<member name="M:xmldom.xmldom.cloneNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a duplicate of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <method namespace="XMLDOM" class="IDOMNode">cloneNode</method> to obtain a copy of this node. The <method namespace="XMLDOM" class="IDOMNode">cloneNode</method> method returns a copy of this node that has no parent. Any attributes are copied as well, including any attribute nodes that represent default values.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">deep indicates whether the child nodes of this node should be cloned as well. For example, if an element node contains any text, <method namespace="XMLDOM" class="IDOMNode">cloneNode</method> only copies then text when deep is true, because the text is contained in a child node of type TEXT_NODE.</para>
<para>When cloning an attribute node directly (as opposed to copying the attributes when cloning an element node), the returned node's specified property is always true, even if this node does not represent a specified attribute.</para>
<method namespace="XMLDOM" class="IDOMNode">supports</method> returns true if the DOM implementation implements the specified feature and this node <method namespace="XMLDOM" class="IDOMNode">supports</method> that feature. Otherwise, <method namespace="XMLDOM" class="IDOMNode">supports</method> returns false.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">feature is the name of the feature in question.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">version is the version of the feature. If no version is specified, <method namespace="XMLDOM" class="IDOMNode">supports</method> returns true if any version of the feature is supported.</para>
</comments>
</member>
<member name="M:xmldom.xmldom.normalize">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Converts the subtree beneath this node to the structure it would have if it were just loaded from a document.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDOM" class="IDOMNode">normalize</method> to consolidate adjacent text nodes and remove any empty text nodes in the subtree beneath this node. This method ensures that for all child nodes of this node and of its attributes, only structure nodes (element nodes, comments, processing instructions, CDATA sections, and entity references) separate text nodes and that there are no empty text nodes. This is useful for operations (such as XPointer lookups) that depend on a particular structure in the node hierarchy.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.nodeName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the name of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDOM" class="IDOMNode">nodeName</property> to determine the name of the DOM node. The value of <property namespace="XMLDOM" class="IDOMNode">nodeName</property> depends on the type of the node, as indicated in the following table:</para>
<para>If the prefix and localName properties are defined for a node, <property namespace="XMLDOM" class="IDOMNode">nodeName</property> is the combination of those two values.</para>
</note>
</comments>
</member>
<member name="P:xmldom.xmldom.nodeValue">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the value of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDOM" class="IDOMNode">nodeValue</property> to determine the value of the DOM node. Set <property namespace="XMLDOM" class="IDOMNode">nodeValue</property> to change the value of a node.</para>
<para>You can't set the value of a node whose value is listed as nil (Delphi) or NULL (C++) in the following table.</para>
</note>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of <property namespace="XMLDOM" class="IDOMNode">nodeValue</property> depends on the type of the node, as indicated in the following table:</para>
<para>The content of the processing instruction except for the target.</para>
</td>
</tr>
<tr>
<td>
<para>COMMENT_NODE</para>
</td>
<td>
<para>The content of the comment.</para>
</td>
</tr>
<tr>
<td>
<para>DOCUMENT_NODE</para>
</td>
<td>
<para>nil (Delphi) or NULL (C++).</para>
</td>
</tr>
<tr>
<td>
<para>DOCUMENT_TYPE_NODE</para>
</td>
<td>
<para>nil (Delphi) or NULL (C++).</para>
</td>
</tr>
<tr>
<td>
<para>DOCUMENT_FRAGMENT_NODE</para>
</td>
<td>
<para>nil (Delphi) or NULL (C++).</para>
</td>
</tr>
<tr>
<td>
<para>NOTATION_NODE</para>
</td>
<td>
<para>nil (Delphi) or NULL (C++).</para>
</td>
</tr>
</table>
</comments>
</member>
<member name="P:xmldom.xmldom.nodeType">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the type of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read NodeType to determine the type of the node. The type reflects the way the node is used in the XML document. The following table lists the possible values:</para>
<para>The node represents an attribute of an element. It is not the child of another node, but its value can be accessed using the attributes property of the element node's interface. An attribute node can have child nodes of type TEXT_NODE and ENTITY_REFERENCE_NODE.</para>
</td>
</tr>
<tr>
<td>
<para>ELEMENT_NODE</para>
</td>
<td>
<para>The node represents a tagged element. The child nodes of an element node can be of types: ELEMENT_NODE, TEXT_NODE, COMMENT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE, and PROCESSING_INSTRUCTION_NODE. Element nodes can also have attributes (ATTRIBUTE_NODE). Element nodes can be the child of a node of type DOCUMENT_FRAGMENT_NODE, ELEMENT_NODE, DOCUMENT_NODE, and ENTITY_REFERENCE_NODE.</para>
</td>
</tr>
<tr>
<td>
<para>TEXT_NODE</para>
</td>
<td>
<para>The node represents the text value associated with another node. A text node cannot have any child nodes, but can appear as the child node of a node of type ATTRIBUTE_NODE, ELEMENT_NODE, DOCUMENT_FRAGMENT_NODE, or ENTITY_REFERENCE_NODE. </para>
</td>
</tr>
<tr>
<td>
<para>CDATA_SECTION_NODE</para>
</td>
<td>
<para>The node represents a CDATA section in the XML source. CDATA sections identify blocks of text that would otherwise be interpreted as markup. A CDATA_SECTION_NODE node can't have any child nodes. They can appear as the child of an ELEMENT_NODE, DOCUMENT_FRAGMENT_NODE, or ENTITY_REFERENCE_NODE node. </para>
</td>
</tr>
<tr>
<td>
<para>ENTITY_REFERENCE_NODE</para>
</td>
<td>
<para>The node represents a reference to an entity in the XML document. This can be any type of entity, including character entity references. The children of an entity reference node can be of the following types: ELEMENT_NODE, COMMENT_NODE, CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, and ENTITY_REFERENCE_NODE. The entity reference node can appear as the child of a DOCUMENT_FRAGMENT_NODE, ATTRIBUTE_NODE, ELEMENT_NODE, or ENTITY_REFERENCE_NODE node.</para>
</td>
</tr>
<tr>
<td>
<para>ENTITY_NODE</para>
</td>
<td>
<para>The node represents an expanded entity. Entity nodes can have child nodes that represent the expanded entity (for example, TEXT_NODE and ENTITY_REFERENCE_NODE nodes). Entity nodes only appear as the child of a DOCUMENT_TYPE_NODE node.</para>
</td>
</tr>
<tr>
<td>
<para>PROCESSING_INSTRUCTION_NODE</para>
</td>
<td>
<para>The node represents a processing instruction (PI) from the XML document. A PI node cannot have any child nodes, but can appear as the child node of a node of type DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE, ELEMENT_NODE, or ENTITY_REFERENCE_NODE.</para>
</td>
</tr>
<tr>
<td>
<para>COMMENT_NODE</para>
</td>
<td>
<para>The node represents a comment in the XML document. Comment nodes do not have child nodes. They appear as the child of an ELEMENT_NODE, DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE, or ENTITY_REFERENCE_NODE node.</para>
</td>
</tr>
<tr>
<td>
<para>DOCUMENT_NODE</para>
</td>
<td>
<para>The node represents a document object, which is the root of the entire XML document. Document nodes have a single ELEMENT_NODE node as a child (the documentElement). In addition, they can have child nodes of type COMMENT_NODE, DOCUMENT_TYPE_NODE, and PROCESSING_INSTRUCTION_NODE. Because the document is the root of the XML document, it never appears as a child node.</para>
</td>
</tr>
<tr>
<td>
<para>DOCUMENT_TYPE_NODE</para>
</td>
<td>
<para>The node represents the document type declaration, indicated by the <!DOCTYPE > tag. The document type node can child nodes of type NOTATION_NODE and ENTITY_NODE. It is appears the child of the document node.</para>
</td>
</tr>
<tr>
<td>
<para>DOCUMENT_FRAGMENT_NODE</para>
</td>
<td>
<para>The node represents a document fragment. A document fragment node associates a node or subtree with a document without actually being contained in the document. Document fragment nodes can have child nodes of type ELEMENT_NODE, COMMENT_NODE, PROCESSING_INSTRUCTION_NODE, CDATA_SECTION_NODE, TEXT_NODE, and ENTITY_REFERENCE_NODE. It never appears as the child of another node.</para>
</td>
</tr>
<tr>
<td>
<para>NOTATION_NODE</para>
</td>
<td>
<para>The node represents a notation in the document type declaration. It always appears as the child of a DOCUMENT_TYPE_NODE node and never has any child nodes.</para>
</td>
</tr>
</table>
</comments>
</member>
<member name="P:xmldom.xmldom.parentNode">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Provides access to the interface of the node's parent node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read ParentNode to access the node's parent node, if it exists. If the node does not have a parent node, the value of <property namespace="XMLDOM" class="IDOMNode">parentNode</property> is nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Nodes of type ATTRIBUTE_NODE, DOCUMENT_NODE, and DOCUMENT_FRAGMENT_NODE never have parents. Nodes of type ENTITY_NODE and NOTATION_NODE may not have a parent. Nodes of other types have a parent unless they have just been created but not yet added to the hierarchy, or if they have just been removed from the hierarchy.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.childNodes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the child nodes of the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="XMLDOM" class="IDOMNode">childNodes</property> property lists the nodes that are children of this DOM node. If this node has no child nodes, <property namespace="XMLDOM" class="IDOMNode">childNodes</property> is the interface of an empty list. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">You can use ChildNodes to iterate through a node's children, or you can the firstChild and lastChild properties along with the nextSibling method on each child node.</para>
<property namespace="XMLDOM" class="IDOMNode">IDOMNode</property> identifies child nodes slightly differently than does the IXMLNode interface. When using the DOM, the values of many nodes are treated as separate child nodes, where the two are merged when using IXMLNode. For example, given the following fragment from an XML document:</para>
<para>The DOM parses this string into two nodes: the <Time> node (an element node), and a single child node of the <Time> node (an text node with the value '8:00 pm est'). IXMLNode treats this as a single node with the name 'Time' and the value '8:00 pm est'.</para>
</note>
</comments>
</member>
<member name="P:xmldom.xmldom.firstChild">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the first child node of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDOM" class="IDOMNode">firstChild</property> to obtain the <property namespace="XMLDOM" class="IDOMNode">IDOMNode</property> interface of this node's first child node. If the node does not have any children, the value of <property namespace="XMLDOM" class="IDOMNode">firstChild</property> is nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="XMLDOM" class="IDOMNode">firstChild</property> property is useful for iterating through all the children of a node.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.lastChild">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the last child node of this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDOM" class="IDOMNode">lastChild</property> to obtain the <property namespace="XMLDOM" class="IDOMNode">IDOMNode</property> interface of this node's last child node. If there are no child nodes, the value of <property namespace="XMLDOM" class="IDOMNode">lastChild</property> is nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="XMLDOM" class="IDOMNode">lastChild</property> property is useful when iterating through all the children of a node.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.previousSibling">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the preceding child of this node's parent.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDOM" class="IDOMNode">previousSibling</property> to obtain the <property namespace="XMLDOM" class="IDOMNode">IDOMNode</property> interface of the node that immediately precedes this node. If the node's parent does not have any more child nodes before this one, the value of <property namespace="XMLDOM" class="IDOMNode">previousSibling</property> is nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="P:xmldom.xmldom.nextSibling">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the next child of this node's parent.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDOM" class="IDOMNode">nextSibling</property> to obtain the <property namespace="XMLDOM" class="IDOMNode">IDOMNode</property> interface of the node that immediately follows this node. If the node's parent does not have any more child nodes after this one, the value of <property namespace="XMLDOM" class="IDOMNode">nextSibling</property> is nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="XMLDOM" class="IDOMNode">nextSibling</property> property is useful for iterating through all the children of a node.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.attributes">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the <property namespace="XMLDOM" class="IDOMNode">attributes</property> of an element node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDOM" class="IDOMNode">attributes</property> to access the attribute nodes for this node. The IDOMNamedNodeMap interface provides access to a collection of DOM nodes that can be identified by name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Attributes modify a node in an XML document. For example, given the node for</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">both genre and title are <property namespace="XMLDOM" class="IDOMNode">attributes</property> of the node, with values of "scifi" and "Star Wars", respectively.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">DOM parsers represent each attribute as a separate node, which is listed by IDOMNamedNodeMap.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Only element nodes have <property namespace="XMLDOM" class="IDOMNode">attributes</property>, and not every element node has them. If the node does not have any <property namespace="XMLDOM" class="IDOMNode">attributes</property>, the value of <property namespace="XMLDOM" class="IDOMNode">attributes</property> is nil (Delphi) or NULL (C++). </para>
<para>Attributes are not considered child nodes of a node and can't be accessed using the childNodes property.</para>
</note>
</comments>
</member>
<member name="P:xmldom.xmldom.ownerDocument">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Represents the interface for the document that contains this node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDOM" class="IDOMNode">ownerDocument</property> to obtain the interface of the document that contains this node. The IDOMDocument interface can be used to create new nodes.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If this node has nodeType of DOCUMENT_NODE or DOCUMENT_TYPE_NODE, the value of <property namespace="XMLDOM" class="IDOMNode">ownerDocument</property> is nil (Delphi) or NULL (C++).</para>
</comments>
</member>
<member name="P:xmldom.xmldom.namespaceURI">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the URI for the namespace used in the qualified node name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDOM" class="IDOMNode">namespaceURI</property> to determine the URI for the namespace assigned to the node when it is created. If a namespace URI was not given when the node was created, <property namespace="XMLDOM" class="IDOMNode">namespaceURI</property> is nil (Delphi) or NULL (C++). That is, <property namespace="XMLDOM" class="IDOMNode">namespaceURI</property> does not supply a value if the namespace URI must be computed from namespace declarations in scope.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Only element and attribute nodes can have a <property namespace="XMLDOM" class="IDOMNode">namespaceURI</property> value. For any other node types, <property namespace="XMLDOM" class="IDOMNode">namespaceURI</property> is always nil (Delphi) or NULL (C++). Attribute nodes do not inherit a namespace from the element node to which they are attached. If an attribute is not explicitly given a namespace, its <property namespace="XMLDOM" class="IDOMNode">namespaceURI</property> is nil (Delphi) or NULL (C++). </para>
<property namespace="XMLDOM" class="IDOMNode">namespaceURI</property> is nil (Delphi) or NULL (C++) for nodes created with a DOM level 1 interface such as the document's createElement method, even if they are element or attribute nodes.</para>
</note>
</comments>
</member>
<member name="P:xmldom.xmldom.prefix">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the namespace <property namespace="XMLDOM" class="IDOMNode">prefix</property> for the node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDOM" class="IDOMNode">prefix</property> to determine the namespace <property namespace="XMLDOM" class="IDOMNode">prefix</property> for an element or attribute node. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For element nodes, <property namespace="XMLDOM" class="IDOMNode">prefix</property> is derived from the name that appears in the XML tag. For example, the <property namespace="XMLDOM" class="IDOMNode">prefix</property> for <xsi:Name First=John Last=Doe> is 'xsi'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For attribute nodes, <property namespace="XMLDOM" class="IDOMNode">prefix</property> is derived from the string that appears to the left of the equals sign in the attribute declaration. For example, with the element <xsi:Name xsi:First=John xsi:Last=Doe>, both attribute nodes have the <property namespace="XMLDOM" class="IDOMNode">prefix</property> of 'xsi'. Attribute nodes do not inherit a <property namespace="XMLDOM" class="IDOMNode">prefix</property> value from the element node to which they are attached. For example, with the element <xsi:Name First=John Last=Doe>, both attributes have a <property namespace="XMLDOM" class="IDOMNode">prefix</property> of nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For any other node types, <property namespace="XMLDOM" class="IDOMNode">prefix</property> is nil (Delphi) or NULL (C++).</para>
<para>If the <property namespace="XMLDOM" class="IDOMNode">prefix</property> and localName properties are defined for a node, nodeName is the combination of those two values.</para>
<property namespace="XMLDOM" class="IDOMNode">prefix</property> is nil (Delphi) or NULL (C++) for nodes created with a DOM level 1 interface such as the document's createElement method, even if they are element or attribute nodes.</para>
</note>
</comments>
</member>
<member name="P:xmldom.xmldom.localName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates the name of the node without any namespace prefix.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Read <property namespace="XMLDOM" class="IDOMNode">localName</property> to determine the name of the DOM node with any namespace prefix stripped away. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The <property namespace="XMLDOM" class="IDOMNode">localName</property> property is only defined for element nodes and attribute nodes (nodes with nodeType ELEMENT_NODE and ATTRIBUTE_NODE). </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For element nodes, the local name is derived from the name that appears in the XML tag. For example, the local name for <xsi:Name First=John Last=Doe> is 'Name'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For attribute nodes, the local name is derived from the string that appears to the left of the equals sign in the attribute declaration. For example, the element <Name First=John Last=Doe> results in two attribute nodes, with the local names 'First' and 'Last'.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">For any other node types, <property namespace="XMLDOM" class="IDOMNode">localName</property> is nil (Delphi) or NULL (C++).</para>
<para>If the prefix and <property namespace="XMLDOM" class="IDOMNode">localName</property> properties are defined for a node, nodeName is the combination of those two values.</para>
<property namespace="XMLDOM" class="IDOMNode">localName</property> is nil (Delphi) or NULL (C++) for nodes created with a DOM level 1 interface such as the document's createElement method, even if they are element or attribute nodes.</para>
<para>Use <class namespace="XMLDOM">TDOMVendor</class> as a base class for a class that can be used to represent a DOM implementation. <class namespace="XMLDOM">TDOMVendor</class> introduces two abstract (pure virtual) methods, which provide information about a specific DOM implementation. One returns the IDOMImplementation interface that acts as the top-level interface for a DOM vendor's implementation. The other returns a unique string that identifies the DOM implementation.</para>
</note>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Once a <class namespace="XMLDOM">TDOMVendor</class> object has been registered, TXMLDocument objects can assign the DOM implementation as the value of their DOMVendor property by choosing the identifying string in the Object Inspector. </para>
</comments>
</member>
<member name="M:xmldom.xmldom.Description">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a string that uniquely identifies the associated DOM implementation.</para>
<method namespace="XMLDOM" class="TDOMVendor">Description</method> returns the name, or description, of the associated DOM implementation. This is the string that appears in the Object Inspector for a TXMLDocument object's DOMVendor property.</para>
<method namespace="XMLDOM" class="TDOMVendor">Description</method> is an abstract (pure virtual) method in <method namespace="XMLDOM" class="TDOMVendor">TDOMVendor</method>. Descendant classes override this method to provide a unique identifier for the DOM implementation.</para>
</comments>
</member>
<member name="M:xmldom.xmldom.DOMImplementation">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the I<method namespace="XMLDOM" class="TDOMVendor">DOMImplementation</method> interface for the associated DOM implementation.</para>
<method namespace="XMLDOM" class="TDOMVendor">DOMImplementation</method> returns the top-level interface for a DOM implementation. This interface is the starting point for any application that uses the DOM implementation to parse and edit an XML document.</para>
<method namespace="XMLDOM" class="TDOMVendor">DOMImplementation</method> is an abstract (pure virtual) method in <method namespace="XMLDOM" class="TDOMVendor">TDOMVendor</method>. Descendant classes override this method to return the I<method namespace="XMLDOM" class="TDOMVendor">DOMImplementation</method> interface for the associated DOM implementation.</para>
<para>For more information about the I<method namespace="XMLDOM" class="TDOMVendor">DOMImplementation</method>, see the W3C Document Object Model (DOM) Level 2 Specification or the documentation provided by your DOM vendor.</para>
<class namespace="XMLDoc">TDOMVendorList</class> is the type of the global DOMVendors variable. It represents a collection of DOM implementations (TDOMVendor objects).</para>
<class namespace="XMLDoc">TDOMVendorList</class> introduces a single property, Vendors, that can be used to iterate through all the DOM vendors in the collection. It also introduces methods that can be used to add, delete, or locate vendors. </para>
<para>Do not explicitly use <class namespace="XMLDoc">TDOMVendorList</class> methods to add or delete vendors from the global DOMVendors variable. Instead, add or remove vendors from this global list by calling the global RegisterDOMVendor and UnRegisterDOMVendor procedures.</para>
</note>
</comments>
</member>
<member name="M:xmldom.xmldom.Count">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the number of DOM vendors in the collection.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TDOMVendorList">Count</method> to determine the number of DOM implementations stored in the list. <method namespace="XMLDoc" class="TDOMVendorList">Count</method> returns a value that can be used as an upper bound when iterating over the vendors using the Vendors property.</para>
<method namespace="XMLDoc" class="TDOMVendorList">Count</method> increases when the Add method adds a vendor to the list and decreases when the Remove method removes a vendor from the list.</para>
</comments>
</member>
<member name="M:xmldom.xmldom.Find">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns a vendor from the list, given its description.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TDOMVendorList">Find</method> to access a vendor in the list, given its description. If there is no vendor in the list with the specified description, <method namespace="XMLDoc" class="TDOMVendorList">Find</method> returns nil (Delphi) or NULL (C++).</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">VendorDesc is the string that is returned by the TDOMVendor object's Description method.</para>
<method namespace="XMLDoc" class="TDOMVendorList">Find</method> returns a TDOMVendor object, which can be used as a value for the DOMVendor property of a TXMLDocument component.</para>
<method namespace="XMLDoc" class="TDOMVendorList">Add</method>s a new DOM implementation to the end of the list.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <method namespace="XMLDoc" class="TDOMVendorList">Add</method> to add a DOM vendor to the end of the list. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Vendor is an object that provides access to the IDOMImplementation interface for the new DOM vendor.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If the list already includes a DOM vendor with the same description as that supplied by Vendor, <method namespace="XMLDoc" class="TDOMVendorList">Add</method> raises an exception.</para>
<method namespace="XMLDoc" class="TDOMVendorList">Remove</method> removes the specified vendor from the list. </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Vendor is the DOM vendor to remove from the list. If the list does not include a vendor with the same description as this parameter, <method namespace="XMLDoc" class="TDOMVendorList">Remove</method> does nothing.</para>
</comments>
</member>
<member name="P:xmldom.xmldom.Vendors">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists the DOM vendors maintained by this <property namespace="XMLDoc" class="TDOMVendorList">TDOMVendorList</property> object.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <property namespace="XMLDoc" class="TDOMVendorList">Vendors</property> to access the DOM vendors in this collection. Index is the index of the vendor. Its value ranges from 0 to one less than the value returned by the Count method.</para>
<para>In Delphi, <property namespace="XMLDoc" class="TDOMVendorList">Vendors</property> is the default property for <property namespace="XMLDoc" class="TDOMVendorList">TDOMVendorList</property>. This means that the property name can be omitted in code. That is, the statement</para>
</note>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">for i := 0 to DOM<property namespace="XMLDoc" class="TDOMVendorList">Vendors</property>.Count do</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Can be written</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">for i := 0 to DOM<property namespace="XMLDoc" class="TDOMVendorList">Vendors</property>.Count do</para>
<para>In C++, <property namespace="XMLDoc" class="TDOMVendorList">Vendors</property> can be accessed using the [] operator, to achieve an affect similar to the default property in Delphi.</para>
</note>
</comments>
</member>
<member name="P:xmldom.xmldom.DefaultDOMVendor">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Identifies the DOM implementation that is used by default.</para>
<variable namespace="xmldom">DefaultDOMVendor</variable> is the descriptive string that was used to register the default DOM implementation. The default DOM implementation is used to parse an XML document when a vendor is not explicitly specified.</para>
<para>To obtain the IDOMImplementation interface from <variable namespace="xmldom">DefaultDOMVendor</variable>, use the global GetDOMVendor function.</para>
<condition status="hold">The value of <variable namespace="xmldom">DefaultDOMVendor</variable> should be the same as the value of the DefaultVendorName variable.</condition>
</para>
</note>
</comments>
</member>
<member name="P:xmldom.xmldom.DOMVendors">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Lists all registered DOM Vendors.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Use <variable namespace="xmldom">DOMVendors</variable> to determine all the DOM implementations currently registered with an application. For example, you can iterate through the Vendors property to obtain each registered TDOMVendor object, which can then be used to extract its IDOMImplementation interface or a descriptive string. Any of the TDOMVendor objects in the list can be assigned as the DOMVendor property of an XML document component.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Do not add or delete vendors using this global variable: Instead, add and remove vendors by calling the RegisterDOMVendor or UnregisterDOMVendor procedure. </para>
</comments>
</member>
<member name="M:xmldom.IsPrefixed">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether an XML tag name includes a namespace prefix.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">IsPrefixed</routine> to determine whether a tag name includes a namespace prefix.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AName is the tag name of the XML node.</para>
<routine namespace="xmldom">IsPrefixed</routine> returns true if AName includes a namespace prefix followed by the colon (:) separator character, false otherwise.</para>
</comments>
</member>
<member name="M:xmldom.ExtractLocalName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Strips the namespace prefix, if present, from the tag name of an XML node.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">ExtractLocalName</routine> to convert a full tag name for an XML node into the corresponding local name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AName is the tag name to be converted.</para>
<routine namespace="xmldom">ExtractLocalName</routine> returns the value of AName with any namespace prefix stripped away.</para>
</comments>
</member>
<member name="M:xmldom.ExtractPrefix">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the namespace prefix of an XML node's tag name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">ExtractPrefix</routine> to determine the namespace prefix, if any, of a full tag name for an XML node.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">AName is the tag name of the XML node.</para>
<routine namespace="xmldom">ExtractPrefix</routine> returns the namespace prefix, not including the colon (:) that separates the namespace from the local name of the XML node. If the tag name does not include a namespace prefix, <routine namespace="xmldom">ExtractPrefix</routine> returns an empty string.</para>
</comments>
</member>
<member name="M:xmldom.MakeNodeName">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Assembles a full tag name from a local name and namespace prefix. </para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">MakeNodeName</routine> to create a tag name from a namespace prefix and a local tag name.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Prefix is the namespace prefix.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">LocalName is the local name for the node.</para>
<routine namespace="xmldom">MakeNodeName</routine> returns the full tag name that consists of the namespace prefix, followed by a colon and then the local name.</para>
</comments>
</member>
<member name="M:xmldom.SameNamespace">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether a specified node is defined within a specified namespace.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">SameNamespace</routine> to determine whether the two parameters identify the same namespace.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Using the first syntax, the Node parameter identifies a node and the NamespaceURI parameter a namespace. <routine namespace="xmldom">SameNamespace</routine> checks whether the node is defined in the specified namespace.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Using the second syntax, both parameters are namespace URI values. <routine namespace="xmldom">SameNamespace</routine> checks whether they both identify the same namespace. </para>
<para>Given an IXMLNode interface, you can obtain the IDOMNode interface required for the Node parameter by reading its DOMNode property.</para>
</tip>
</comments>
</member>
<member name="M:xmldom.NodeMatches">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Indicates whether a specified node matches a given namespace and tag name.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">NodeMatches</routine> to determine whether the node with the interface specified by Node refers to the same node as is described by the TagName and NamespaceURI parameters. </para>
<routine namespace="xmldom">NodeMatches</routine> returns true if </para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The value of Node's NamespaceURI property is the same as the NamespaceURI parameter.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">The local name or tag name of Node is the same as the TagName parameter.</para>
<para>Given an IXMLNode interface, you can obtain the IDOMNode interface required for the Node parameter by reading its DOMNode property.</para>
</tip>
</comments>
</member>
<member name="M:xmldom.RegisterDOMVendor">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Registers an implementation of the DOM interfaces so that it is available to the TXMLDocument class.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">RegisterDOMVendor</routine> to register a DOM implementation that you want to use for parsing XML documents. A DOM (Document Object Model) implementation is a set of objects that implement the standard DOM interfaces.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If you are using one of the built-in DOM implementations provided with CLX, you do not need to call <routine namespace="xmldom">RegisterDOMVendor</routine>. Instead, include the relevant unit in the uses clause (Delphi) or the relevent header in your source file (C++). The included unit registers the DOM implementation.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">If you are using another DOM implementation, you must create a TDOMVendor descendant that can supply the IDOMImplementation interface and description string for the DOM implementation. Pass an instance of this object as the Vendor parameter to <routine namespace="xmldom">RegisterDOMVendor</routine>.</para>
</comments>
</member>
<member name="M:xmldom.UnRegisterDOMVendor">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Unregisters a DOM implementation that was registered using RegisterDOMVendor .</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">UnRegisterDOMVendor</routine> to unregister a DOM implementation when it is no longer available. After unregistering a DOM implementation, it can't be used by TXMLDocument for parsing XML documents.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Vendor is the TDOMVendor descendant the represents the DOM implementation that is to be unregistered. It must be the same object used when registering the DOM implementation when you called RegisterDOMVendor.</para>
</comments>
</member>
<member name="M:xmldom.GetDOMVendor">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the TDOMVendor object for a specified DOM vendor.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">GetDOMVendor</routine> to obtain the TDOMVendor object that represents a registered DOM implementation. You can then assign this return value as the DOMVendor property of TXMLDocument, or call this object's DOMImplementation method to access the IDOMImplementation interface for the DOM implementation.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">VendorDesc is the descriptive string that identifies the particular DOM implementation that is desired. This is the value returned by the TDOMVendor object's Description method.</para>
</comments>
</member>
<member name="M:xmldom.GetDOM">
<summary>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Returns the top-level DOM interface for a registered DOM implementation.</para>
</summary>
<comments>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Call <routine namespace="xmldom">GetDOM</routine> to obtain an IDOMImplementation interface that you can use for parsing and editing XML documents. The IDOMImplementation interface is the top-level DOM interface, which you can use to check for the presence of a specific feature or to obtain an interface for working with a DOM document.</para>
<para xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">VendorDesc is a short descriptive name that identifies the DOM implementation. This name is returned by the Description method of the DOM implementation factory that is used to register the implementation. </para>
<para>The DOM implementation must be registered before you can access it using <routine namespace="xmldom">GetDOM</routine>. To register a DOM implementation, use the RegisterDOMVendor procedure.</para>