<?xml version="1.0" encoding="UTF-8"?>
<!-- This does import and validate using the rss.rng .
However, it does not become the definitive definition of the dc
namespace, as I would like. -->

<grammar xmlns='http://relaxng.org/ns/structure/1.0'
        xmlns:rss='http://purl.org/rss/1.0/'
        ns="http://purl.org/dc/elements/1.1/"
        datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">

    <include href="rss.rng">
         <start>
            <element name='RDF' ns='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
                <ref name='RDFContent'/>
            </element>
        </start>   
        
        <define name='anyThing'>
            <zeroOrMore>
                <choice>
                    <text/>
                    <element>
                        <anyName>
                            <except>
                                <nsName/>
                                <nsName ns='http://purl.org/rss/1.0/'/>
                            </except>
                        </anyName>
                        <ref name='anyThing'/>
                        <zeroOrMore>
                            <attribute>
                              <anyName/>
                            </attribute>
                        </zeroOrMore>
                    </element>
                </choice>
            </zeroOrMore>
            </define>
        
        
    </include>
    
    <define name='itemContent' combine="interleave" 
        ns="http://purl.org/dc/elements/1.1/">
            <zeroOrMore>
                <choice>
                    <element name='title'><data type='string'/></element>
                    <element name='creator'><data type='string'/></element>
                    <element name='subject'><data type='string'/></element>
                    <element name='description'><data type='string'/></element>
                    <element name='publisher'><data type='string'/></element>
                    <element name='contributor'><data type='string'/></element>
                    <element name='date'><data type='string'/></element>
                    <element name='type'><data type='string'/></element>
                    <element name='format'><data type='string'/></element>
                    <element name='identifier'><data type='string'/></element>
                    <element name='source'><data type='string'/></element>
                    <element name='language'><data type='string'/></element>
                    <element name='relation'><data type='string'/></element>
                    <element name='coverage'><data type='string'/></element>
                    <element name='rights'><data type='string'/></element>
                </choice>
            </zeroOrMore>   
    </define>    

</grammar>