forked from GNUsocial/gnu-social
114 lines
4.4 KiB
XML
Executable File
114 lines
4.4 KiB
XML
Executable File
<?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>
|