cniElementNamespace

为指定的语法元素获取名称空间属性的值。语法元素名称已预先使用 cniSetElementNamespacecpiSetElementNamespace 进行设置。

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

语法

CciSize cniElementNamespace(
  int*                returnCode,
  CciElement*               targetElement,
  const CciChar*             value,
	CciSize        length)		

参数

returnCode
来自函数(输出)的返回码。指定 NULL 指针表示节点不要处理错误。如果输入不是 NULL,则输出表示调用的成功状态。在执行此调用期间别的任何异常都重新抛出到流中的下一个上行节点。调用 cciGetLastExceptionData 获取有关异常的详细信息。
可能的返回码是:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_DATA_POINTER
  • CCI_INV_DATA_BUFLEN
  • CCI_INV_BUFFER_TOO_SMALL
targetElement
指定目标语法元素对象(输入)的地址。
value
指定复制元素名称空间值的缓冲区的地址(输出)。表示复制到此缓冲区的名称空间值字符串(包含 NULL 终止符)。缓冲区应该是先前由调用者分配的内存的一部分。
length
缓冲区的长度,以字符为单位,由参数指定(输入)。

返回值

  • 如果成功,返回复制到缓冲区的 CciChars 数。
  • 如果缓冲区的大小不足以包含属性值,则 returnCode 设置为 CCI_BUFFER_TOO_SMALL,并且返回需要的 CciChars 数。
  • 如果执行期间发生异常,则 returnCode 设置为 CCI_EXCEPTION。

示例

 if (element != 0) {
        /*get name*/
        cniElementName(&rc, element, (CciChar*)&elementName, sizeof(elementName));

        /*get namespace*/
        elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
          elementNamespaceLength = cniElementNamespace(&rc,
                                                                                                    element,
                                                                                                    elementNamespace,
                                                                                                    elementNamespaceLength);
    
        if (rc==CCI_BUFFER_TOO_SMALL){
            free(elementNamespace);
          elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
            elementNamespaceLength = cniElementNamespace(&rc,
                                                                                                      element,
                                                                                                      elementNamespace,
                                                                                                      elementNamespaceLength);
    }
       checkRC(rc);
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
as07742_