

<QuickAppConfig Name="RaritanWorkersFederatedDemo">

 <FieldSpecs>

    <Field>
      <ID>AU</ID>
      <Name>Author</Name>
      <Type>AlphaNumeric</Type>
    </Field>

    <Field>
      <ID>AU-TICombo</ID>
      <Name>Author Title combination</Name>
      <Type>BooleanComboOp</Type>  <!-- also have BooleanFieldOp == all words, any words, exclude words -->
      <AssociatedFields>
         <AssocField ID="AU" />
         <AssocField ID="TI" />
      </AssociatedFields>
      <Data>
        <Choice value="AND" name="and" />
        <Choice value="OR"  name="or" />
      </Data>
    </Field>

    <Field>
       <ID>TI</ID>
       <Name>Article Title</Name>
       <Type>AlphaNumeric</Type>
    </Field>

    <Field>
      <ID>KY</ID>
      <Name>Keywords</Name>
      <Type>AlphaNumeric</Type>
    </Field>

  </FieldSpecs>


  <SearchForms>
    <SearchForm name="AdvancedSearch" >
     
     <Field ID="TI" type="text" width="50" name="Title" />
     <Field ID="AU" type="text" width="50" name="Author" />
     <Field ID="KY" type="text" width="50" name="Keywords" />

     <Field ID="PageSize" type="radio" >
       <Choice value="10" name="10" default="on" />
       <Choice value="20" name="20" />
       <Choice value="50" name="50" />
     </Field>

     <Field ID="SortBy" type="radio" >
       <Choice value="relevance" name="Score" default="on" />
       <Choice value="date"      name="Date"  />
     </Field>

    </SearchForm>
  </SearchForms>

  <DisplayForms>
    <DisplayForm name="brief"  >
      <Field ID="TI" type="text" width="50" />
      <Field ID="AU" type="text" width="50" />
      <Field ID="KY" type="text" width="50" />
    </DisplayForm>
  </DisplayForms>


  <SourceType name="LibraryOfCongressBooks" type="HTMLSearchSource" displayName="Library Of Congress (HTTP) - Books"
              sourceFactoryClass="com.raritantechnologies.federated.html.HTMLSearchSourceFactory" 
              queryProcessor="com.raritantechnologies.federated.html.HTMLQueryProcessor" >

    <Fields>
      <Field ID="TI" xPath="/SearchProcess/Step[3]/params/param[@formName='SAB1']/@value" />
      <Field ID="KY" xPath="/SearchProcess/Step[3]/params/param[@formName='SAB2']/@value" />
    </Fields>

    <SecurityModel>
       <search>Public</search>
       <fullText>Public</fullText>
    </SecurityModel>

    <SearchProcess initCookies="false" >
      <!-- Step 1: go to the guided search form - get the session id from the hidden fields -->
      <Step type="getURL" URL="http://catalog.loc.gov/cgi-bin/Pwebrecon.cgi">
        <params>
          <param formName="DB" value="local" />
          <param formName="PAGE" value="Second" />
        </params>
        <ReadChainedParams scraper="BASE_PATH/LibraryOfCongress/LOCSessionScraper.xml" >
           <chainParams>
              <chainParam formName="PID" xPath="/Session/Fields/PID" />
              <chainParam formName="SEQ" xPath="/Session/Fields/SEQ" />
           </chainParams>
        </ReadChainedParams>
      </Step>
      <!-- Step 2 go to the limit page - set this up for a BOOK search -->

      <Step type="postURL" URL="http://catalog.loc.gov/cgi-bin/Pwebrecon.cgi">
        <params>
          <param formName="PAGE" value="bbSearch" />
          <param formName="SL" value="B" />
          <param formName="SUBMIT" value="Set Search Limits" />
          <param formName="DATE" value="" />
          <param formName="DTBL" value="E" />
          <param formName="DATE2" value="" />
          <!-- <param formName="LANG" value="xxx|0" /> -->

          <param formName="TYPE" value="am|2" /> 

          <!-- <param formName="LOCA" value=".Reference Collections (ALL)|2" /> -->
          <!-- <param formName="PLAC" value="xx|0" /> -->
          <param formName="PID" chainedFrom="PID" /> 
          <param formName="SEQ" chainedFrom="SEQ" />
          <param formName="PAGE" value="bbSearch" />
        </params>
      </Step>


      <!-- step 3 go to the search page - do the search -->

      <Step type="getURL" URL="http://catalog.loc.gov/cgi-bin/Pwebrecon.cgi" >
        <params>
          <param formName="SAB1" value="" />
          <param formName="BOOL1" value="all of these" />
          <param formName="FLD1" value="Title: All (KTIL) (KTIL)" />
          <param formName="GRP1" value="AND with next set" />
          <param formName="SAB2" value="" />
          <param formName="BOOL2" value="all of these" />
          <param formName="FLD2" value="Keyword Anywhere (GKEY) (GKEY)" />
          <param formName="PID" chainedFrom="PID" /> 
          <param formName="SEQ" chainedFrom="SEQ" />
          <param formName="CNT" value="25" />
          <param formName="HIST" value="1" />
        </params>
      </Step>

    </SearchProcess>

    <ScraperConfigFile>LOCScraperConfig.xml</ScraperConfigFile>
    <OutputTransformer>LOCOutputTransform.xsl</OutputTransformer>

  </SourceType>

</QuickAppConfig>