

<QuickAppConfig Name="HTMLFederatedDemo">

 <FieldSpecs>

    <Field>
      <ID>KY</ID>
      <Name>Keywords</Name>
      <Type>AlphaNumeric</Type>
    </Field>

    <Field>
      <ID>KYBOOL</ID>
      <Name>Keyword Bool operator</Name>
      <Type>BooleanFieldOp</Type>
      <AssociatedFields>
         <AssocField ID="KY" />
      </AssociatedFields>
      <Data>
        <Choice value="AND" name="and" />
        <Choice value="OR"  name="or" />
        <Choice value="EXACT" name="exact" />
      </Data>
    </Field>

    <Field>
      <ID>JC</ID>
      <Name>Job Category</Name>
      <Type>AlphaNumeric</Type>
      <Data>
         <Choice value="ALL"   name="Any Category" />
         <Choice value="ACCT"  name="Accounting" />
         <Choice value="ADMIN" name="Administrative" />
         <Choice value="ADVER" name="Advertising" />
         <Choice value="AERO"  name="Aerospace" />
         <Choice value="AGRI"  name="Agriculture" />
         <Choice value="ARLI"  name="Airlines" />
         <Choice value="APPA"  name="Apparel" />
         <Choice value="ARCH"  name="Architecture" />
         <Choice value="ARTS"  name="Arts" />
         <Choice value="AUTO"  name="Automotive" />
         <Choice value="BANK"  name="Banking" />
         <Choice value="BIOT"  name="Biotechnology" />
         <Choice value="BROD"  name="Broadcasting" />
         <Choice value="COMP"  name="Computer/Information Technology" />
         <Choice value="COMM"  name="Communications" />
         <Choice value="CONST" name="Construction" />
         <Choice value="CONS"  name="Consulting" />
         <Choice value="CUST"  name="Customer Service" />
         <Choice value="EDUC"  name="Education" />
         <Choice value="EMPL"  name="Employment" />
         <Choice value="ENER"  name="Energy/Utilities" />
         <Choice value="ENGN"  name="Engineering" />
         <Choice value="ENTR"  name="Entertainment" />
         <Choice value="ENVR"  name="Environmental" />
         <Choice value="FIN"   name="Finance" />
         <Choice value="GOV"   name="Government" />
         <Choice value="HEAL"  name="Healthcare" />
         <Choice value="HOSP"  name="Hospitality" />
         <Choice value="HR"    name="Human Resources" />
         <Choice value="IND"   name="Industrial" />
         <Choice value="INS"   name="Insurance" />
         <Choice value="JOU"   name="Journalism" />
         <Choice value="LAWE"  name="Law Enforcement" />
         <Choice value="LEG"   name="Legal" />
         <Choice value="MAIN"  name="Maintenance" />
         <Choice value="MANU"  name="Manufacturing" />
         <Choice value="MARK"  name="Marketing" />
         <Choice value="MIL"   name="Military" />
         <Choice value="NONP"  name="Non Profit" />
         <Choice value="PERC"  name="Personal Care" />
         <Choice value="PR"    name="Public Relations" />
         <Choice value="PUR"   name="Purchasing" />
         <Choice value="RE"    name="Real Estate" />
         <Choice value="REC"   name="Recreation" />
         <Choice value="REST"  name="Restaurant" />
         <Choice value="RET"   name="Retail" />
         <Choice value="SCI"   name="Science" />
         <Choice value="SEC"   name="Security" />
         <Choice value="TELE"  name="Telecommunications" />
         <Choice value="TRANS" name="Transportation" />
         <Choice value="WARE"  name="Warehouse / Distribution" />
       </Data>
    </Field>

    <Field>
      <ID>CT</ID>
      <Name>City</Name>
      <Type>AlphaNumeric</Type>
    </Field>

    <Field>
      <ID>ST</ID>
      <Name>State</Name>
      <Type>AlphaNumeric</Type>
      <Data>
         <Choice value="ALL"  name="All United States" />
         <Choice value="AL"   name="Alabama" />
         <Choice value="AK"   name="Alaska" />
         <Choice value="AZ"   name="Arizona" />
         <Choice value="AR"   name="Arkansas" />
         <Choice value="CA"   name="California" />
         <Choice value="CO"   name="Colorado" />
         <Choice value="CT"   name="Connecticut" />
         <Choice value="DE"   name="Delaware" />
         <Choice value="DC"   name="District of Columbia" />
         <Choice value="FL"   name="Florida" />
         <Choice value="GA"   name="Georgia" />
         <Choice value="HI"   name="Hawaii" />
         <Choice value="ID"   name="Idaho" />
         <Choice value="IL"   name="Illinois" />
         <Choice value="IN"   name="Indiana" />
         <Choice value="IA"   name="Iowa" />
         <Choice value="KS"   name="Kansas" />
         <Choice value="KY"   name="Kentucky" />
         <Choice value="LA"   name="Louisiana" />
         <Choice value="ME"   name="Maine" />
         <Choice value="MD"   name="Maryland" />
         <Choice value="MA"   name="Massachusetts" />
         <Choice value="MI"   name="Michigan" />
         <Choice value="MN"   name="Minnesota" />
         <Choice value="MS"   name="Mississippi" />
         <Choice value="MO"   name="Missouri" />
         <Choice value="MT"   name="Montana" />
         <Choice value="NE"   name="Nebraska" />
         <Choice value="NV"   name="Nevada" />
         <Choice value="NH"   name="New Hampshire" />
         <Choice value="NJ"   name="New Jersey" />
         <Choice value="NM"   name="New Mexico" />
         <Choice value="NY"   name="New York" />
         <Choice value="NC"   name="North Carolina" />
         <Choice value="ND"   name="North Dakota" />
         <Choice value="OH"   name="Ohio" />
         <Choice value="OK"   name="Oklahoma" />
         <Choice value="OR"   name="Oregon" />
         <Choice value="PA"   name="Pennsylvania" />
         <Choice value="RI"   name="Rhode Island" />
         <Choice value="SC"   name="South Carolina" />
         <Choice value="SD"   name="South Dakota" />
         <Choice value="TN"   name="Tennessee" />
         <Choice value="TX"   name="Texas" />
         <Choice value="UT"   name="Utah" />
         <Choice value="VT"   name="Vermont" />
         <Choice value="VA"   name="Virginia" />
         <Choice value="WA"   name="Washington" />
         <Choice value="WV"   name="West Virginia" />
         <Choice value="WI"   name="Wisconsin" />
         <Choice value="WY"   name="Wyoming" />
      </Data>
    </Field>

  </FieldSpecs>

  <SearchForms>
    <SearchForm name="AdvancedSearch"  >
     
     <Field ID="KY" type="text" width="50" name="Keywords" >
        <FieldOp ID="KYBOOL" type="select" />
     </Field>

     <Field ID="JC" type="text" width="50" name="JobCategory" />
     <Field ID="CT" type="text" width="50" name="City" />
     <Field ID="ST" type="text" width="50" name="State" />

     <Field ID="PageSize" type="radio" name="Page Size" >
       <Choice value="10" name="10" default="on" />
       <Choice value="20" name="20" />
       <Choice value="50" name="50" />
     </Field>

     <!-- 
     <Field ID="SortBy" type="radio" name="Sort By" >
       <Choice value="relevance" default="on" />
       <Choice value="date"  />
     </Field>
       -->

    </SearchForm>
  </SearchForms>

  <DisplayForms>
    <DisplayForm name="brief" >
      <Field ID="KY" type="text" width="50" />
      <Field ID="JC" type="text" width="50" />
      <Field ID="CT" type="text" width="50" />
      <Field ID="ST" type="text" width="50" />
    </DisplayForm>
  </DisplayForms>


  <SourceType name="YahooHotJobs" type="HTMLSearchSource" displayName="Yahoo HotJobs"
              sourceFactoryClass="com.raritantechnologies.federated.html.HTMLSearchSourceFactory" 
              queryProcessor="com.raritantechnologies.federated.html.HTMLQueryProcessor" >

    <Fields>

      <Field ID="KY" xPath="/SearchProcess/Step/params/param[@formName='keywords_all']/@value">
        <!-- lookup the value of the KY field given the chosen value of KYBOOL -->
        <FieldMap ID="KYBOOL" name="KY" >
          <Choice abstractVal="AND"   sourceVal="/SearchProcess/Step/params/param[@formName='keywords_all']/@value" /> 
          <Choice abstractVal="OR"    sourceVal="/SearchProcess/Step/params/param[@formName='keywords_any']/@value" /> 
          <Choice abstractVal="EXACT" sourceVal="/SearchProcess/Step/params/param[@formName='keywords_phrase']/@value" /> 
        </FieldMap>
      </Field>

      <Field ID="JC" xPath="/SearchProcess/Step/params/param[@formName='industry1']/@value">
        <Data>
          <Choice abstractVal="ACCT"  sourceVal="FIN" />  <!-- Accounting     => Accounting/Finance -->
          <Choice abstractVal="ADMIN" sourceVal="ADM" />  <!-- Administrative => Clerical/Administrative -->
          <Choice abstractVal="ADVER" sourceVal="ADV" />  <!-- Advertising    => Advertising/Public Relations -->
          <Choice abstractVal="AERO"  sourceVal="TRA" />  <!-- Aerospace      => Transportation/Logistics -->
          <Choice abstractVal="AGRI"  sourceVal="OTH" />  <!-- Agriculture    => Other -->
          <Choice abstractVal="ARLI"  sourceVal="TRA" />  <!-- Airlines       => Transportation/Logistics -->
          <Choice abstractVal="APPA"  sourceVal="OTH" />  <!-- Apparel        => Other -->
          <Choice abstractVal="ARCH"  sourceVal="ENG" />  <!-- Architecture   => Engineering/Architecture -->
          <Choice abstractVal="ARTS"  sourceVal="ART" />  <!-- Arts           => Arts/Entertainment/Publishing -->
          <Choice abstractVal="AUTO"  sourceVal="OTH" />  <!-- Automotive     => Other --> 
          <Choice abstractVal="BANK"  sourceVal="BAM" />  <!-- Banking        => Banking/Mortgage -->
          <Choice abstractVal="BIOT"  sourceVal="SCI" />  <!-- Biotechnology  => Pharmaceutical/Biotech  -->
          <Choice abstractVal="BROD"  sourceVal="OTH" />  <!-- Broadcasting   => Other -->
          <Choice abstractVal="COMP"  sourceVal="NEW" />  <!-- Computer/Information Technology => Internet/New Media -->
          <Choice abstractVal="COMM"  sourceVal="ART" />  <!-- Communications => Arts/Entertainment/Publishing -->
          <Choice abstractVal="CONST" sourceVal="CON" />  <!-- Construction   => Construction/Facilities -->
          <Choice abstractVal="CONS"  sourceVal="MCO" />  <!-- Consulting     => Management Consulting -->
          <Choice abstractVal="CUST"  sourceVal="CUS" />  <!-- Customer Service => Customer Service -->
          <Choice abstractVal="EDUC"  sourceVal="EDU" />  <!-- Education      => Education/Training -->
          <Choice abstractVal="EMPL"  sourceVal="OTH" />  <!-- Employment     => Other -->
          <Choice abstractVal="ENER"  sourceVal="OTH" />  <!-- Energy         => Other -->
          <Choice abstractVal="ENGN"  sourceVal="ENG" />  <!-- Engineering    => Engineering/Architecture -->
          <Choice abstractVal="ENTR"  sourceVal="ART" />  <!-- Entertainment  => Arts/Entertainment/Publishing -->
          <Choice abstractVal="ENVR"  sourceVal="OTH" />  <!-- Environmental  => Other -->
          <Choice abstractVal="FIN"   sourceVal="FIN" />  <!-- Finance        => Accounting/Finance -->
          <Choice abstractVal="GOV"   sourceVal="GOV" />  <!-- Government     => Government -->
          <Choice abstractVal="HEAL"  sourceVal="HEA" />  <!-- Healthcare     => Healthcare -->
          <Choice abstractVal="HOSP"  sourceVal="HOS" />  <!-- Hospitality    => Hospitality/Travel -->
          <Choice abstractVal="HR"    sourceVal="HRS" />  <!-- Human Resources => Human Resources -->
          <Choice abstractVal="IND"   sourceVal="MAN" />  <!-- Industrial     => Manufacturing/Operations -->
          <Choice abstractVal="INS"   sourceVal="INS" />  <!-- Insurance      => Insurance -->
          <Choice abstractVal="JOU"   sourceVal="ART" />  <!-- Journalism     => Arts/Entertainment/Publishing -->
          <Choice abstractVal="LAWE"  sourceVal="LAW" />  <!-- Law Enforcement => Law Enforcement/Security -->
          <Choice abstractVal="LEG"   sourceVal="LEG" />  <!-- Legal          => Legal -->
          <Choice abstractVal="MAIN"  sourceVal="CON" />  <!-- Maintenance"   => Construction/Facilities -->
          <Choice abstractVal="MANU"  sourceVal="MAN" />  <!-- Manufacturing  => Manufacturing/Operations -->
          <Choice abstractVal="MARK"  sourceVal="MAR" />  <!-- Marketing      => Marketing -->
          <Choice abstractVal="MIL"   sourceVal="OTH" />  <!-- Military       => Other -->
          <Choice abstractVal="NONP"  sourceVal="NON" />  <!-- Non Profit     => Non-Profit/Volunteer -->
          <Choice abstractVal="PERC"  sourceVal="OTH" />  <!-- Personal Care  => Other -->
          <Choice abstractVal="PR"    sourceVal="ADV" />  <!-- Public Relations => Advertising/Public Relations -->
          <Choice abstractVal="PUR"   sourceVal="PUR" />  <!-- Purchasing     => Retail -->
          <Choice abstractVal="RE"    sourceVal="RLE" />  <!-- Real Estate    => Real Estate -->
          <Choice abstractVal="REC"   sourceVal="OTH" />  <!-- Recreation     => Other -->
          <Choice abstractVal="REST"  sourceVal="RFS" />  <!-- Restaurant     => Restaurant/Food Service -->
          <Choice abstractVal="RET"   sourceVal="PUR" />  <!-- Retail         => Retail -->
          <Choice abstractVal="SCI"   sourceVal="MIS" />  <!-- Science        => Technology -->
          <Choice abstractVal="SEC"   sourceVal="LAW" />  <!-- Security       => Law Enforcement/Security -->
          <Choice abstractVal="TELE"  sourceVal="TEL" />  <!-- Telecommunications => Telecommunications -->
          <Choice abstractVal="TRANS" sourceVal="TRA" />  <!-- Transportation => Transportation/Logistics -->
          <Choice abstractVal="WARE"  sourceVal="MAN" />  <!-- Warehouse / Distribution => Manufacturing/Operations -->
        </Data>
      </Field>
      <Field ID="JC" xPath="/SearchProcess/Step/params/param[@formName='industry2']/@value">
        <Data>
          <Choice abstractVal="COMP"  sourceVal="MIS" />   <!-- Computer/Information Technology => Technology -->
        </Data>
      </Field>

      <Field ID="CT" xPath="/SearchProcess/Step/params/param[@formName='city1']/@value" />

      <Field ID="ST" xPath="/SearchProcess/Step/params/param[@formName='state1']/@value">
        <Data>
          <Choice abstractVal="ALL" sourceVal="" />
          <Choice abstractVal="AL"  sourceVal="AL" />
          <Choice abstractVal="AK"  sourceVal="AK" />
          <Choice abstractVal="AZ"  sourceVal="AZ" />
          <Choice abstractVal="AR"  sourceVal="AR" />
          <Choice abstractVal="CA"  sourceVal="CA" />
          <Choice abstractVal="CO"  sourceVal="CO" />
          <Choice abstractVal="CT"  sourceVal="CT" />
          <Choice abstractVal="DE"  sourceVal="DE" />
          <Choice abstractVal="DC"  sourceVal="DC" />
          <Choice abstractVal="FL"  sourceVal="FL" />
          <Choice abstractVal="GA"  sourceVal="GA" />
          <Choice abstractVal="HI"  sourceVal="HI" />
          <Choice abstractVal="ID"  sourceVal="ID" />
          <Choice abstractVal="IL"  sourceVal="IL" />
          <Choice abstractVal="IN"  sourceVal="IN" />
          <Choice abstractVal="IA"  sourceVal="IA" />
          <Choice abstractVal="KS"  sourceVal="KS" />
          <Choice abstractVal="KY"  sourceVal="KY" />
          <Choice abstractVal="LA"  sourceVal="LA" />
          <Choice abstractVal="ME"  sourceVal="ME" />
          <Choice abstractVal="MD"  sourceVal="MD" />
          <Choice abstractVal="MA"  sourceVal="MA" />
          <Choice abstractVal="MI"  sourceVal="MI" />
          <Choice abstractVal="MN"  sourceVal="MN" />
          <Choice abstractVal="MS"  sourceVal="MS" />
          <Choice abstractVal="MO"  sourceVal="MO" />
          <Choice abstractVal="MT"  sourceVal="MT" />
          <Choice abstractVal="NE"  sourceVal="NE" />
          <Choice abstractVal="NV"  sourceVal="NV" />
          <Choice abstractVal="NH"  sourceVal="NH" />
          <Choice abstractVal="NJ"  sourceVal="NJ" />
          <Choice abstractVal="NM"  sourceVal="NM" />
          <Choice abstractVal="NY"  sourceVal="NY" />
          <Choice abstractVal="NC"  sourceVal="NC" />
          <Choice abstractVal="ND"  sourceVal="ND" />
          <Choice abstractVal="OH"  sourceVal="OH" />
          <Choice abstractVal="OK"  sourceVal="OK" />
          <Choice abstractVal="OR"  sourceVal="OR" />
          <Choice abstractVal="PA"  sourceVal="PA" />
          <Choice abstractVal="RI"  sourceVal="RI" />
          <Choice abstractVal="SC"  sourceVal="SC" />
          <Choice abstractVal="SD"  sourceVal="SD" />
          <Choice abstractVal="TN"  sourceVal="TN" />
          <Choice abstractVal="TX"  sourceVal="TX" />
          <Choice abstractVal="UT"  sourceVal="UT" />
          <Choice abstractVal="VT"  sourceVal="VT" />
          <Choice abstractVal="VA"  sourceVal="VA" />
          <Choice abstractVal="WA"  sourceVal="WA" />
          <Choice abstractVal="WV"  sourceVal="WV" />
          <Choice abstractVal="WI"  sourceVal="WI" />
          <Choice abstractVal="WY"  sourceVal="WY" />
        </Data>
      </Field>
    </Fields>

    <SecurityModel>
       <search>Public</search>
    </SecurityModel>

    <SearchProcess>
      <Step type="getURL" URL="http://hotjobs.yahoo.com/jobseeker/jobsearch/search.html">
        <params>

            <param formName="keywords_all" value="" />    <!-- All of these words -->
            <param formName="keywords_phrase" value="" /> <!-- The exact phrase -->
            <param formName="keywords_any" value="" />    <!-- Any of these words -->
            <param formName="keywords_none" value="" />   <!-- None of these words -->

            <param formName="type" value="" />  <!-- set: value="title" => Search job titles only -->

            <param formName="city1" value="" />
            <param formName="state1" value="" />  <!-- select list AK,AL,AR etc. -->

            <param formName="city2" value="" />
            <param formName="state2" value="" />  <!-- select list AK,AL,AR etc. -->

            <param formName="metro_area" value="1" /> <!-- Include surrounding cities -->

            <param formName="industry1" value="" />
            <param formName="industry2" value="" />
            <param formName="industry3" value="" />

            <param formName="salary_minimum" value="" />

            <param formName="salary_type" value="year" /> <!-- Yearly set  value="hour" => Hourly -->
            <param formName="require_salary"  value="1" /> <!-- Show jobs with salary information only -->

            <param formName="exp_level[]" value="ENT,MID,INT,EXE" /> <!-- Entry-Level,Mid-Senior Level,Internship,Executive Level -->

            <param formName="search_corp" value="1" />     <!-- "1" => Direct Employers -->
            <param formName="search_agencies" value="1" /> <!-- "1" => Staffing Firms -->

            <param formName="updated_since" value="month" />   <!--  today => Today
                                                                    oneday => Within the past 24 hours
                                                                      week => Within the past 7 days
                                                                     month => Within the past 30 days
                                                                 sixtydays => Within the past 60 days
                                                                ninetydays => Within the past 90 days
                                                                   anytime => At any time -->

            <param formName="search" value="Search" />

            <param formName="advanced_flag" value="1" />
            <param formName="country1" value="USA" />
		
            <param formName="basicsearch" value="" />
            <param formName="advancedsearch" value="" />

        </params>
      </Step>
    </SearchProcess>

    <ScraperConfigFile>HotJobsScraperConfig.xml</ScraperConfigFile>
    <OutputTransformer>HotJobsTransform.xsl</OutputTransformer>

  </SourceType>
</QuickAppConfig>