<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:wow-type="http://xml.whatsonwhen.com/schemas/1.1/wow-types.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://xml.whatsonwhen.com/schemas/1.1/wow-feeds.xsd"
    targetNamespace="http://xml.whatsonwhen.com/schemas/1.1/wow-feeds.xsd"
    elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1">

    <xs:import schemaLocation="http://xml.whatsonwhen.com/schemas/1.1/wow-types.xsd" namespace="http://xml.whatsonwhen.com/schemas/1.1/wow-types.xsd"/>

    <!-- ID FEEDS -->

    <!-- Article ID Feed -->
    <xs:element name="article-id-list">
        <xs:complexType>
            <xs:annotation>
                <xs:documentation>A list of Article IDs from WhatsOnWhen, constituting an article feed.</xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="article-id" type="wow-type:article-id-type" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- Location ID Feed -->
    <xs:element name="location-id-list">
        <xs:complexType>
            <xs:annotation>
                <xs:documentation>A list of location IDs from WhatsOnWhen, constituting a location feed.</xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="location-id" type="wow-type:location-id-type" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- Category ID Feed -->
    <xs:element name="category-id-list">
        <xs:complexType>
            <xs:annotation>
                <xs:documentation>A list of category IDs from WhatsOnWhen, constituting a category feed.</xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="category-id" type="wow-type:category-id-type" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- // END ID FEEDS -->



    <!-- MAIN DETAIL FEEDS -->

    <!-- Article Feed -->
    <xs:element name="article" type="wow-type:article-type">
        <xs:annotation>
            <xs:documentation>
                An Article.  Depending on the context, this may be the contents of an event,
                an article, a POI attached to a location, a city guide, a destination guide, and other works
                by WhatsOnWhen.
                This article is the core building block of WOW products delivered to customers via feeds.
            </xs:documentation>
        </xs:annotation>
    </xs:element>

    <!-- Location Feed -->
    <xs:element name="location" type="wow-type:location-type">
        <xs:annotation>
            <xs:documentation>
                A location; generally, this is used by customers who are taking a location feed, and/or customers who are interested in taking POIs.
            </xs:documentation>
        </xs:annotation>
    </xs:element>

    <!-- Category Feed -->
    <xs:element name="category" type="wow-type:category-type">
        <xs:annotation>
            <xs:documentation>
                A category; generally, this is used by customers who are taking a category feed.
            </xs:documentation>
        </xs:annotation>
    </xs:element>

    <!-- // END MAIN TYPE FEEDS -->



    <!-- LIST FEEDS -->

    <!-- Article List Feed -->
    <xs:element name="article-list">
        <xs:complexType>
            <xs:annotation>
                <xs:documentation>An Article list</xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="article" type="wow-type:article-type" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- Location List Feed -->
    <xs:element name="location-list">
        <xs:complexType>
            <xs:annotation>
                <xs:documentation>A Location list</xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="location" type="wow-type:location-type" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- Category List Feed -->
    <xs:element name="category-list">
        <xs:complexType>
            <xs:annotation>
                <xs:documentation>A Category list</xs:documentation>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="category" type="wow-type:category-type" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!-- // END LIST FEEDS -->



    <!-- SEARCH FEEDS -->

    <!-- Article Search Feed -->
    <xs:element name="article-search">
        <xs:annotation>
            <xs:documentation>An Article Search Feed</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="wow-type:search-type">
                    <xs:sequence>
                        <xs:element name="article-search-result" type="wow-type:article-search-result-type" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <!-- Location Search Feed -->
    <xs:element name="location-search">
        <xs:annotation>
            <xs:documentation>A Location Search Feed</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="wow-type:search-type">
                    <xs:sequence>
                        <xs:element name="location-search-result" type="wow-type:location-search-result-type" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

    <!-- Category Search Feed -->
    <xs:element name="category-search">
        <xs:annotation>
            <xs:documentation>A Category Search Feed</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="wow-type:search-type">
                    <xs:sequence>
                        <xs:element name="category-search-result" type="wow-type:category-search-result-type" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>

</xs:schema>