Subversion Repositories Applications.papyrus

Rev

Blame | Last modification | View Log | RSS feed

<?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>