/*   -*- coding: utf-8 -*-  */

/* TeiRejectOnKeywords */

#include <stdio.h>     /* for printf */
#include <stdlib.h>    /* for exit */
#include <getopt.h>

#include "SxPath.h"
#include "Buffer.h"
#include "TeiHandler.h"
#include "StrSearch.h"

extern char *optarg;
extern int   optind;
int getopt();

StrSearchTable *tableReject;

SxmlNode *docInput;

Buffer *bufKey;

int main (int argc, char **argv) {
  int cOption;
  char *nextOptArg;
  int nTerm;
  char *lastTerm;
  bufKey=BufferCreate(10,10);

  nTerm=0;
  tableReject=StrSearchTableCreate(10,5);

  while((cOption=getopt(argc,argv,"i:t:S:T:"))!=EOF)
    
    {switch (cOption)
        {
          
        case 't':
          tableReject=StrSearchAddTable(optarg, 100);
          break;
	case 'i':
	  while(optind<=argc)
	    {
	      nTerm++;
	      lastTerm=optarg;
	      StrSearchPut(tableReject, optarg, "");
	      nextOptArg=argv[optind];
	      if(!nextOptArg)break;
	      if(nextOptArg[0]=='-')break;
	      else
		{
		  optind++;
		  StrSearchPut(tableReject, nextOptArg, "");
		}
	    }
	  break;
        }
    }

   while ((docInput=SxmlInputNextDocumentElement()))
     {  
       int reject;
       TeiHandlerInit(docInput);
       if (nTerm==1)
	 {
	   if (TeiKeywordsGetFirstTermByValue(lastTerm))continue;
	 }
       SxmlPrint (SxmlInputRecord);
     }
  exit (EXIT_SUCCESS);
}


