cniSearchElementInNamespace 组

搜索与指定的标准匹配的元素。搜索开始于元素自变量中指定的语法元素,并且四个函数的每一个都提供对不同树方向的搜索:
  1. cniSearchFirstChildInNamespace 从第一个子代搜索启动元素的立即子元素,直到找到匹配的子元素 或到达子元素链的末端。
  2. cniSearchLastChildInNamespace 从最后一个子代搜索启动元素的立即子元素,直到找到匹配的子元素或到达子元素链的末端。
  3. cniSearchNextSiblingInNamespace 从启动元素搜索到下一个兄弟,直到找到匹配的元素或到达兄弟链的末端。
  4. cniSearchPreviousSiblingInNamespace 从启动元素搜索到前一个兄弟,直到找到匹配的元素或到达兄弟链的起始处。

当搜索属于注意名称空间域的消息时使用。

语法

void cniSearchFirstChildInNamespace(
  int*                returnCode,
  CciElement*               targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchLastChildInNamespace(
  int*                returnCode,
  CciElement*               targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchNextSiblingInNamespace(
  int*                returnCode,
  CciElement*               targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchPreviousSiblingInNamespace(
  int*                returnCode,
  CciElement*               targetElement,
	CciCompareMode mode,
  CciElementType  type,
	const CciChar* nameSpace,
	const CciChar* name)		

参数

returnCode
来自函数(输出)的返回码。指定 NULL 指针表示节点不要处理错误。如果输入不是 NULL,则输出表示调用的成功状态。在执行此调用期间别的任何异常都重新抛出到流中的下一个上行节点。调用 cciGetLastExceptionData 获取有关异常的详细信息。来自函数(输出)的返回码。
可能的返回码是:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
targetElement
语法元素对象的地址(从此处可以开始搜索)(输入)。
mode
要使用的搜索方式(输入)。这表明要搜索的元素名称空间、元素名和元素类型的组合。可能的值为:
  • CCI_COMPARE_MODE_SPACE
  • CCI_COMPARE_MODE_SPACE_FULL_TYPE
  • CCI_COMPARE_MODE_SPACE_GENERIC_TYPE
  • CCI_COMPARE_MODE_SPACE_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME
  • CCI_COMPARE_MODE_SPACE_NAME_FULL_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME_GENERIC_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_NULL
当比较方式不涉及在名称空间上的匹配时,搜索所有名称空间。这与 cniSearchElement 组的行为是不同的,在该组仅搜索空字符串名称空间。当您指定上述方式之一时,将 nameSpace 参数设置为空字符串。
type
要搜索(输入)的元素类型。仅当搜索方式涉及与类型有关的匹配时才使用。
nameSpace
要搜索(输入)的名称空间。仅当搜索方式涉及与名称空间有关的匹配时才使用。
name
要搜索(输入)的名称。仅当搜索方式涉及与名称有关的匹配时才使用。

返回值

无。 如果发生错误,则 returnCode 参数表明错误原因。

示例

 mode=CCI_COMPARE_MODE_SPACE ;
 ...

         if (forward) {
            firstChild = cniSearchFirstChildInNamespace(&rc, element, mode, space, 0,0);
          }else{
            firstChild = cniSearchLastChildInNamespace(&rc, element, mode, space, 0,0);

    }

        if (firstChild) {
            depth++;
            traceElement(firstChild,forward,space);
            depth--;
    }
        currentElement = firstChild;
        do{

            if (forward) {
                nextSibling = cniSearchNextSiblingInNamespace(&rc, currentElement,mode,space,0,0);
            }else{
                nextSibling = cniSearchPreviousSiblingInNamespace(&rc, currentElement,mode,space,0,0);
      }
            if (nextSibling) {
                traceElement(nextSibling,forward,space);
                currentElement=nextSibling;
      }

        }while (nextSibling) ;
    
  }
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
as07744_