<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:cgi="http://apstandard.com/ns/1/cgi" xmlns:h="http://apstandard.com/ns/1/cgi/handlers" xmlns="http://relaxng.org/ns/structure/1.0">
  <define name="handlerType">
    <attribute name="h:handler-type">
      <choice>
        <value>executable</value>
        <value>perl</value>
        <value>php</value>
        <value>python</value>
        <value>ssi</value>
      </choice>
    </attribute>
  </define>
  <start>
    <element name="cgi:handler">
      <choice>
        <element name="cgi:disabled">
          <empty/>
        </element>
        <zeroOrMore>
          <element name="cgi:extension">
            <optional>
              <ref name="handlerType"/>
            </optional>
            <text/>
          </element>
        </zeroOrMore>
        <element name="cgi:all-files">
          <optional>
            <ref name="handlerType"/>
          </optional>
        </element>
      </choice>
    </element>
  </start>
</grammar>
