<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace="http://www.w3.org"> 
  <xs:element name="acm-catalog">
    <xs:complexType>
      <xs:attribute name="issue-date" type="xs:string"/>
      <xs:attribute name="issue-number" type="xs:string"/>
      <xs:element name="journal" maxOccurs="unbounded">
        <xs:complexType>
          <xs:element name="name" type="xs:string" maxOccurs="1"/>
          <xs:element name="date" type="xs:date" maxOccurs="1"/>
          <xs:element name="volume" type="xs:string" maxOccurs="1"/>
          <xs:element name="number" type="xs:string" maxOccurs="1"/>
          <xs:element name="table-of-contents" type="acmtocType" maxOccurs="1"/>
          <xs:element name="paper" type="acmpaperType" maxOccurs="unbounded"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="proceedings" maxOccurs="unbounded">
        <xs:complexType>
          <xs:element name="conference" minOccurs="1" maxOccurs="1">
            <xs:complexType>
              <xs:element name="name" type="xs:string" maxOccurs="1"/>
              <xs:element name="year" type="xs:string" maxOccurs="1"/>
              <xs:element name="location" type="xs:string" maxOccurs="1"/>
            </xs:complexType>
          </xs:element>
          <xs:element name="table-of-contents" type="acmtocType" maxOccurs="1"/>
          <xs:element name="paper" type="acmpaperType" maxOccurs="unbounded"/>
        </xs:complexType>
      </xs:element>
    </xs:complexType>
  </xs:element>

    <xs:complexType name="acmtocType">
        <xs:element name="item" type="acmtocitemType" maxOccurs="unbounded"/>
    </xs:complexType>

    <xs:complexType name="acmtocitemType">
        <xs:element name="toc-entry" type="xs:string" maxOccurs="1"/>
        <xs:element name="page-number" type="xs:string" maxOccurs="1"/>
    </xs:complexType>

    <xs:complexType name="acmpaperType">
        <xs:element name="title" type="xs:string"/>
        <xs:element name="pages" type="xs:string"/>
        <xs:element name="author" type="xs:string"/>
        <xs:element name="abstract" type="xs:string"/>
        <xs:element name="body" type="xs:string"/>
        <xs:element name="references">
          <xs:complexType>
            <xs:element name="reference" type="acmreferenceType" maxOccurs="unbounded"/>
          </xs:complexType>
        </xs:element>
    </xs:complexType>

    <xs:complexType name="acmreferenceType">
        <xs:element name="citekey" type="xs:string"/>
        <xs:element name="author" type="xs:string"/>
        <xs:element name="title" type="xs:string"/>
        <xs:element name="booktitle" type="xs:string"/>
        <xs:element name="pages" type="xs:string"/>
        <xs:element name="year" type="xs:string"/>
    </xs:complexType>
</xs:schema>

