219 lines
5.0 KiB
Plaintext
219 lines
5.0 KiB
Plaintext
|
<?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>
|