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/05/19
as08105_