<?xml version='1.0'?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
  datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
  ns="http://www.iana.org/assignments">

  <include href="../_support/iana-registry.rng"/>

  <start>
    <element name="registry">
      <ref name="registryMeta"/>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
           <element name="name"><text/></element>
          <ref name="references"/>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
           <element name="collection"><text/></element>
           <element name="name"><text/></element>
           <element name="syntax"><text/></element>
          <ref name="references"/>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
            <element name="type"><text/></element>
            <element name="registration_rule"><text/></element>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>        
           <interleave>
           <optional><element name="value"><text/></element></optional>
           <optional><element name="type"><text/></element></optional>
           <element name="attribute"><text/></element>
           <element name="syntax"><text/></element>
           <ref name="references"/>
           <optional><element name="section"><text/></element></optional>
           </interleave>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
            <element name="type"><text/></element>
            <element name="registration_rule"><text/></element>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
             <optional><element name="value"><text/></element></optional>
             <optional><element name="name"><text/></element></optional>
             <element name="attribute"><text/></element>
             <element name="syntax"><text/></element>
             <optional><element name="type"><text/></element></optional>
             <ref name="references"/>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
           <element name="value"><text/></element>
           <element name="name"><text/></element>
          <ref name="references"/>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
           <element name="value"><text/></element>
           <element name="name"><text/></element>
          <ref name="references"/>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
           <element name="value"><text/></element>
           <element name="name"><text/></element>
          <ref name="references"/>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
           <element name="name"><text/></element>
          <ref name="references"/>
          </element>
        </zeroOrMore>
      </element>
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional><attribute name="date"><ref name="genericDate"/></attribute></optional>
           <element name="value"><text/></element>
           <element name="name"><text/></element>
          <ref name="references"/>
          </element>
        </zeroOrMore>
      </element>
      <ref name="footnotes"/>
      <ref name="people"/>
    </element>
  </start>

</grammar>

