diff options
Diffstat (limited to 'assets/schemas/rss-v2.0.xsd')
-rw-r--r-- | assets/schemas/rss-v2.0.xsd | 383 |
1 files changed, 383 insertions, 0 deletions
diff --git a/assets/schemas/rss-v2.0.xsd b/assets/schemas/rss-v2.0.xsd new file mode 100644 index 0000000..37068ae --- /dev/null +++ b/assets/schemas/rss-v2.0.xsd @@ -0,0 +1,383 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <xsd:element name="rss" type="rss"/> + <xsd:complexType name="rss"> + <xsd:sequence> + <xsd:element name="channel" type="channel" maxOccurs="1" minOccurs="1"/> + </xsd:sequence> + <xsd:attribute name="version" type="version"/> + </xsd:complexType> + <xsd:simpleType name="version"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="2.0"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:complexType name="channel"> + <xsd:sequence> + <xsd:element name="title" type="xsd:string" maxOccurs="1" minOccurs="1"> + <xsd:annotation> + <xsd:documentation> + The name of the channel. It's how people refer + to your service. If you have an HTML website + that contains the same information as your RSS + file, the title of your channel should be the + same as the title of your website. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="link" type="xsd:string" maxOccurs="1" minOccurs="1"> + <xsd:annotation> + <xsd:documentation> + The URL to the HTML website corresponding to the + channel. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="description" type="xsd:string" maxOccurs="1" minOccurs="1"> + <xsd:annotation> + <xsd:documentation> + Phrase or sentence describing the channel. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="language" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + The language the channel is written in. This + allows aggregators to group all Italian language + sites, for example, on a single page. A list of + allowable values for this element, as provided + by Netscape, is here + [http://www.rssboard.org/rss-language-codes]. + You may also use values defined by the W3C + [http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes]. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="copyright" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Copyright notice for content in the channel. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="managingEditor" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Email address for person responsible for + editorial content. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="webMaster" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Email address for person responsible for + technical issues relating to channel. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="pubDate" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + The publication date for the content in the + channel. For example, the New York Times + publishes on a daily basis, the publication date + flips once every 24 hours. That's when the + pubDate of the channel changes. All date-times + in RSS conform to the Date and Time + Specification of RFC 822, with the exception + that the year may be expressed with two + characters or four characters (four preferred). + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="category" type="category" maxOccurs="unbounded" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Specify one or more categories that the channel + belongs to. Follows the same rules as the + <item>-level category element. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="generator" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + A string indicating the program used to generate + the channel. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="lastBuildDate" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + The last time the content of the channel + changed. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="docs" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + A URL that points to the documentation for the + format used in the RSS file. It's probably a + pointer to this page. It's for people who might + stumble across an RSS file on a Web server 25 + years from now and wonder what it is. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="cloud" type="cloud" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Allows processes to register with a cloud to be + notified of updates to the channel, implementing + a lightweight publish-subscribe protocol for RSS + feeds. More info here. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="ttl" type="xsd:int" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + ttl stands for time to live. It's a number of + minutes that indicates how long a channel can be + cached before refreshing from the source. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="image" type="image" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Specifies a GIF, JPEG or PNG image that can be + displayed with the channel. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="rating" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + The PICS [http://www.w3.org/PICS/] rating for + the channel. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="textInput" type="textInput" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Specifies a text input box that can be displayed + with the channel. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="skipHours" type="skipHours" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + A hint for aggregators telling them which hours + they can skip. This element contains up to 24 + <hour> sub-elements whose value is a + number between 0 and 23, representing a time in + GMT, when aggregators, if they support the + feature, may not read the channel on hours + listed in the <skipHours> element. The + hour beginning at midnight is hour zero. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="skipDays" type="skipDays" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + A hint for aggregators telling them which days + they can skip. This element contains up to seven + <day> + sub-elements whose value is Monday, Tuesday, + Wednesday, Thursday, Friday, Saturday or + Sunday. Aggregators may not read the channel + during days listed in the + <skipDays>element. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="item" type="item" maxOccurs="unbounded" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="cloud"> + <xsd:attribute name="domain" type="xsd:string"/> + <xsd:attribute name="port"> + <xsd:simpleType> + <xsd:restriction base="xsd:int"> + <xsd:maxInclusive value="65536"/> + <xsd:minInclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name="path" type="xsd:string"/> + <xsd:attribute name="registerProcedure" type="xsd:string"/> + <xsd:attribute name="protocol" type="xsd:string"/> + </xsd:complexType> + <xsd:complexType name="image"> + <xsd:sequence> + <xsd:element name="title" type="xsd:string" maxOccurs="1" minOccurs="1"/> + <xsd:element name="url" type="xsd:string" maxOccurs="1" minOccurs="1"/> + <xsd:element name="link" type="xsd:string" maxOccurs="1" minOccurs="0"/> + <xsd:element name="width" default="88" maxOccurs="1" minOccurs="0"> + <xsd:simpleType> + <xsd:restriction base="xsd:int"> + <xsd:minExclusive value="0"/> + <xsd:maxInclusive value="144"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element name="height" default="31" maxOccurs="1" minOccurs="0"> + <xsd:simpleType> + <xsd:restriction base="xsd:int"> + <xsd:minExclusive value="0"/> + <xsd:maxInclusive value="400"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element name="description" type="xsd:string" maxOccurs="1" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="textInput"> + <xsd:sequence> + <xsd:element name="title" type="xsd:string" maxOccurs="1" minOccurs="1"/> + <xsd:element name="description" type="xsd:string" maxOccurs="1" minOccurs="1"/> + <xsd:element name="name" type="xsd:string" maxOccurs="1" minOccurs="1"/> + <xsd:element name="link" type="xsd:string" maxOccurs="1" minOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="skipHours"> + <xsd:sequence> + <xsd:element name="hour" minOccurs="1" maxOccurs="24"> + <xsd:simpleType> + <xsd:restriction base="xsd:int"> + <xsd:maxInclusive value="23"/> + <xsd:minInclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="skipDays"> + <xsd:sequence> + <xsd:element name="day" maxOccurs="7"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="Monday"/> + <xsd:enumeration value="Tuesday"/> + <xsd:enumeration value="Wednesday"/> + <xsd:enumeration value="Thursday"/> + <xsd:enumeration value="Friday"/> + <xsd:enumeration value="Saturday"/> + <xsd:enumeration value="Sunday"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="item"> + <xsd:sequence> + <xsd:element name="title" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + The title of the item. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="link" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation>The URL of the item.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="description" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation>The item synopsis.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="author" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Email address of the author of the item. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="category" type="category" maxOccurs="unbounded" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Includes the item in one or more categories. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="comments" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + URL of a page for comments relating to the item. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="enclosure" type="enclosure" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Describes a media object that is attached to the + item. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="guid" type="guid" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + A string that uniquely identifies the item. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="pubDate" type="xsd:string" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + Indicates when the item was published. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="source" type="source" maxOccurs="1" minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + The RSS channel that the item came from. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="category"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="domain" type="xsd:string"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="enclosure"> + <xsd:attribute name="url" type="xsd:string" use="required"/> + <xsd:attribute name="length" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:int"> + <xsd:minExclusive value="0"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name="type" type="xsd:string" use="required"/> + </xsd:complexType> + <xsd:complexType name="guid"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="isPermaLink" type="xsd:boolean"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="source"> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="url" type="xsd:string" use="required"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> +</xsd:schema> |