Data Feed XML Schema Definition

Following is the XSD for the data feed.

<?xml version="1.0" encoding="windows-1252"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Oracle XDB (Oracle XDB) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:oss="http://xmlns.oracle.com/orarss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://xmlns.oracle.com/orarss" elementFormDefault="qualified">
  <xsd:complexType name="descriptionType" abstract="true"/>
  
<xsd:complexType name="channelDescType">
    <xsd:complexContent>
      <xsd:extension base="oss:descriptionType">
        <xsd:sequence>
          <xsd:element name="sourceName" type="xsd:string" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation>
The business Object for which this channel corresponds to - if missing then the channel contains information from multiple sources.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="feedType" default="incremental" maxOccurs="0" minOccurs="0">
            <xsd:simpleType>
              <xsd:restriction base="xsd:string">
                <xsd:enumeration value="incremental"/>
                <xsd:enumeration value="full"/>
              </xsd:restriction>
            </xsd:simpleType>
           </xsd:element>
           <xsd:element name="batchId" type="xsd:string" minOccurs="0"/>
           <xsd:element name="itemCount" type="xsd:positiveInteger" minOccurs="0"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
   
  <xsd:complexType name="itemType"> 
    <xsd:sequence>
      <xsd:element name="title" type="xsd:string"/>
      <xsd:element name="link" type="xsd:anyURI">
        <xsd:annotation>
          <xsd:documentation>
            Display URL of the item. This URL should be UTF-8 encoded.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="description" type="xsd:string"/>
      <xsd:element name="itemDesc">
        <xsd:complexType>
          <xsd:complexContent>
            <xsd:extension base="oss:itemDescType">
              <xsd:attribute name="operation" type="oss:operationType" default="insert"/>
            </xsd:extension>
          </xsd:complexContent>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
     
  <xsd:complexType name="rssChannelType">
    <xsd:sequence>
      <xsd:element name="title" type="xsd:string"/>
      <xsd:element name="link" type="xsd:anyURI">
        <xsd:annotation>
          <xsd:documentation>
             display URL
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="description" type="xsd:string"/>
      <xsd:element name="lastBuildDate" type="xsd:dateTime">
        <xsd:annotation>
          <xsd:documentation>
            This is the publishing date for this channel
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:any namespace="##other" minOccurs="0"/>
      <xsd:element name="channelDesc" type="oss:channelDescType" />
      <xsd:element name="item" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:complexContent>
            <xsd:extension base="oss:itemType"/>
          </xsd:complexContent>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:complexType name="infoType">
    <xsd:sequence>
      <xsd:element name="status" type="oss:statusType"/>
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:complexType name="itemDescType">
    <xsd:complexContent>
      <xsd:extension base="oss:descriptionType">
        <xsd:sequence>
          <xsd:element name="documentMetadata" type="oss:metadataType" minOccurs="0"/>
          <xsd:element name="documentAcl" type="oss:securityType" minOccurs="0"/>
          <xsd:element name="documentInfo" type="oss:infoType" minOccurs="0"/>
          <xsd:element name="documentContent" type="oss:bodyType" minOccurs="0"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <xsd:complexType name="sourceHierType">
    <xsd:sequence>
      <xsd:element name="path" type="xsd:string" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:complexType name="metadataType">
    <xsd:sequence>
      <xsd:element name="author" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="accessURL" type="xsd:string" minOccurs="0"/>
      <xsd:element name="lastModifiedDate" type="xsd:dateTime" minOccurs="0"/>
      <xsd:element name="keywords" type="xsd:string" minOccurs="0"/>
      <xsd:element name="summary" type="xsd:string" minOccurs="0"/>
      <xsd:element name="language" type="xsd:string" minOccurs="0"/>
      <xsd:element name="sourceHierarchy" type="oss:sourceHierType" minOccurs="0"/>
      <xsd:element name="docAttr" minOccurs="0" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="oss:docAttrType">
              <xsd:attribute name="name" type="xsd:string" use="required"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:complexType name="securityType">
    <xsd:choice>
      <xsd:element name="principal" minOccurs="0" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="idType" type="oss:idAttrType" use="optional" default="user">
                <xsd:annotation>
                  <xsd:documentation>
                    User or group. 
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:attribute>
              <xsd:attribute name="format" type="xsd:string" use="required"/>
              <xsd:attribute name="grant" type="xsd:boolean" use="optional" default="true"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="securityAttr" minOccurs="0" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="name" type="xsd:string"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
    </xsd:choice>
    <xsd:attribute name="ownerGuid" type="xsd:string">
      <xsd:annotation>
        <xsd:documentation>
          OwnerGUID - useful if the principal includes OWNER
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  
  <xsd:simpleType name="statusType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="STATUS_OK_FOR_INDEX"/>
      <xsd:enumeration value="STATUS_BAD_REQUEST"/>
      <xsd:enumeration value="STATUS_AUTH_REQUIRED"/>
      <xsd:enumeration value="STATUS_ACCESS_FORBIDDEN"/>
      <xsd:enumeration value="STATUS_NOTFOUND"/>
      <xsd:enumeration value="STATUS_PROXY_REQUIRED"/>
      <xsd:enumeration value="STATUS_REQUEST_TIMEOUT"/>
      <xsd:enumeration value="STATUS_SERVER_ERROR"/>
      <xsd:enumeration value="STATUS_BAD_GATEWAY"/>
      <xsd:enumeration value="STATUS_FETCH_ERROR"/>
      <xsd:enumeration value="STATUS_READ_TIMEOUT"/>
      <xsd:enumeration value="STATUS_FILTER_ERROR"/>
      <xsd:enumeration value="STATUS_OUT_OF_MEMORY"/>
      <xsd:enumeration value="STATUS_IO_EXCEPTION"/>
      <xsd:enumeration value="STATUS_CONNECTION_REFUSED"/>
      <xsd:enumeration value="STATUS_DUPLICATE_DOC"/>
      <xsd:enumeration value="STATUS_EMPTY_DOC"/>
      <xsd:enumeration value="STATUS_LOGIN_FAILED"/>
      <xsd:enumeration value="STATUS_OK_BUT_NO_INDEX"/>
      <xsd:enumeration value="STATUS_OK_CRAWLED"/>
      <xsd:enumeration value="STATUS_CANNOT_READ"/>
      <xsd:enumeration value="STATUS_DOC_SIZE_TOO_BIG"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <xsd:simpleType name="operationType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="insert"/>
      <xsd:enumeration value="replace"/>
      <xsd:enumeration value="delete"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <xsd:simpleType name="idAttrType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="user"/>
      <xsd:enumeration value="group"/>
      <xsd:enumeration value="owner"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <xsd:complexType name="bodyType">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="contentLink" minOccurs="0" maxOccurs="unbounded">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:anyURI">
              <xsd:attribute name="contentType" default="text/html"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="content" minOccurs="0">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="contentType" type="xsd:string" default="text/plain"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="xhtmlContent" minOccurs="0" maxOccurs="1">
        <xsd:complexType>
          <xsd:complexContent>
            <xsd:extension base="xsd:anyType">
              <xsd:attribute name="lang" type="xsd:string"/>
              <xsd:anyAttribute namespace="##other"/>
            </xsd:extension>
          </xsd:complexContent>
        </xsd:complexType>
      </xsd:element>
    </xsd:choice>
  </xsd:complexType>
  
  <xsd:simpleType name="docAttrType">
    <xsd:union memberTypes="xsd:dateTime xsd:decimal xsd:string"/>
  </xsd:simpleType>
  
  <xsd:element name="rss">
    <xsd:annotation>
      <xsd:documentation>RSS data file</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="channel" type="oss:rssChannelType"/>
      </xsd:sequence>
      <xsd:attribute name="version" type="xsd:decimal" use="required" fixed="2.0/>
    </xsd:complexType>
  </xsd:element>
 
</xsd:schema>