この関数は、指定した構文エレメントの直前の (左の) 兄弟を構文解析します。 これは、現行の構文エレメントの直前の (左の) 兄弟エレメントが必要な場合に、ブローカーによって呼び出されます。
定義されている場所 | タイプ | メンバー |
---|---|---|
CPI_VFT | 必須 | iFpParsePreviousSibling |
void cpiParsePreviousSibling(
CciParser* parser,
CciContext* context,
CciElement* currentElement);
なし。
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;
}
このコード例は、cpiParseNextSibling で使用されるものに似ています。 ビット・ストリームを右から左に構文解析している場合は、例に示すように、cpiParsePreviousSibling を使用します。