<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:x="http://www.w3.org/1999/xhtml">

  <x:h1>Object Module</x:h1>

  <x:p>Note. Also include the Caption Module when this module is used.</x:p>

  <div>
    <x:h2>The object element</x:h2>

    <define name="object">
      <element name="object">
        <ref name="object.attlist"/>
        <optional>
          <ref name="caption"/>
        </optional>
        <optional>
          <ref name="standby"/>
        </optional>
        <zeroOrMore>
          <ref name="param"/>
        </zeroOrMore>
        <ref name="Flow.model"/>
      </element>
    </define>

    <define name="object.attlist">
      <ref name="Common.attrib"/>
      <optional>
        <attribute name="archive">
          <ref name="URIs.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="content-length">
          <ref name="Number.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="declare">
          <value>declare</value>
        </attribute>
      </optional>
    </define>
  </div>

  <div>
    <x:h2>The standby element</x:h2>

    <define name="standby">
      <element name="standby">
        <ref name="standby.attlist"/>
        <ref name="Text.model"/>
      </element>
    </define>

    <define name="standby.attlist">
      <ref name="Common.attrib"/>
    </define>
  </div>

  <define name="Text.class" combine="choice">
    <ref name="object"/>
  </define>

</grammar>