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

  

  <define name="value_name_xref">
    <element name="registry">
      <ref name="registryMeta"/>
      <zeroOrMore>
        <element name="record">
          <optional>
            <attribute name="date"><ref name="genericDate"/></attribute>
          </optional>
          <element name="value"><ref name="genericRange"/></element>
          <element name="name"><text/></element>
          <ref name="references"/>
        </element>
      </zeroOrMore>
      <ref name="footnotes"/>
    </element>
  </define>

  <start>
    <element name="registry">
      <ref name="registryMeta"/>

      <!-- IPSEC Situation Definition -->
      <ref name="value_name_xref"/>

      <!-- IPSEC Security Protocol Identifiers  -->
      
      <ref name="value_name_xref"/>

      <!-- IPSEC ISAKMP Transform Identifiers -->
      
      <ref name="value_name_xref"/>

      <!-- IPSEC AH Transform Identifiers -->
      
      <ref name="value_name_xref"/>

      <!-- IPSEC ESP Transform Identifiers -->
      
      <ref name="value_name_xref"/>

      <!-- IPSEC IPCOMP Transform Identifiers -->
      
      <ref name="value_name_xref"/>

      <!-- IPSEC Security Association Attributes -->
      
      <element name="registry">
        <ref name="registryMeta"/>
        <zeroOrMore>
          <element name="record">
            <optional>
              <attribute name="date"><ref name="genericDate"/></attribute>
            </optional>
            <element name="value"><ref name="genericRange"/></element>
            <optional>
              <element name="type"><text/></element>
            </optional>
            <element name="name"><text/></element>
            <ref name="references"/>
          </element>
        </zeroOrMore>

        <!-- SA Life Type Values (Value 1) -->
        
        <ref name="value_name_xref"/>

        <!-- Group Description (Value 3)  -->
        <ref name="value_name_xref"/>

        <!-- Encapsulation Mode (Value 4) -->
        
        <ref name="value_name_xref"/>

        <!-- Authentication Algorithm (Value 5) -->
        
        <ref name="value_name_xref"/>

        <!-- Compression Private Algorithm (Value 9) -->
        <ref name="value_name_xref"/>

        <!-- ECN Tunnel (Value 10) -->
        
        <ref name="value_name_xref"/>

        <!-- Extended (64-bit) Sequence Number (Value 11) -->
        <ref name="value_name_xref"/>

        <!-- Signature Encoding Algorithm Values (Value 13) -->
        
        <ref name="value_name_xref"/>

        <!-- Address Preservation (Value 14) -->
        <ref name="value_name_xref"/>

        <!-- SA Direction (Value 15) -->
        <ref name="value_name_xref"/>
      </element>

      <!-- IPSEC Labeled Domain Identifiers -->
      <ref name="value_name_xref"/>

      <!-- IPSEC Identification Type -->
      
      <ref name="value_name_xref"/>

      <!-- IPSEC Notify Message Types -->
      <element name="registry">
        <ref name="registryMeta"/>

        <!-- Notify Messages - Error Types (8192-16383) -->
        
        <ref name="value_name_xref"/>

        <!-- Notify Messages - Status Types (24576-32767) -->
        
        <ref name="value_name_xref"/>
      </element>
      <ref name="people"/>
    </element>
  </start>

</grammar>
