<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="notice">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="accès"/>
        <xs:element ref="lisibilité"/>
        <xs:element ref="auteurs"/>
        <xs:element ref="cote"/>
        <xs:element ref="titre"/>
        <xs:element minOccurs="0" ref="anpub"/>
        <xs:element ref="résumé"/>
      </xs:sequence>
      <xs:attributeGroup ref="attlist.notice"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="attlist.notice">
    <xs:attribute name="type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="procite"/>
          <xs:enumeration value="bibtex"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:element name="accès">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="restreint"/>
        <xs:element ref="général"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="restreint">
    <xs:complexType/>
  </xs:element>
  <xs:element name="général">
    <xs:complexType/>
  </xs:element>
  <xs:element name="lisibilité">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="restreint"/>
        <xs:element ref="général"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="auteurs">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="auteur"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="auteur">
    <xs:complexType mixed="true">
      <xs:attributeGroup ref="attlist.auteur"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="attlist.auteur">
    <xs:attribute name="type">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="pers-mora"/>
          <xs:enumeration value="pers-phys"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:element name="cote">
    <xs:complexType>
      <xs:attributeGroup ref="attlist.cote"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="attlist.cote">
    <xs:attribute name="valeur" use="required"/>
  </xs:attributeGroup>
  <xs:element name="titre" type="xs:string"/>
  <xs:element name="anpub" type="xs:string"/>
  <xs:element name="résumé">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="par"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="par">
    <xs:complexType mixed="true">
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="em"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="em">
    <xs:complexType mixed="true">
      <xs:attributeGroup ref="attlist.em"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="attlist.em">
    <xs:attribute name="degré">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="1"/>
          <xs:enumeration value="2"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
</xs:schema>
