-
-
Save ewestern/fb293e73b6698aa24abea195cfe6688a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> | |
<xs:annotation> | |
<xs:appinfo>Partner content feed schema</xs:appinfo> | |
<xs:documentation> | |
This Schema defines a search content for search. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:simpleType name="requiredStringType"> | |
<xs:annotation> | |
<xs:documentation> | |
This type defines a require string. Must contain at least 1 character | |
</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string"> | |
<xs:minLength value="1"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="descriptionLengthType"> | |
<xs:annotation> | |
<xs:documentation> | |
Defines acceptable length values for description. | |
The description provided must be less that or equal to the length provided and more than the next lowest number. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:unsignedShort"> | |
<xs:enumeration value="60"/> | |
<xs:enumeration value="100"/> | |
<xs:enumeration value="250"/> | |
<xs:enumeration value="500"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:simpleType name="absoluteURI"> | |
<xs:annotation> | |
<xs:documentation> | |
Defines acceptable absolute URI pattern | |
</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:anyURI"> | |
<xs:pattern value="https?://.+"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:complexType name="titlesType"> | |
<xs:annotation> | |
<xs:documentation> | |
In the future, multiple titles can be used here to support multiple languages. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="title" minOccurs="1" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:extension base="requiredStringType"> | |
<xs:attribute name="language" type="languageType" use="optional" default="en"/> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="tvImagesType"> | |
<xs:sequence> | |
<xs:element name="image" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="url" minOccurs="1" maxOccurs="1" type="absoluteURI"/> | |
</xs:sequence> | |
<xs:attribute name="language" type="languageType" use="optional" default="en"/> | |
<xs:attribute name="width" use="optional"> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:pattern value="360"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:attribute> | |
<xs:attribute name="height" use="optional"> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:pattern value="270"/> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:attribute> | |
<xs:attribute name="category" use="optional"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="descriptionType"> | |
<xs:simpleContent> | |
<xs:extension base="xs:string"> | |
<xs:attribute name="language" type="languageType" use="optional"> | |
<xs:annotation> | |
<xs:documentation> | |
If omitted, default is en | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
<xs:attribute name="length" type="descriptionLengthType" use="optional"> | |
<xs:annotation> | |
<xs:documentation> | |
If omitted, default is 60. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:extension> | |
</xs:simpleContent> | |
</xs:complexType> | |
<xs:complexType name="descriptionsType"> | |
<xs:annotation> | |
<xs:documentation> | |
You must provide a movie description that does not exceed 60 characters. | |
You may want to, though not required, provide a second longer description | |
not to exceed 500 characters. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:sequence> | |
<xs:element name="description" minOccurs="1" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:simpleContent> | |
<xs:restriction base="descriptionType"> | |
<xs:maxLength value="500"/> | |
</xs:restriction> | |
</xs:simpleContent> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:simpleType name="idType"> | |
<xs:annotation> | |
<xs:documentation> | |
Used to define constraints for id | |
</xs:documentation> | |
</xs:annotation> | |
<xs:restriction base="xs:string"> | |
<xs:maxLength value="50"/> | |
<xs:minLength value="3"/> | |
</xs:restriction> | |
</xs:simpleType> | |
<xs:element name="partnerContent"> | |
<xs:complexType> | |
<xs:all> | |
<xs:element name="seriesItems" maxOccurs="1" minOccurs="0"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="series" maxOccurs="unbounded" minOccurs="1"> | |
<xs:complexType> | |
<xs:all> | |
<xs:element name="titles" type="titlesType" minOccurs="1" maxOccurs="1"/> | |
<xs:element name="images" type="tvImagesType" minOccurs="0" maxOccurs="1"/> | |
<xs:element name="descriptions" type="descriptionsType" minOccurs="1" maxOccurs="1"/> | |
</xs:all> | |
<xs:attribute name="id" type="idType" use="required"/> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:all> | |
</xs:complexType> | |
</xs:element> | |
</xs:schema> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment