Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
virtual P6R::P6ERR P6R::p6IDOMXML::isAncestorOf ( const P6WCHAR pName,
P6UINT32  nameLength,
const P6WCHAR pURI,
P6UINT32  uriLength,
p6IXMLNode pNode,
p6IXMLNode **  pFoundAncestor 
)
pure virtual

Is there an XML node with pName that is an ancestor somewhere in the tree of the pNode XML node.

(That is, we look all the way to the tree root to check for an ancestor.) If the node name (i.e. pName) has a namespace prefix (e.g., 'P6R:number'), then the URI associated with the prefix should be provided in the pURI parameter. Proper node comparison requires that namespace URIs to be compared rather than prefixes.

Special case, to test if the ROOT node is an ancestor of pNode then the pName parameter should be an empty string "" and length set to zero. The root of the DOMXML tree has no name.

Parameters
pName[ in ] String name of the ancestor of pNode? An empty string "", length == 0, means is the ROOT node an ancestor.
nameLength[ in ] length of characters in pName.
pURI[ in ] Can be NULL, URI of namespace associated with the pName name
uriLength[ in ] Number of characters in pURI
pNode[ in ] Test to see the parent of this node.
pFoundAncestor[ out ] Pointer to the parent node. Can be used to walk up the tree.
Returns
SuccessP6R::eOk 
FailureP6R::eNotInitializedA successful call to intialize() must be made before calling this funciton.
P6R::eInvalidArgOne of the parameters is NULL.