<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:opmxl="http://www.propbot.org"
           elementFormDefault="unqualified">
  <xs:import namespace="http://www.propbot.org" schemaLocation="openpmxlite.xsd"/>

  <xs:element name="rss">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="channel" type="channel"/>
      </xs:sequence>
      <xs:attribute name="version" use="required" fixed="2.0"/>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="channel">
    <xs:sequence>
      <xs:element name="title" type="xs:string"/>
      <xs:element name="link" type="xs:anyURI"/>
      <xs:element name="description" type="xs:string"/>
      <!-- RSS 2.0 optional elements and foreign namespace extensions follow. -->
      <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="item" type="item"/>
  <xs:complexType name="item">
    <xs:sequence>
      <xs:element name="title" type="xs:string"/>
      <xs:element name="link" type="xs:anyURI"/>
      <xs:element name="guid" type="rssGuid"/>
      <xs:element name="description" type="xs:string"/>
      <!-- RSS optional item fields and PropBot extension fields are schema-checked when known. -->
      <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##other" processContents="lax"/>
  </xs:complexType>

  <xs:simpleType name="rssGuidValue">
    <xs:restriction base="xs:string">
      <xs:maxLength value="254"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="rssGuid">
    <xs:simpleContent>
      <xs:extension base="rssGuidValue">
        <xs:attribute name="isPermaLink" type="xs:boolean" use="optional" default="true"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
