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.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.