<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2004 The Apache Software Foundation

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License. -->

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="rss">
    <xs:annotation>
      <xs:documentation>Copyright 2004 The Apache Software Foundation

        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="channel">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="title" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
              <xs:element type="xs:anyURI" name="link" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
              <xs:element type="xs:string" name="description" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
              <xs:element type="xs:string" name="language" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
              <xs:element type="xs:string" name="copyright" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
              <xs:element type="xs:string" name="managingEditor" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
              <xs:element type="xs:string" name="webMaster" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
              <xs:element name="image">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="title" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                    <xs:element type="xs:anyURI" name="url" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                    <xs:element type="xs:anyURI" name="link" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                    <xs:element type="xs:byte" name="width" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                    <xs:element type="xs:byte" name="height" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                    <xs:element type="xs:string" name="description" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="item" maxOccurs="unbounded" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="title">
                      <xs:simpleType>
                        <xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
                          <xs:enumeration value="Giving the world a pluggable Gnutella"/>
                          <xs:enumeration value="Syndication discussions hot up"/>
                          <xs:enumeration value="Personal web server integrates file sharing and messaging"/>
                          <xs:enumeration value="Syndication and Metadata"/>
                          <xs:enumeration value="UK bloggers get organised"/>
                          <xs:enumeration value="Yournamehere.com more important than anything"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="link">
                      <xs:simpleType>
                        <xs:restriction base="xs:anyURI" xmlns:xs="http://www.w3.org/2001/XMLSchema">
                          <xs:enumeration value="http://writetheweb.com/read.php?item=24"/>
                          <xs:enumeration value="http://writetheweb.com/read.php?item=23"/>
                          <xs:enumeration value="http://writetheweb.com/read.php?item=22"/>
                          <xs:enumeration value="http://writetheweb.com/read.php?item=21"/>
                          <xs:enumeration value="http://writetheweb.com/read.php?item=20"/>
                          <xs:enumeration value="http://writetheweb.com/read.php?item=19"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="description">
                      <xs:simpleType>
                        <xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
                          <xs:enumeration value="WorldOS is a framework on which to build programs that work like Freenet or Gnutella -allowing distributed applications using peer-to-peer routing."/>
                          <xs:enumeration value="After a period of dormancy, the Syndication mailing list has become active again, with contributions from leaders in traditional media and Web syndication."/>
                          <xs:enumeration value="The Magi Project is an innovative project to create a combined personal web server and messaging system that enables the sharing and synchronization of information across desktop, laptop and palmtop devices."/>
                          <xs:enumeration value="RSS is probably the best known metadata format around. RDF is probably one of the least understood. In this essay, published on my O'Reilly Network weblog, I argue that the next generation of RSS should be based on RDF."/>
                          <xs:enumeration value="Looks like the weblogs scene is gathering pace beyond the shores of the US. There's now a UK-specific page on weblogs.com, and a mailing list at egroups."/>
                          <xs:enumeration value="Whatever you're publishing on the web, your site name is the most valuable asset you have, according to Carl Steadman."/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute type="xs:float" name="version" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
    </xs:complexType>
  </xs:element>
</xs:schema>