Specification: feed

feed

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xml="http://www.w3.org/XML/1998/namespace"
    targetNamespace="http://www.demandware.com/xml/impex/feed/2009-01-01"
    xmlns="http://www.demandware.com/xml/impex/feed/2009-01-01"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">

    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" />

    <xsd:element name="feeds">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="feed" type="Feed" minOccurs="0" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="feed" type="Feed" />

    <xsd:complexType name="Feed">
        <xsd:sequence>
            <xsd:element name="description" type="Generic.String.4000" minOccurs="0" maxOccurs="1" />
            <xsd:element name="fresh-days" type="FreshDays" minOccurs="0" maxOccurs="1" />
            <xsd:element name="columns" type="FeedColumns" minOccurs="0" maxOccurs="1" />
        </xsd:sequence>
        <xsd:attribute name="feed-id" type="Generic.NonEmptyString.256" use="required" />
        <xsd:attribute name="type" type="FeedType" />
    </xsd:complexType>

    <xsd:complexType name="FeedColumns">
        <xsd:sequence>
            <xsd:element name="column" type="FeedColumn" minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="FeedColumn">
        <xsd:attribute name="attribute-id" type="Generic.NonEmptyString.256" use="required" />
        <xsd:attribute name="system" type="xsd:boolean" default="false" />
    </xsd:complexType>

    <!-- Simple Types -->

    <xsd:simpleType name="Generic.String">
        <xsd:restriction base="xsd:string" />
    </xsd:simpleType>

    <xsd:simpleType name="Generic.String.4000">
        <xsd:restriction base="Generic.String">
            <xsd:minLength value="0" />
            <xsd:maxLength value="4000" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="FreshDays">
        <xsd:restriction base="xsd:int">
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="FeedType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="product" />
            <xsd:enumeration value="customer" />
        </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="Generic.NonEmptyString.256">
        <xsd:restriction base="Generic.String">
            <xsd:minLength value="1" />
            <xsd:maxLength value="256" />
            <xsd:pattern value="\S|(\S(.*)\S)" />
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>