/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/README |
---|
New file |
0,0 → 1,9 |
Most of these schemas are only available in RNC (RelaxNG, Compact) format. |
libxml (and therefor PHP) only supports RelaxNG - the XML version. |
To update these, you will need a conversion utility, like trang (http://www.thaiopensource.com/relaxng/trang.html). |
clockwerx@clockwerx-desktop:~/trang$ java -jar trang.jar -I rnc -O rng http://atompub.org/2005/08/17/atom.rnc atom.rng |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/rss10.rng |
---|
New file |
0,0 → 1,113 |
<?xml version='1.0' encoding='UTF-8'?> |
<!-- http://www.xml.com/lpt/a/2002/01/23/relaxng.html --> |
<!-- http://www.oasis-open.org/committees/relax-ng/tutorial-20011203.html --> |
<!-- http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_wildcards_st8.html --> |
<grammar xmlns='http://relaxng.org/ns/structure/1.0' |
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' |
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' |
ns='http://purl.org/rss/1.0/' |
datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'> |
<start> |
<element name='RDF' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> |
<ref name='RDFContent'/> |
</element> |
</start> |
<define name='RDFContent' ns='http://purl.org/rss/1.0/'> |
<interleave> |
<element name='channel'> |
<ref name='channelContent'/> |
</element> |
<optional> |
<element name='image'><ref name='imageContent'/></element> |
</optional> |
<oneOrMore> |
<element name='item'><ref name='itemContent'/></element> |
</oneOrMore> |
</interleave> |
</define> |
<define name='channelContent' combine="interleave"> |
<interleave> |
<element name='title'><data type='string'/></element> |
<element name='link'><data type='anyURI'/></element> |
<element name='description'><data type='string'/></element> |
<element name='image'> |
<attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> |
<data type='anyURI'/> |
</attribute> |
</element> |
<element name='items'> |
<ref name='itemsContent'/> |
</element> |
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> |
<data type='anyURI'/> |
</attribute> |
</interleave> |
</define> |
<define name="itemsContent"> |
<element name="Seq" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> |
<oneOrMore> |
<element name="li" ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> |
<choice> |
<attribute name='resource'> <!-- Why doesn't RDF/RSS1.0 ns qualify this attribute? --> |
<data type='anyURI'/> |
</attribute> |
<attribute name='resource' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> |
<data type='anyURI'/> |
</attribute> |
</choice> |
</element> |
</oneOrMore> |
</element> |
</define> |
<define name='imageContent'> |
<interleave> |
<element name='title'><data type='string'/></element> |
<element name='link'><data type='anyURI'/></element> |
<element name='url'><data type='anyURI'/></element> |
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> |
<data type='anyURI'/> |
</attribute> |
</interleave> |
</define> |
<define name='itemContent'> |
<interleave> |
<element name='title'><data type='string'/></element> |
<element name='link'><data type='anyURI'/></element> |
<optional><element name='description'><data type='string'/></element></optional> |
<ref name="anyThing"/> |
<attribute name='about' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> |
<data type='anyURI'/> |
</attribute> |
</interleave> |
</define> |
<define name='anyThing'> |
<zeroOrMore> |
<choice> |
<text/> |
<element> |
<anyName> |
<except> |
<nsName/> |
</except> |
</anyName> |
<ref name='anyThing'/> |
<zeroOrMore> |
<attribute> |
<anyName/> |
</attribute> |
</zeroOrMore> |
</element> |
</choice> |
</zeroOrMore> |
</define> |
</grammar> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/rss11.rng |
---|
New file |
0,0 → 1,218 |
<?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> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/rss20.rng |
---|
New file |
0,0 → 1,298 |
<?xml version="1.0" encoding="utf-8"?> |
<!-- ====================================================================== |
* Author: Dino Morelli |
* Began: 2004-Feb-18 |
* Build #: 0001 |
* Version: 0.1 |
* E-Mail: dino.morelli@snet.net |
* URL: (none yet) |
* License: (none yet) |
* |
* ======================================================================== |
* |
* RSS v2.0 Relax NG schema |
* |
* ==================================================================== --> |
<grammar xmlns="http://relaxng.org/ns/structure/1.0"> |
<start> |
<ref name="element-rss" /> |
</start> |
<define name="element-title"> |
<element name="title"> |
<text /> |
</element> |
</define> |
<define name="element-description"> |
<element name="description"> |
<text /> |
</element> |
</define> |
<define name="element-link"> |
<element name="link"> |
<text /> |
</element> |
</define> |
<define name="element-category"> |
<element name="category"> |
<optional> |
<attribute name="domain" /> |
</optional> |
<text /> |
</element> |
</define> |
<define name="element-rss"> |
<element name="rss"> |
<attribute name="version"> |
<value>2.0</value> |
</attribute> |
<element name="channel"> |
<interleave> |
<ref name="element-title" /> |
<ref name="element-link" /> |
<ref name="element-description" /> |
<optional> |
<element name="language"><text /></element> |
</optional> |
<optional> |
<element name="copyright"><text /></element> |
</optional> |
<optional> |
<element name="lastBuildDate"><text /></element> |
</optional> |
<optional> |
<element name="docs"><text /></element> |
</optional> |
<optional> |
<element name="generator"><text /></element> |
</optional> |
<optional> |
<ref name="element-category" /> |
</optional> |
<optional> |
<element name="managingEditor"><text /></element> |
</optional> |
<optional> |
<element name="webMaster"><text /></element> |
</optional> |
<optional> |
<element name="pubDate"><text /></element> |
</optional> |
<optional> |
<element name="rating"><text /></element> |
</optional> |
<optional> |
<element name="image"> |
<interleave> |
<element name="url"><text /></element> |
<ref name="element-title" /> |
<ref name="element-link" /> |
<optional> |
<element name="width"><text /></element> |
</optional> |
<optional> |
<element name="height"><text /></element> |
</optional> |
<optional> |
<ref name="element-description" /> |
</optional> |
</interleave> |
</element> |
</optional> |
<optional> |
<element name="cloud"> |
<attribute name="domain" /> |
<attribute name="port" /> |
<attribute name="path" /> |
<attribute name="registerProcedure" /> |
<attribute name="protocol" /> |
</element> |
</optional> |
<optional> |
<element name="textInput"> |
<interleave> |
<ref name="element-title" /> |
<ref name="element-description" /> |
<element name="name"><text /></element> |
<ref name="element-link" /> |
</interleave> |
</element> |
</optional> |
<optional> |
<element name="skipHours"> |
<oneOrMore> |
<element name="hour"> |
<choice> |
<value>0</value> |
<value>1</value> |
<value>2</value> |
<value>3</value> |
<value>4</value> |
<value>5</value> |
<value>6</value> |
<value>7</value> |
<value>8</value> |
<value>9</value> |
<value>10</value> |
<value>11</value> |
<value>12</value> |
<value>13</value> |
<value>14</value> |
<value>15</value> |
<value>16</value> |
<value>17</value> |
<value>18</value> |
<value>19</value> |
<value>20</value> |
<value>21</value> |
<value>22</value> |
<value>23</value> |
</choice> |
</element> |
</oneOrMore> |
</element> |
</optional> |
<optional> |
<element name="skipDays"> |
<oneOrMore> |
<element name="day"> |
<choice> |
<value>0</value> |
<value>1</value> |
<value>2</value> |
<value>3</value> |
<value>4</value> |
<value>5</value> |
<value>6</value> |
<value>7</value> |
<value>8</value> |
<value>9</value> |
<value>10</value> |
<value>11</value> |
<value>12</value> |
<value>13</value> |
<value>14</value> |
<value>15</value> |
<value>16</value> |
<value>17</value> |
<value>18</value> |
<value>19</value> |
<value>20</value> |
<value>21</value> |
<value>22</value> |
<value>23</value> |
<value>24</value> |
<value>25</value> |
<value>26</value> |
<value>27</value> |
<value>28</value> |
<value>29</value> |
<value>30</value> |
<value>31</value> |
</choice> |
</element> |
</oneOrMore> |
</element> |
</optional> |
<optional> |
<element name="ttl"><text /></element> |
</optional> |
<zeroOrMore> |
<element name="item"> |
<interleave> |
<choice> |
<ref name="element-title" /> |
<ref name="element-description" /> |
<interleave> |
<ref name="element-title" /> |
<ref name="element-description" /> |
</interleave> |
</choice> |
<optional> |
<ref name="element-link" /> |
</optional> |
<optional> |
<element name="author"><text /></element> |
</optional> |
<optional> |
<ref name="element-category" /> |
</optional> |
<optional> |
<element name="comments"><text /></element> |
</optional> |
<optional> |
<element name="enclosure"> |
<attribute name="url" /> |
<attribute name="length" /> |
<attribute name="type" /> |
<text /> |
</element> |
</optional> |
<optional> |
<element name="guid"> |
<optional> |
<attribute name="isPermaLink"> |
<choice> |
<value>true</value> |
<value>false</value> |
</choice> |
</attribute> |
</optional> |
<text /> |
</element> |
</optional> |
<optional> |
<element name="pubDate"><text /></element> |
</optional> |
<optional> |
<element name="source"> |
<attribute name="url" /> |
<text /> |
</element> |
</optional> |
</interleave> |
</element> |
</zeroOrMore> |
</interleave> |
</element> |
</element> |
</define> |
</grammar> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/branches/v3.01-serpe/widget/modules/photo/bibliotheque/xml_feed_parser/1.0.4/schemas/atom.rng |
---|
New file |
0,0 → 1,598 |
<?xml version="1.0" encoding="UTF-8"?> |
<!-- |
-*- rnc -*- |
RELAX NG Compact Syntax Grammar for the |
Atom Format Specification Version 11 |
--> |
<grammar ns="http://www.w3.org/1999/xhtml" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:s="http://www.ascc.net/xml/schematron" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> |
<start> |
<choice> |
<ref name="atomFeed"/> |
<ref name="atomEntry"/> |
</choice> |
</start> |
<!-- Common attributes --> |
<define name="atomCommonAttributes"> |
<optional> |
<attribute name="xml:base"> |
<ref name="atomUri"/> |
</attribute> |
</optional> |
<optional> |
<attribute name="xml:lang"> |
<ref name="atomLanguageTag"/> |
</attribute> |
</optional> |
<zeroOrMore> |
<ref name="undefinedAttribute"/> |
</zeroOrMore> |
</define> |
<!-- Text Constructs --> |
<define name="atomPlainTextConstruct"> |
<ref name="atomCommonAttributes"/> |
<optional> |
<attribute name="type"> |
<choice> |
<value>text</value> |
<value>html</value> |
</choice> |
</attribute> |
</optional> |
<text/> |
</define> |
<define name="atomXHTMLTextConstruct"> |
<ref name="atomCommonAttributes"/> |
<attribute name="type"> |
<value>xhtml</value> |
</attribute> |
<ref name="xhtmlDiv"/> |
</define> |
<define name="atomTextConstruct"> |
<choice> |
<ref name="atomPlainTextConstruct"/> |
<ref name="atomXHTMLTextConstruct"/> |
</choice> |
</define> |
<!-- Person Construct --> |
<define name="atomPersonConstruct"> |
<ref name="atomCommonAttributes"/> |
<interleave> |
<element name="atom:name"> |
<text/> |
</element> |
<optional> |
<element name="atom:uri"> |
<ref name="atomUri"/> |
</element> |
</optional> |
<optional> |
<element name="atom:email"> |
<ref name="atomEmailAddress"/> |
</element> |
</optional> |
<zeroOrMore> |
<ref name="extensionElement"/> |
</zeroOrMore> |
</interleave> |
</define> |
<!-- Date Construct --> |
<define name="atomDateConstruct"> |
<ref name="atomCommonAttributes"/> |
<data type="dateTime"/> |
</define> |
<!-- atom:feed --> |
<define name="atomFeed"> |
<element name="atom:feed"> |
<s:rule context="atom:feed"> |
<s:assert test="atom:author or not(atom:entry[not(atom:author)])">An atom:feed must have an atom:author unless all of its atom:entry children have an atom:author.</s:assert> |
</s:rule> |
<ref name="atomCommonAttributes"/> |
<interleave> |
<zeroOrMore> |
<ref name="atomAuthor"/> |
</zeroOrMore> |
<zeroOrMore> |
<ref name="atomCategory"/> |
</zeroOrMore> |
<zeroOrMore> |
<ref name="atomContributor"/> |
</zeroOrMore> |
<optional> |
<ref name="atomGenerator"/> |
</optional> |
<optional> |
<ref name="atomIcon"/> |
</optional> |
<ref name="atomId"/> |
<zeroOrMore> |
<ref name="atomLink"/> |
</zeroOrMore> |
<optional> |
<ref name="atomLogo"/> |
</optional> |
<optional> |
<ref name="atomRights"/> |
</optional> |
<optional> |
<ref name="atomSubtitle"/> |
</optional> |
<ref name="atomTitle"/> |
<ref name="atomUpdated"/> |
<zeroOrMore> |
<ref name="extensionElement"/> |
</zeroOrMore> |
</interleave> |
<zeroOrMore> |
<ref name="atomEntry"/> |
</zeroOrMore> |
</element> |
</define> |
<!-- atom:entry --> |
<define name="atomEntry"> |
<element name="atom:entry"> |
<s:rule context="atom:entry"> |
<s:assert test="atom:link[@rel='alternate'] or atom:link[not(@rel)] or atom:content">An atom:entry must have at least one atom:link element with a rel attribute of 'alternate' or an atom:content.</s:assert> |
</s:rule> |
<s:rule context="atom:entry"> |
<s:assert test="atom:author or ../atom:author or atom:source/atom:author">An atom:entry must have an atom:author if its feed does not.</s:assert> |
</s:rule> |
<ref name="atomCommonAttributes"/> |
<interleave> |
<zeroOrMore> |
<ref name="atomAuthor"/> |
</zeroOrMore> |
<zeroOrMore> |
<ref name="atomCategory"/> |
</zeroOrMore> |
<optional> |
<ref name="atomContent"/> |
</optional> |
<zeroOrMore> |
<ref name="atomContributor"/> |
</zeroOrMore> |
<ref name="atomId"/> |
<zeroOrMore> |
<ref name="atomLink"/> |
</zeroOrMore> |
<optional> |
<ref name="atomPublished"/> |
</optional> |
<optional> |
<ref name="atomRights"/> |
</optional> |
<optional> |
<ref name="atomSource"/> |
</optional> |
<optional> |
<ref name="atomSummary"/> |
</optional> |
<ref name="atomTitle"/> |
<ref name="atomUpdated"/> |
<zeroOrMore> |
<ref name="extensionElement"/> |
</zeroOrMore> |
</interleave> |
</element> |
</define> |
<!-- atom:content --> |
<define name="atomInlineTextContent"> |
<element name="atom:content"> |
<ref name="atomCommonAttributes"/> |
<optional> |
<attribute name="type"> |
<choice> |
<value>text</value> |
<value>html</value> |
</choice> |
</attribute> |
</optional> |
<zeroOrMore> |
<text/> |
</zeroOrMore> |
</element> |
</define> |
<define name="atomInlineXHTMLContent"> |
<element name="atom:content"> |
<ref name="atomCommonAttributes"/> |
<attribute name="type"> |
<value>xhtml</value> |
</attribute> |
<ref name="xhtmlDiv"/> |
</element> |
</define> |
<define name="atomInlineOtherContent"> |
<element name="atom:content"> |
<ref name="atomCommonAttributes"/> |
<optional> |
<attribute name="type"> |
<ref name="atomMediaType"/> |
</attribute> |
</optional> |
<zeroOrMore> |
<choice> |
<text/> |
<ref name="anyElement"/> |
</choice> |
</zeroOrMore> |
</element> |
</define> |
<define name="atomOutOfLineContent"> |
<element name="atom:content"> |
<ref name="atomCommonAttributes"/> |
<optional> |
<attribute name="type"> |
<ref name="atomMediaType"/> |
</attribute> |
</optional> |
<attribute name="src"> |
<ref name="atomUri"/> |
</attribute> |
<empty/> |
</element> |
</define> |
<define name="atomContent"> |
<choice> |
<ref name="atomInlineTextContent"/> |
<ref name="atomInlineXHTMLContent"/> |
<ref name="atomInlineOtherContent"/> |
<ref name="atomOutOfLineContent"/> |
</choice> |
</define> |
<!-- atom:author --> |
<define name="atomAuthor"> |
<element name="atom:author"> |
<ref name="atomPersonConstruct"/> |
</element> |
</define> |
<!-- atom:category --> |
<define name="atomCategory"> |
<element name="atom:category"> |
<ref name="atomCommonAttributes"/> |
<attribute name="term"/> |
<optional> |
<attribute name="scheme"> |
<ref name="atomUri"/> |
</attribute> |
</optional> |
<optional> |
<attribute name="label"/> |
</optional> |
<ref name="undefinedContent"/> |
</element> |
</define> |
<!-- atom:contributor --> |
<define name="atomContributor"> |
<element name="atom:contributor"> |
<ref name="atomPersonConstruct"/> |
</element> |
</define> |
<!-- atom:generator --> |
<define name="atomGenerator"> |
<element name="atom:generator"> |
<ref name="atomCommonAttributes"/> |
<optional> |
<attribute name="uri"> |
<ref name="atomUri"/> |
</attribute> |
</optional> |
<optional> |
<attribute name="version"/> |
</optional> |
<text/> |
</element> |
</define> |
<!-- atom:icon --> |
<define name="atomIcon"> |
<element name="atom:icon"> |
<ref name="atomCommonAttributes"/> |
<ref name="atomUri"/> |
</element> |
</define> |
<!-- atom:id --> |
<define name="atomId"> |
<element name="atom:id"> |
<ref name="atomCommonAttributes"/> |
<ref name="atomUri"/> |
</element> |
</define> |
<!-- atom:logo --> |
<define name="atomLogo"> |
<element name="atom:logo"> |
<ref name="atomCommonAttributes"/> |
<ref name="atomUri"/> |
</element> |
</define> |
<!-- atom:link --> |
<define name="atomLink"> |
<element name="atom:link"> |
<ref name="atomCommonAttributes"/> |
<attribute name="href"> |
<ref name="atomUri"/> |
</attribute> |
<optional> |
<attribute name="rel"> |
<choice> |
<ref name="atomNCName"/> |
<ref name="atomUri"/> |
</choice> |
</attribute> |
</optional> |
<optional> |
<attribute name="type"> |
<ref name="atomMediaType"/> |
</attribute> |
</optional> |
<optional> |
<attribute name="hreflang"> |
<ref name="atomLanguageTag"/> |
</attribute> |
</optional> |
<optional> |
<attribute name="title"/> |
</optional> |
<optional> |
<attribute name="length"/> |
</optional> |
<ref name="undefinedContent"/> |
</element> |
</define> |
<!-- atom:published --> |
<define name="atomPublished"> |
<element name="atom:published"> |
<ref name="atomDateConstruct"/> |
</element> |
</define> |
<!-- atom:rights --> |
<define name="atomRights"> |
<element name="atom:rights"> |
<ref name="atomTextConstruct"/> |
</element> |
</define> |
<!-- atom:source --> |
<define name="atomSource"> |
<element name="atom:source"> |
<ref name="atomCommonAttributes"/> |
<interleave> |
<zeroOrMore> |
<ref name="atomAuthor"/> |
</zeroOrMore> |
<zeroOrMore> |
<ref name="atomCategory"/> |
</zeroOrMore> |
<zeroOrMore> |
<ref name="atomContributor"/> |
</zeroOrMore> |
<optional> |
<ref name="atomGenerator"/> |
</optional> |
<optional> |
<ref name="atomIcon"/> |
</optional> |
<optional> |
<ref name="atomId"/> |
</optional> |
<zeroOrMore> |
<ref name="atomLink"/> |
</zeroOrMore> |
<optional> |
<ref name="atomLogo"/> |
</optional> |
<optional> |
<ref name="atomRights"/> |
</optional> |
<optional> |
<ref name="atomSubtitle"/> |
</optional> |
<optional> |
<ref name="atomTitle"/> |
</optional> |
<optional> |
<ref name="atomUpdated"/> |
</optional> |
<zeroOrMore> |
<ref name="extensionElement"/> |
</zeroOrMore> |
</interleave> |
</element> |
</define> |
<!-- atom:subtitle --> |
<define name="atomSubtitle"> |
<element name="atom:subtitle"> |
<ref name="atomTextConstruct"/> |
</element> |
</define> |
<!-- atom:summary --> |
<define name="atomSummary"> |
<element name="atom:summary"> |
<ref name="atomTextConstruct"/> |
</element> |
</define> |
<!-- atom:title --> |
<define name="atomTitle"> |
<element name="atom:title"> |
<ref name="atomTextConstruct"/> |
</element> |
</define> |
<!-- atom:updated --> |
<define name="atomUpdated"> |
<element name="atom:updated"> |
<ref name="atomDateConstruct"/> |
</element> |
</define> |
<!-- Low-level simple types --> |
<define name="atomNCName"> |
<data type="string"> |
<param name="minLength">1</param> |
<param name="pattern">[^:]*</param> |
</data> |
</define> |
<!-- Whatever a media type is, it contains at least one slash --> |
<define name="atomMediaType"> |
<data type="string"> |
<param name="pattern">.+/.+</param> |
</data> |
</define> |
<!-- As defined in RFC 3066 --> |
<define name="atomLanguageTag"> |
<data type="string"> |
<param name="pattern">[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*</param> |
</data> |
</define> |
<!-- |
Unconstrained; it's not entirely clear how IRI fit into |
xsd:anyURI so let's not try to constrain it here |
--> |
<define name="atomUri"> |
<text/> |
</define> |
<!-- Whatever an email address is, it contains at least one @ --> |
<define name="atomEmailAddress"> |
<data type="string"> |
<param name="pattern">.+@.+</param> |
</data> |
</define> |
<!-- Simple Extension --> |
<define name="simpleExtensionElement"> |
<element> |
<anyName> |
<except> |
<nsName ns="http://www.w3.org/2005/Atom"/> |
</except> |
</anyName> |
<text/> |
</element> |
</define> |
<!-- Structured Extension --> |
<define name="structuredExtensionElement"> |
<element> |
<anyName> |
<except> |
<nsName ns="http://www.w3.org/2005/Atom"/> |
</except> |
</anyName> |
<choice> |
<group> |
<oneOrMore> |
<attribute> |
<anyName/> |
</attribute> |
</oneOrMore> |
<zeroOrMore> |
<choice> |
<text/> |
<ref name="anyElement"/> |
</choice> |
</zeroOrMore> |
</group> |
<group> |
<zeroOrMore> |
<attribute> |
<anyName/> |
</attribute> |
</zeroOrMore> |
<group> |
<optional> |
<text/> |
</optional> |
<oneOrMore> |
<ref name="anyElement"/> |
</oneOrMore> |
<zeroOrMore> |
<choice> |
<text/> |
<ref name="anyElement"/> |
</choice> |
</zeroOrMore> |
</group> |
</group> |
</choice> |
</element> |
</define> |
<!-- Other Extensibility --> |
<define name="extensionElement"> |
<choice> |
<ref name="simpleExtensionElement"/> |
<ref name="structuredExtensionElement"/> |
</choice> |
</define> |
<define name="undefinedAttribute"> |
<attribute> |
<anyName> |
<except> |
<name>xml:base</name> |
<name>xml:lang</name> |
<nsName ns=""/> |
</except> |
</anyName> |
</attribute> |
</define> |
<define name="undefinedContent"> |
<zeroOrMore> |
<choice> |
<text/> |
<ref name="anyForeignElement"/> |
</choice> |
</zeroOrMore> |
</define> |
<define name="anyElement"> |
<element> |
<anyName/> |
<zeroOrMore> |
<choice> |
<attribute> |
<anyName/> |
</attribute> |
<text/> |
<ref name="anyElement"/> |
</choice> |
</zeroOrMore> |
</element> |
</define> |
<define name="anyForeignElement"> |
<element> |
<anyName> |
<except> |
<nsName ns="http://www.w3.org/2005/Atom"/> |
</except> |
</anyName> |
<zeroOrMore> |
<choice> |
<attribute> |
<anyName/> |
</attribute> |
<text/> |
<ref name="anyElement"/> |
</choice> |
</zeroOrMore> |
</element> |
</define> |
<!-- XHTML --> |
<define name="anyXHTML"> |
<element> |
<nsName/> |
<zeroOrMore> |
<choice> |
<attribute> |
<anyName/> |
</attribute> |
<text/> |
<ref name="anyXHTML"/> |
</choice> |
</zeroOrMore> |
</element> |
</define> |
<define name="xhtmlDiv"> |
<element name="xhtml:div"> |
<zeroOrMore> |
<choice> |
<attribute> |
<anyName/> |
</attribute> |
<text/> |
<ref name="anyXHTML"/> |
</choice> |
</zeroOrMore> |
</element> |
</define> |
</grammar> |
<!-- EOF --> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |