cpiElementNameSpace

用途

为指定的语法元素获取“namespace”属性的值

在其中定义 类型 成员
CPI_VFT 可选 iFpElementValue

语法

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

参数

returnCode
NULL 指针输入表示用户定义的节点不要处理错误。在执行此调用期间别的任何异常都重新抛出到流中的下一个上 行节点。如果输入不是 NULL,则输出表示调用的成功状态。如果执行期间发生异常,则 *returnCode 设置为输出上的 CCI_EXCEPTION。对 CciGetLastExceptionData 的调用将提供异常的详细信息。如果调用者没有分配足够的内存以保持名称空间值,则 *returncode 设置为 CCI_BUFFER_TOO_SMALL。
可能的返回码是:
  • 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 长度。

返回值

如果成功,返回复制到缓冲区的 CciChars 数。

如果缓冲区的大小不足以包含属性值,则 returnCode 设置为 CCI_BUFFER_TOO_SMALL,并且返回需要的 CciChars 字节数。

样本

    elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
          elementNamespaceLength = cpiElementNamespace(&rc;,
                                                                           element,
                                                                           elementNamespace,
                                                                           elementNamespaceLength);
    
        if (rc==CCI_BUFFER_TOO_SMALL){
            free(elementNamespace);
          elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
            elementNamespaceLength = cpiElementNamespace(&rc;,
                                                                           element,
                                                                           elementNamespace,
                                                                           elementNamespaceLength);
    }
       checkRC(rc);
相关概念
用户定义的解析器
用户定义的扩展
相关任务
使用 C 创建解析器
相关参考
cpiSetElementNamespace
C 解析器实施函数
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
as08105_