//-------------------------------------------------------------------------- void FirstOf::markup( const Token &t ) { if ( ignore_status && !Dispatch::OutsideIgnoreScope() ) { return; } if ( f_base > 0 ) { ComplexTask::markup( t ); if ( t.type() == END ) { if ( t.level() == f_base ) { data_complete = 1; for ( int i = 0; i < ComplexTask::used; i++ ) { BaseData *task = ( BaseData *)ComplexTask::subtask(i); if ( task->DataIsComplete() ) { ValueBuffer.writeStr( task->content() ); break; } } f_base = -1; ComplexTask::removeAllSubTasks(); } } } }
//------------------------------------------------------------------------- void OL_Data::markup( const Token &t ) { DBG(80) cerr << "(DEBUG) OL_Data::markup() " << endl; DBG(80) cerr << " t.giName() = " << t.giName() << endl; if ( istat && !Dispatch::OutsideIgnoreScope() ) { return; } if ( f_base > 0 ) { ComplexTask::markup( t ); if ( t.type() == END ) { if ( f_base == t.level() ) { data_complete = 1; for ( int i=0; i < ComplexTask::used; i++ ) { BaseData *task = ( BaseData *)ComplexTask::subtask(i); ValueBuffer.write( task->content(), task->content_size() ); } if ( removeSpaces && ValueBuffer.GetSize() > 0 ) { const char *filtered_string = FilteredSpaces( ValueBuffer.GetBuffer() ); /* rewrite ValueBuffer with the filtered string */ ValueBuffer.reset(); ValueBuffer.writeStr( filtered_string ); } DBG(10) printf("Data for <%s> = %s\n", t.giName(), ValueBuffer.GetBuffer() ); reset(); } } } /* if level > 0 */ }