<HTMLScraperConfig>

   <StateTransitions processedResultType="Record" begState="_None_">
      <HTMLEvent eventType="SimpleTag" tagType="input" fromState="_None_" toState="FoundResult">
        <InputAttribute attrName="name" attrVal="uid"/>
      </HTMLEvent>
      <HTMLEvent eventType="StartTag" tagType="a" fromState="FoundResult" toState="InAuthor">
        <OutputAttribute attrName="href" outputTo="linkHref" />
      </HTMLEvent>
      <HTMLEvent eventType="HandleText" fromState="InAuthor" toState="InAuthor" outputTo="AuthorData" append="true" />

      <!-- JDK 1.4 and earlier way -->
      <HTMLEvent eventType="SimpleTag" tagType="span" fromState="InAuthor" toState="AuthorDone" />
      <HTMLEvent eventType="SimpleTag" tagType="span" fromState="AuthorDone" toState="InSummary" >
        <InputAttribute attrName="endtag" attrVal="true" />
      </HTMLEvent>

      <!-- JDK 1.5 way -->
      <HTMLEvent eventType="StartTag" tagType="span" fromState="InAuthor" toState="AuthorDone" />
      <HTMLEvent eventType="EndTag" tagType="span" fromState="AuthorDone" toState="InSummary" />
  
      <HTMLEvent eventType="HandleText" fromState="InSummary" toState="InSummary" outputTo="SummaryData" append="true" />
      <HTMLEvent eventType="SimpleTag" tagType="br" fromState="InSummary" toState="InJournal" />
      <HTMLEvent eventType="HandleText" fromState="InJournal" toState="InJournal" outputTo="JournalData" append="true" />
      <HTMLEvent eventType="SimpleTag" tagType="br" fromState="InJournal" toState="InPubMedId" />
      <HTMLEvent eventType="HandleText" fromState="InPubMedId" toState="InPubMedId" outputTo="PubMedIdData" append="true" />
      <HTMLEvent eventType="EndTag" tagType="table" fromState="InPubMedId" toState="_None_" processResult="true" />
   </StateTransitions>

   <StateTransitions processedResultType="Page" begState="_None2_">
      <HTMLEvent eventType="StartTag" tagType="form" fromState="_None2_" toState="FoundForm" />

      <HTMLEvent eventType="SimpleTag" tagType="input" fromState="FoundForm" toState="FoundWebEnv">
        <InputAttribute attrName="name" attrVal="WebEnv"/>
        <OutputAttribute attrName="value" outputTo="WebEnvData" />
      </HTMLEvent>

      <HTMLEvent eventType="SimpleTag" tagType="input" fromState="FoundWebEnv" toState="FoundTerm">
        <InputAttribute attrName="name" attrVal="term"/>
        <OutputAttribute attrName="value" outputTo="termData" />
      </HTMLEvent>

      <HTMLEvent eventType="SimpleTag" tagType="input" fromState="FoundTerm" toState="FoundQueryKey" >
        <InputAttribute attrName="name" attrVal="query_key"/>
        <OutputAttribute attrName="value" outputTo="queryKeyData" />
      </HTMLEvent>

      <HTMLEvent eventType="StartTag" tagType="div" fromState="FoundQueryKey" toState="FoundDocStats" >
        <InputAttribute attrName="class" attrVal="medium2"/>
      </HTMLEvent>

      <HTMLEvent eventType="HandleText" fromState="FoundDocStats" toState="FoundDocStats" outputTo="totalDocsData" append="true" />

      <HTMLEvent eventType="EndTag" tagType="div" fromState="FoundDocStats" toState="DocStatsDone" />

      <HTMLEvent eventType="SimpleTag" tagType="input" fromState="DocStatsDone" toState="FoundPage" >
        <InputAttribute attrName="name" attrVal="page"/>
        <OutputAttribute attrName="value" outputTo="pageData" />
      </HTMLEvent>

      <HTMLEvent eventType="EndTag" tagType="form" fromState="FoundPage" toState="_None2_" processResult="true" />

   </StateTransitions>

   <OutputFormat>
      <RootTag tagName="Records" />
      <ProcessedResult processedResultType="Record" tagName="Record" >
           <ProcessedElement tagName="Link" charDataFrom="linkHref" />
           <ProcessedElement tagName="Author" charDataFrom="AuthorData" />
           <ProcessedElement tagName="Summary" charDataFrom="SummaryData" />
           <ProcessedElement tagName="Journal" charDataFrom="JournalData" />
           <ProcessedElement tagName="PubMedID" charDataFrom="PubMedIdData" />
      </ProcessedResult>

      <ProcessedResult processedResultType="Page" tagName="Page" >
           <ProcessedElement tagName="WebEnv"    charDataFrom="WebEnvData" />
           <ProcessedElement tagName="term"      charDataFrom="termData" />
           <ProcessedElement tagName="query_key" charDataFrom="queryKeyData" />
           <ProcessedElement tagName="page"      charDataFrom="pageData" />
           <ProcessedElement tagName="TotalDocs" charDataFrom="totalDocsData" 
                                                 inPattern="Items (\d*) - (\d*) of (\d*)"
                                                 outPattern="$3" />
      </ProcessedResult>
   </OutputFormat>

</HTMLScraperConfig>

