This function parses the previous (left) sibling of a specified syntax element. It is called by the integration node when the previous (left) sibling element of the current syntax element is required.
Defined In | Type | Member |
---|---|---|
CPI_VFT | Mandatory | iFpParsePreviousSibling |
void cpiParsePreviousSibling(
CciParser* parser,
CciContext* context,
CciElement* currentElement);
None.
void cpiParsePreviousSibling(
CciParser* parser,
CciContext* context,
CciElement* element
){
PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
int rc;
while ((!cpiElementCompletePrevious(&rc, cpiParent(&rc, element))) &&
(!cpiPreviousSibling(&rc, element)) &&
(pc->iCurrentElement))
{
pc->iCurrentElement = parsePreviousItem(parser, context, pc->iCurrentElement);
}
if (pc->trace) {
fprintf(pc->tracefile, "PLUGIN: <- cpiParsePreviousSibling()\n");
fflush(pc->tracefile);
}
return;
}
The code sample is similar to that used for cpiParseNextSibling. Use cpiParsePreviousSibling as shown in the example when you are parsing the bit stream right to left.