cpiSetElementCompletePrevious

用途

将目标语法元素中的“前一个子代完成”标志设置为指定的值。

语法

void cpiSetElementCompletePrevious(
    int*                returnCode,
    CciElement*               targetElement,
    CciBool                    value);

参数

returnCode
接收来自函数(输出)的返回码。
可能的返回码是:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
targetElement
指定目标语法元素对象(输入)的地址。
value
要在标志中设置的值(输入)。

返回值

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

样本

此示例取自样本解析器文件 BipSampPluginParser.c(289 行到 318 行):

/* Get a pointer to the start of the tag */
        startMarker = (char*)pc->iBuffer+(int)pc->iIndex;

                /* Skip over the tag */
                goToNameEnd( (PARSER_CONTEXT_ST *)context, parser );

                /* Get a pointer to the end of the tag */
        endMarker = (char*)pc->iBuffer+(int)pc->iIndex;

                /* Compute the size of the tag */
                markedSize = (size_t)endMarker-(int)startMarker;

                /* Convert the tag into broker form */
        data = CciNString((char *)startMarker, markedSize, pc->iCcsid);

                /* Create a new name element for the tag */
                newElement = cpiCreateElement(&rc, parser);
                cpiSetElementType(&rc, newElement, CCI_ELEMENT_TYPE_NAME);
                cpiSetElementName(&rc, newElement, data);
                cpiSetElementCompletePrevious(&rc, newElement, 0);
                cpiSetElementCompleteNext(&rc, newElement, 0);
        if (pc->trace) {
          const char * mbData = mbString(data, pc->iCcsid);
          fprintf(pc->tracefile, "PLUGIN: New tag found\n");
          fprintf(pc->tracefile, "PLUGIN: Created new NAME element;
                                    object=0x%x type=0x%x name=",
                                    newElement, CCI_ELEMENT_TYPE_NAME);
          fprintf(pc->tracefile, "%s\n", mbData);
          fflush(pc->tracefile);
                    free((void *)mbData);
        }
                /* Free the memory allocated in CciNString() */
                  free((void *)data);
                /* Add the element */
                cpiAddAsLastChild(&rc, element, newElement);
                cpiSetElementCompletePrevious(&rc, element, 1);
相关概念
用户定义的解析器
用户定义的扩展
相关任务
使用 C 创建解析器
相关参考
cpiSetElementCompleteNext
C 解析器实用程序函数
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
as08490_