<?xml version="1.0" encoding="UTF-8"?>
<!--
  This file contains common stuff for the *ref.dtd files.
  Note that `name' is defined in each *ref.dtd.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:include schemaLocation="common.xsd"/>
  <xs:include schemaLocation="common.header.xsd"/>
  <xs:element name="description">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="block"/>
        <xs:element ref="quote"/>
        <xs:element ref="br"/>
        <xs:element ref="marker"/>
        <xs:element ref="warning"/>
        <xs:element ref="note"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="funcs">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="func"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="func">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="name"/>
        <xs:element ref="fsummary"/>
        <xs:element minOccurs="0" ref="type"/>
        <xs:element minOccurs="0" ref="desc"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <!-- ELEMENT name is defined in each ref dtd -->
  <xs:element name="fsummary">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="c"/>
        <xs:element ref="em"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="type">
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element ref="v"/>
        <xs:element minOccurs="0" ref="d"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="v" type="xs:string"/>
  <xs:element name="d">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="c"/>
        <xs:element ref="em"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="desc">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="block"/>
        <xs:element ref="quote"/>
        <xs:element ref="br"/>
        <xs:element ref="marker"/>
        <xs:element ref="warning"/>
        <xs:element ref="note"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="authors">
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element ref="aname"/>
        <xs:element ref="email"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="aname" type="xs:string"/>
  <xs:element name="email" type="xs:string"/>
  <xs:element name="section">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="marker"/>
        <xs:element ref="title"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="block"/>
          <xs:element ref="quote"/>
          <xs:element ref="br"/>
          <xs:element ref="marker"/>
          <xs:element ref="warning"/>
          <xs:element ref="note"/>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>