<?xml version="1.0" encoding="UTF-8"?> <!-- RELAX NG Compact Schema for RSS 1.1 Sean B. Palmer, inamidst.com Christopher Schmidt, crschmidt.net License: This schema is in the public domain --> <grammar xmlns:rss="http://purl.org/net/rss1.1#" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ns="http://purl.org/net/rss1.1#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <start> <ref name="Channel"/> </start> <define name="Channel"> <a:documentation>http://purl.org/net/rss1.1#Channel</a:documentation> <element name="Channel"> <ref name="Channel.content"/> </element> </define> <define name="Channel.content"> <optional> <ref name="AttrXMLLang"/> </optional> <optional> <ref name="AttrXMLBase"/> </optional> <ref name="AttrRDFAbout"/> <interleave> <ref name="title"/> <ref name="link"/> <ref name="description"/> <optional> <ref name="image"/> </optional> <zeroOrMore> <ref name="Any"/> </zeroOrMore> <ref name="items"/> </interleave> </define> <define name="title"> <a:documentation>http://purl.org/net/rss1.1#title</a:documentation> <element name="title"> <ref name="title.content"/> </element> </define> <define name="title.content"> <optional> <ref name="AttrXMLLang"/> </optional> <text/> </define> <define name="link"> <a:documentation>http://purl.org/net/rss1.1#link</a:documentation> <element name="link"> <ref name="link.content"/> </element> </define> <define name="link.content"> <data type="anyURI"/> </define> <define name="description"> <a:documentation>http://purl.org/net/rss1.1#description</a:documentation> <element name="description"> <ref name="description.content"/> </element> </define> <define name="description.content"> <optional> <ref name="AttrXMLLang"/> </optional> <text/> </define> <define name="image"> <a:documentation>http://purl.org/net/rss1.1#image</a:documentation> <element name="image"> <ref name="image.content"/> </element> </define> <define name="image.content"> <optional> <ref name="AttrXMLLang"/> </optional> <ref name="AttrRDFResource"/> <interleave> <ref name="title"/> <optional> <ref name="link"/> </optional> <ref name="url"/> <zeroOrMore> <ref name="Any"/> </zeroOrMore> </interleave> </define> <define name="url"> <a:documentation>http://purl.org/net/rss1.1#url</a:documentation> <element name="url"> <ref name="url.content"/> </element> </define> <define name="url.content"> <data type="anyURI"/> </define> <define name="items"> <a:documentation>http://purl.org/net/rss1.1#items</a:documentation> <element name="items"> <ref name="items.content"/> </element> </define> <define name="items.content"> <optional> <ref name="AttrXMLLang"/> </optional> <ref name="AttrRDFCollection"/> <zeroOrMore> <ref name="item"/> </zeroOrMore> </define> <define name="item"> <a:documentation>http://purl.org/net/rss1.1#item</a:documentation> <element name="item"> <ref name="item.content"/> </element> </define> <define name="item.content"> <optional> <ref name="AttrXMLLang"/> </optional> <ref name="AttrRDFAbout"/> <interleave> <ref name="title"/> <ref name="link"/> <optional> <ref name="description"/> </optional> <optional> <ref name="image"/> </optional> <zeroOrMore> <ref name="Any"/> </zeroOrMore> </interleave> </define> <define name="Any"> <a:documentation>http://purl.org/net/rss1.1#Any</a:documentation> <element> <anyName> <except> <nsName/> </except> </anyName> <ref name="Any.content"/> </element> </define> <define name="Any.content"> <zeroOrMore> <attribute> <anyName> <except> <nsName/> <nsName ns=""/> </except> </anyName> </attribute> </zeroOrMore> <mixed> <zeroOrMore> <ref name="Any"/> </zeroOrMore> </mixed> </define> <define name="AttrXMLLang"> <attribute name="xml:lang"> <data type="language"/> </attribute> </define> <define name="AttrXMLBase"> <attribute name="xml:base"> <data type="anyURI"/> </attribute> </define> <define name="AttrRDFAbout"> <attribute name="rdf:about"> <data type="anyURI"/> </attribute> </define> <define name="AttrRDFResource"> <attribute name="rdf:parseType"> <value>Resource</value> </attribute> </define> <define name="AttrRDFCollection"> <attribute name="rdf:parseType"> <value>Collection</value> </attribute> </define> </grammar>