<?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" type="rssType">
    <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:element>
  <xs:complexType name="itemType">
    <xs:sequence>
      <xs:element name="title" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
            <xs:enumeration value="Star City"/>
            <xs:enumeration value="The Engine That Does More"/>
            <xs:enumeration value="Astronauts' Dirty Laundry"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="link" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:anyURI" xmlns:xs="http://www.w3.org/2001/XMLSchema">
            <xs:enumeration value="http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp"/>
            <xs:enumeration value="http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp"/>
            <xs:enumeration value="http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp"/>
          </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="How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's &lt;a href=&quot;http://howe.iki.rssi.ru/GCTC/gctc_e.htm&quot;>Star City&lt;/a>."/>
            <xs:enumeration value="Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a &lt;a href=&quot;http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm&quot;>partial eclipse of the Sun&lt;/a> on Saturday, May 31st."/>
            <xs:enumeration value="Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly.  The proposed VASIMR engine would do that."/>
            <xs:enumeration value="Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them.  Instead, astronauts have other options."/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="pubDate">
        <xs:simpleType>
          <xs:restriction base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
            <xs:enumeration value="Tue, 03 Jun 2003 09:39:21 GMT"/>
            <xs:enumeration value="Fri, 30 May 2003 11:06:42 GMT"/>
            <xs:enumeration value="Tue, 27 May 2003 08:37:32 GMT"/>
            <xs:enumeration value="Tue, 20 May 2003 08:56:02 GMT"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="guid">
        <xs:simpleType>
          <xs:restriction base="xs:anyURI" xmlns:xs="http://www.w3.org/2001/XMLSchema">
            <xs:enumeration value="http://liftoff.msfc.nasa.gov/2003/06/03.html#item573"/>
            <xs:enumeration value="http://liftoff.msfc.nasa.gov/2003/05/30.html#item572"/>
            <xs:enumeration value="http://liftoff.msfc.nasa.gov/2003/05/27.html#item571"/>
            <xs:enumeration value="http://liftoff.msfc.nasa.gov/2003/05/20.html#item570"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="channelType">
    <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="pubDate" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
      <xs:element type="xs:string" name="lastBuildDate" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
      <xs:element type="xs:anyURI" name="docs" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
      <xs:element type="xs:string" name="generator" 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 type="itemType" name="item" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="rssType">
    <xs:sequence>
      <xs:element type="channelType" name="channel"/>
    </xs:sequence>
    <xs:attribute type="xs:float" name="version" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
  </xs:complexType>
</xs:schema>