Esempio n. 1
0
//--------------------------------------------------------------------------
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();

      }
    }
  }
}
Esempio n. 2
0
//-------------------------------------------------------------------------
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 */
}