<?xml version="1.0" encoding="utf-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">

  <xs:element name="feed">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="postings">
          <xs:complexType>
            <xs:sequence>
              <xs:element name='posting' type='JobPosting' minOccurs='0' maxOccurs='unbounded'/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="JobPosting">
    <xs:all>
      <!-- Mandatory fields -->
      <xs:element name="id" type="xs:string"/>
      <xs:element name="job_title" type="ValidJobTitle"/>
      <xs:element name="description" type="ValidDescription" minOccurs="0" maxOccurs="1"/>
      <xs:element name="description_template" type="ValidDescriptionTemplate" minOccurs="0" maxOccurs="1"/>
      <xs:element name="url" type="ValidUrl" minOccurs="0" maxOccurs="1"/>
      <xs:element name="company_name" type="xs:string"/>
      <xs:element name="job_location" type="Location"/>
      <!-- Optional fields -->
      <xs:element name="company_profile_url" type="xs:string" minOccurs='0' maxOccurs='1'/>
      <xs:element name="publish_to_company_profile" type="xs:boolean" minOccurs='0' maxOccurs='1'/>
      <xs:element name="banner_image_url" type="xs:string" minOccurs='0' maxOccurs='1'/>
      <xs:element name="contact_email" type="ValidEmail" minOccurs='0' maxOccurs='1'/>
      <xs:element name="poster_url" type="xs:string" minOccurs='0' maxOccurs='1'/>
      <xs:element name="user_role" type="UserRole" minOccurs='0' maxOccurs='1'/>
      <xs:element name="tags" minOccurs='0' maxOccurs='1'>
        <xs:complexType>
          <xs:sequence>
            <xs:element name='tag' type='xs:string' minOccurs='0' maxOccurs='unbounded'/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="skills" minOccurs='0' maxOccurs='1'>
        <xs:complexType>
          <xs:sequence>
            <xs:element name='skill' type='xs:string' minOccurs='0' maxOccurs='unbounded'/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="salary" minOccurs='0' maxOccurs='1'>
        <xs:complexType>
          <xs:sequence>
            <xs:element name='range_start' type="xs:integer" minOccurs='0' maxOccurs='1'/>
            <xs:element name='range_end' type="xs:integer" minOccurs='0' maxOccurs='1'/>
            <xs:element name='currency' type='xs:string' minOccurs='0' maxOccurs='1'/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="posting_url" type="xs:string" minOccurs='0' maxOccurs='1'/>
      <xs:element name="industry_id" type="xs:positiveInteger" minOccurs='0' maxOccurs='1'/>
      <xs:element name="discipline_id" type="ValidDisciplineId" minOccurs='0' maxOccurs='1'/>
      <xs:element name="order_id" type="xs:positiveInteger" minOccurs='0' maxOccurs='1'/>
      <xs:element name="video_url" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="billing_reference" type="BillingReferenceType" minOccurs="0" maxOccurs="1"/>
      <xs:element name="job_type" type="JobType" minOccurs="0" maxOccurs="1"/>
      <xs:element name="student_classification" type="StudentClassificationType" minOccurs="0" maxOccurs="1"/>
      <xs:element name="reply_setting" type="ReplySettingType"/>
      <xs:element name="career_level" type="CareerLevel" minOccurs="0" maxOccurs="1"/>
      <xs:element name="xing_apply_configuration" minOccurs='0' maxOccurs='1'>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="method" type="XingApplyMethod" minOccurs="0" maxOccurs="1"/>
            <xs:element name="external_links" minOccurs="0" maxOccurs="1">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name='external_link' type='ExternalLink' minOccurs='0' maxOccurs='2'/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="XingApplyMethod">
    <xs:restriction base="xs:string">
      <xs:enumeration value="API" />
      <xs:enumeration value="EMAIL" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidDisciplineId">
    <xs:restriction base="xs:positiveInteger">
      <xs:enumeration value="1001"/>
      <xs:enumeration value="1002"/>
      <xs:enumeration value="1003"/>
      <xs:enumeration value="1004"/>
      <xs:enumeration value="1005"/>
      <xs:enumeration value="1006"/>
      <xs:enumeration value="1007"/>
      <xs:enumeration value="1008"/>
      <xs:enumeration value="1009"/>
      <xs:enumeration value="1010"/>
      <xs:enumeration value="1011"/>
      <xs:enumeration value="1012"/>
      <xs:enumeration value="1013"/>
      <xs:enumeration value="1014"/>
      <xs:enumeration value="1015"/>
      <xs:enumeration value="1016"/>
      <xs:enumeration value="1017"/>
      <xs:enumeration value="1018"/>
      <xs:enumeration value="1019"/>
      <xs:enumeration value="1020"/>
      <xs:enumeration value="1021"/>
      <xs:enumeration value="1022"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidJobTitle">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="255"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidDescription">
    <xs:restriction base="xs:string">
      <xs:minLength value="20"/>
      <xs:maxLength value="10000"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSocialLink">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://([^/:\.].*)"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidYoutubeVideoLink">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="https://www\.youtube\.com/embed/.+"/>
      <xs:pattern value="https://www\.youtube\-nocookie\.com/embed/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidVimeoVideoLink">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="https://player\.vimeo\.com/video/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ValidDescriptionTemplate">
    <xs:all>
      <xs:element name="title_color" type="ValidTitleColor" minOccurs='0' maxOccurs='1'/>
      <xs:element name="company_description" type="SectionContainer" minOccurs="0" maxOccurs="1"/>
      <xs:element name="responsibility" type="SectionContainer" minOccurs='0' maxOccurs='1'/>
      <xs:element name="skills" type="SectionContainer" minOccurs='0' maxOccurs='1'/>
      <xs:element name="we_offer" type="SectionContainer" minOccurs='0' maxOccurs='1'/>
      <xs:element name="contact_info" type="SectionContainer" minOccurs='0' maxOccurs='1'/>
      <xs:element name="generic_description" type="ValidGenericDescription" minOccurs='0' maxOccurs='1'/>
      <xs:element name="header_image" type="ValidImageUrl" minOccurs='0' maxOccurs='1'/>
      <xs:element name="footer_image" type="ValidImageUrl" minOccurs='0' maxOccurs='1'/>
      <xs:element name="video_youtube" type="ValidYoutubeVideoLink" minOccurs='0' maxOccurs='1'/>
      <xs:element name="video_vimeo" type="ValidVimeoVideoLink" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_website" type="ValidSocialLink" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_facebook" type="ValidSocialFacebook" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_twitter" type="ValidSocialTwitter" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_youtube" type="ValidSocialYoutube" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_xing" type="ValidSocialXing" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_instagram" type="ValidSocialInstagram" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_pinterest" type="ValidSocialPinterest" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_tiktok" type="ValidSocialTiktok" minOccurs='0' maxOccurs='1'/>
      <xs:element name="social_kununu" type="ValidSocialKununu" minOccurs='0' maxOccurs='1'/>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="ValidSocialFacebook">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(.*\.)?facebook\.com/.+"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?fb\.me/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSocialTwitter">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?twitter\.com/.+"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?t\.co/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSocialYoutube">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?youtube\.com/.+"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?youtu\.be/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSocialXing">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?xing\.com/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSocialInstagram">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?instagram\.com/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSocialPinterest">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?pinterest[a-z]*\.[a-z]+/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSocialTiktok">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(.+.)?tiktok\.com/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSocialKununu">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://(www\.)?kununu\.com/.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="SectionContainer">
    <xs:all>
      <xs:element name="title" type="ValidSectionTitle" minOccurs="0" maxOccurs="1"/>
      <xs:element name="content" type="ValidSectionContent" minOccurs="1"/>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="ValidTitleColor">
    <xs:restriction base="xs:string">
      <xs:pattern value="#[a-fA-F0-9]{6}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidImageUrl">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="1000"/>
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://.+\.(jpg|JPG|jpeg|JPEG|png|PNG)"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidUrl">
    <xs:restriction base="xs:string">
      <!-- Sorry, XSD does not support case-insensitive matching, so we have to fake it: -->
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://.+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidOptionalUrl">
    <xs:restriction base="xs:string">
      <!-- Sorry, XSD does not support case-insensitive matching, so we have to fake it: -->
      <xs:pattern value="[Hh][Tt][Tt][Pp][Ss]?://.+|^$"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSectionTitle">
    <xs:restriction base="xs:string">
      <xs:maxLength value="512"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidSectionContent">
    <xs:restriction base="xs:string">
      <xs:maxLength value="5000"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ValidGenericDescription">
    <xs:restriction base="xs:string">
      <xs:maxLength value="29000"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="Location">
    <xs:sequence>
      <xs:element name="address" type="xs:string" minOccurs='0' maxOccurs='1'/>
      <xs:element name="city" type="xs:string"/>
      <xs:element name="zip_code" type="xs:string" minOccurs='0' maxOccurs='1'/>
      <xs:element name="country" type="xs:string"/>
      <xs:element name="latitude" type="xs:decimal" minOccurs='0' maxOccurs='1'/>
      <xs:element name="longitude" type="xs:decimal" minOccurs='0' maxOccurs='1'/>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="ValidEmail">
    <xs:restriction base="xs:string">
      <xs:pattern value="[\-!#$%'\*\+-/=?&amp;\^_`{}|~a-zA-Z0-9]+@([0-9a-zA-Z]*[\-\p{L}0-9]*[0-9a-zA-Z]\.)+\p{L}{2,9}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="UserRole">
    <xs:restriction base="xs:string">
      <xs:enumeration value="EXTERNAL_RECRUITER"/>
      <xs:enumeration value="HR_DEPARTMENT"/>
      <xs:enumeration value="MANAGER"/>
      <xs:enumeration value="EMPLOYEE"/>
      <xs:enumeration value="HR_CONSULTANT"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="BillingReferenceType">
    <xs:restriction base="xs:string">
      <xs:minLength value="0"/>
      <xs:maxLength value="100"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="JobType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="FULL_TIME"/>
      <xs:enumeration value="PART_TIME"/>
      <xs:enumeration value="INTERN"/>
      <xs:enumeration value="SEASONAL"/>
      <xs:enumeration value="TEMPORARY"/>
      <xs:enumeration value="CONTRACTOR"/>
      <xs:enumeration value="VOLUNTARY"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="StudentClassificationType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="THESIS"/>
      <xs:enumeration value="INTERNSHIP"/>
      <xs:enumeration value="PARTTIME"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ReplySettingType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="url"/>
      <xs:enumeration value="email"/>
      <xs:enumeration value="xing_apply"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="CareerLevel">
    <xs:restriction base="xs:string">
      <xs:enumeration value="JOBLEVEL_1"/>
      <xs:enumeration value="JOBLEVEL_2"/>
      <xs:enumeration value="JOBLEVEL_3"/>
      <xs:enumeration value="JOBLEVEL_4"/>
      <xs:enumeration value="JOBLEVEL_5"/>
      <xs:enumeration value="JOBLEVEL_6"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ExternalLink">
    <xs:all>
      <xs:element name='url' type='ValidUrl'/>
      <xs:element name='type' type='ApplyDocumentType'/>
    </xs:all>
  </xs:complexType>

  <xs:simpleType name="ApplyDocumentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PRIVACY_POLICY"/>
      <xs:enumeration value="TERMS_AND_CONDITIONS"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>
