Files
rodado 23b56e8c87 feat: descrição arquivística NOBRADE multinível com exportação EAD 3, EAC-CPF e AtoM
- pipeline/nobrade: normalizadores de datas (ISO 8601-2), séries, autoridades,
  espécie/suporte, direitos, lugar e assuntos; montagem dos níveis 0–5 com
  código de referência BR RJXYZ.BF.<seção>.<série>.<handle>.<imagem>
- validador dos elementos obrigatórios: 0 pendências em 26.454 unidades
- EAD 3 e 457 EAC-CPF validados contra os XSD
- mural: cartão com código, data normalizada, série e reprodução; filtro por série
2026-09-30 21:22:00 +02:00

2751 lines
111 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://ead3.archivists.org/schema/"
elementFormDefault="qualified"
targetNamespace="http://ead3.archivists.org/schema/">
<!--
Encoded Archival Description
Version: EAD3
Release: 1.1.1
Date: 2019-12-16
Hosted by the Library of Congress at http://www.loc.gov/ead/.
Developed by the Society of American Archivists'
Technical Subcommittee for Encoded Archival Description (TS-EAD)
and Schema Development Team, 2010-2015.
Adopted by SAA Council, July 2015.
Lead schema developer: Terry Catapano
EAD3 was possible because of the generous support of the
Society of American Archivists, the Gladys Krieble Delmas Foundation,
the National Endowment for the Humanities, the Nationaal Archief of the
Netherlands, the Beinecke Rare Book and Manuscript Library,
the Institute for Advanced Technology in the Humanities at the
University of Virginia, and OCLC Research.
EAD3 Deliverables
ead3.dtd ead3_undeprecated.dtd
ead3.rng ead3_undeprecated.rng
ead3.xsd ead3_undeprecated.xsd
ead3.sch
Notes:
-EAD3 is available as DTD, Relax NG Schema, and W3C Schema.
-The EAD3 DTD does not support the <objectxmlwrap> element.
-In the EAD3 DTD, attributes with anyURI, token, and string
data types are converted to CDATA.
-Deprecated EAD 2002 elements are available in the undprecated
versions of EAD3.
-A Schematron schema (ead3.sch) is available to validate external code lists
not maintained within EAD, standard attribute value patterns,
attribute or element co-ocurrence not enforcable in the schema,
and some encoding practices recommended for future migration.
-->
<!--
***************************************************
Changes in version 1.1.1:
1. The foreign element is now available as a child of the ref element.
See https://github.com/SAA-SDT/EAD3/issues/522
2. Fixed a bug in the XSD schemas that resulted in empty-only c12 elements being valid.
See https://github.com/SAA-SDT/EAD3/issues/523
***************************************************
***************************************************
Changes in version 1.1:
1. The @render attribute can now be used with the quote element.
See https://github.com/SAA-SDT/EAD3/issues/485
2. The objectxmlwrap element can now be validated properly in the XSD schemas.
See https://github.com/SAA-SDT/EAD3/issues/499
(bug fix)
3. Manually fixed a bug that was causing the descgrp element not to validate correctly in the undeprecated DTD.
See https://github.com/SAA-SDT/EAD3/issues/503
(bug fix)
4. The date element is now a valid child of the part element.
See https://github.com/SAA-SDT/EAD3/issues/505
5. rightsdeclaration, a new element, has been added to the control section.
See https://github.com/SAA-SDT/EAD3/issues/506
(new element)
6. The @localtype attribute can now be used with the conventiondeclaration element.
See https://github.com/SAA-SDT/EAD3/issues/507
7. The datatype associated with the @containerid attribute has been relaxed to xsd:string (in EAD3 version 1.0, the datatype for this attribute was restricted to xsd:NMTOKEN).
See https://github.com/SAA-SDT/EAD3/issues/512
*****************************************************
-->
<!-- include "ead_revised_defs.rng" -->
<!-- ELEMENTS -->
<xs:element name="ead">
<xs:complexType>
<xs:sequence>
<xs:element name="control" type="control"/>
<xs:element name="archdesc" type="archdesc"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="relatedencoding" type="xs:token"/>
<xs:attribute name="base" type="xs:anyURI"/>
</xs:complexType>
</xs:element>
<!-- control -->
<xs:complexType name="control">
<xs:sequence>
<xs:element name="recordid" type="recordid"/>
<xs:element name="otherrecordid"
type="otherrecordid"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="representation"
type="representation"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="filedesc" type="filedesc"/>
<xs:element name="maintenancestatus" type="maintenancestatus"/>
<xs:element name="publicationstatus" type="publicationstatus" minOccurs="0"/>
<xs:element name="maintenanceagency" type="maintenanceagency"/>
<xs:element name="languagedeclaration"
type="languagedeclaration"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="conventiondeclaration"
type="conventiondeclaration"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="rightsdeclaration"
type="rightsdeclaration"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="localtypedeclaration"
type="localtypedeclaration"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="localcontrol"
type="localcontrol"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="maintenancehistory" type="maintenancehistory"/>
<xs:element name="sources" type="sources" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="relatedencoding" type="xs:token"/>
<xs:attribute name="base" type="xs:anyURI"/>
<xs:attribute name="langencoding">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="iso639-1"/>
<xs:enumeration value="iso639-2b"/>
<xs:enumeration value="iso639-3"/>
<xs:enumeration value="otherlangencoding"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="scriptencoding">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="iso15924"/>
<xs:enumeration value="otherscriptencoding"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="dateencoding">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="iso8601"/>
<xs:enumeration value="otherdateencoding"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="countryencoding">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="iso3166-1"/>
<xs:enumeration value="othercountryencoding"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="repositoryencoding">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="iso15511"/>
<xs:enumeration value="otherrepositoryencoding"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="recordid" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="instanceurl" type="xs:anyURI"/>
</xs:complexType>
<xs:complexType name="otherrecordid" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="representation" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attributeGroup ref="am.simplelink"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="filedesc">
<xs:sequence>
<xs:element name="titlestmt" type="titlestmt"/>
<xs:element name="editionstmt" type="editionstmt" minOccurs="0"/>
<xs:element name="publicationstmt" type="publicationstmt" minOccurs="0"/>
<xs:element name="seriesstmt" type="seriesstmt" minOccurs="0"/>
<xs:element name="notestmt" type="notestmt" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="titlestmt">
<xs:sequence>
<xs:element name="titleproper" type="titleproper" maxOccurs="unbounded"/>
<xs:element name="subtitle"
type="subtitle"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="author" type="author" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="sponsor"
type="sponsor"
minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="editionstmt">
<xs:choice maxOccurs="unbounded">
<xs:element name="edition" type="edition"/>
<xs:element name="p" type="p"/>
</xs:choice>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="publicationstmt">
<xs:choice maxOccurs="unbounded">
<xs:element name="publisher" type="publisher"/>
<xs:element name="date" type="date"/>
<xs:element name="address" type="address"/>
<xs:element name="num" type="num"/>
<xs:element name="p" type="p"/>
</xs:choice>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="seriesstmt">
<xs:choice maxOccurs="unbounded">
<xs:element name="titleproper" type="titleproper"/>
<xs:element name="num" type="num"/>
<xs:element name="p" type="p"/>
</xs:choice>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="notestmt">
<xs:sequence>
<xs:element name="controlnote" type="controlnote" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="maintenancestatus" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="value" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="revised"/>
<xs:enumeration value="deleted"/>
<xs:enumeration value="new"/>
<xs:enumeration value="deletedsplit"/>
<xs:enumeration value="deletedmerged"/>
<xs:enumeration value="deletedreplaced"/>
<xs:enumeration value="cancelled"/>
<xs:enumeration value="derived"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="publicationstatus" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="value" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="inprocess"/>
<xs:enumeration value="approved"/>
<xs:enumeration value="published"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="languagedeclaration">
<xs:sequence>
<xs:element name="language" type="language"/>
<xs:element name="script" type="script"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="conventiondeclaration">
<xs:sequence>
<xs:element name="abbr" type="abbr" minOccurs="0"/>
<xs:element name="citation" type="citation"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="rightsdeclaration">
<xs:sequence>
<xs:element name="abbr" type="abbr" minOccurs="0"/>
<xs:element name="citation" type="citation"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="localtypedeclaration">
<xs:sequence>
<xs:element name="abbr" type="abbr" minOccurs="0"/>
<xs:element name="citation" type="citation"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="localcontrol">
<xs:sequence>
<xs:element name="term" type="term" minOccurs="0"/>
<xs:choice minOccurs="0">
<xs:element name="datesingle" type="datesingle"/>
<xs:element name="daterange" type="daterange"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="term" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="transliteration" type="xs:NMTOKEN"/>
<xs:attribute name="lastdatetimeverified">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:maxInclusive value="2099-12-31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYear">
<xs:maxInclusive value="2099"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYearMonth">
<xs:maxInclusive value="2099-12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:dateTime">
<xs:maxInclusive value="2099-12-31T23:59:59"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="am.access.no.normal"/>
</xs:complexType>
<xs:complexType name="maintenancehistory">
<xs:sequence>
<xs:element name="maintenanceevent"
type="maintenanceevent"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="maintenanceevent">
<xs:sequence>
<xs:element name="eventtype" type="eventtype"/>
<xs:element name="eventdatetime" type="eventdatetime"/>
<xs:element name="agenttype" type="agenttype"/>
<xs:element name="agent" type="agent"/>
<xs:element name="eventdescription"
type="eventdescription"
minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="eventtype" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="value" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="created"/>
<xs:enumeration value="revised"/>
<xs:enumeration value="deleted"/>
<xs:enumeration value="cancelled"/>
<xs:enumeration value="derived"/>
<xs:enumeration value="updated"/>
<xs:enumeration value="unknown"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="eventdatetime" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="standarddatetime">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:maxInclusive value="2099-12-31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYear">
<xs:maxInclusive value="2099"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYearMonth">
<xs:maxInclusive value="2099-12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:dateTime">
<xs:maxInclusive value="2099-12-31T23:59:59"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="agenttype" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="value" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="human"/>
<xs:enumeration value="machine"/>
<xs:enumeration value="unknown"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="agent" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="eventdescription" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="sources">
<xs:sequence>
<xs:element name="source" type="source" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="base" type="xs:anyURI"/>
</xs:complexType>
<xs:complexType name="source">
<xs:sequence>
<xs:element name="sourceentry"
type="sourceentry"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="objectxmlwrap" type="objectxmlwrap" minOccurs="0"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="lastdatetimeverified">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:maxInclusive value="2099-12-31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYear">
<xs:maxInclusive value="2099"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYearMonth">
<xs:maxInclusive value="2099-12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:dateTime">
<xs:maxInclusive value="2099-12-31T23:59:59"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="am.simplelink"/>
</xs:complexType>
<xs:complexType name="sourceentry" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="transliteration" type="xs:NMTOKEN"/>
</xs:complexType>
<xs:complexType name="titleproper">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="render">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="altrender"/>
<xs:enumeration value="bold"/>
<xs:enumeration value="bolddoublequote"/>
<xs:enumeration value="bolditalic"/>
<xs:enumeration value="boldsinglequote"/>
<xs:enumeration value="boldsmcaps"/>
<xs:enumeration value="boldunderline"/>
<xs:enumeration value="doublequote"/>
<xs:enumeration value="italic"/>
<xs:enumeration value="nonproport"/>
<xs:enumeration value="singlequote"/>
<xs:enumeration value="smcaps"/>
<xs:enumeration value="sub"/>
<xs:enumeration value="super"/>
<xs:enumeration value="underline"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="subtitle">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="author">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="sponsor">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="edition">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="publisher">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="controlnote">
<xs:group maxOccurs="unbounded" ref="m.blocks"/>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="maintenanceagency">
<xs:sequence>
<xs:element name="agencycode" type="agencycode" minOccurs="0"/>
<xs:element name="otheragencycode"
type="otheragencycode"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="agencyname" type="agencyname" maxOccurs="unbounded"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attributeGroup ref="am.countrycode"/>
</xs:complexType>
<xs:complexType name="agencycode" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="otheragencycode" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="agencyname" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="citation">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attributeGroup ref="am.simplelink"/>
<xs:attribute name="lastdatetimeverified">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:maxInclusive value="2099-12-31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYear">
<xs:maxInclusive value="2099"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYearMonth">
<xs:maxInclusive value="2099-12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:dateTime">
<xs:maxInclusive value="2099-12-31T23:59:59"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ARCHDESC -->
<xs:complexType name="archdesc">
<xs:sequence>
<xs:element name="did" type="did"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="m.desc.base"/>
<xs:element name="dsc" type="dsc"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="relatedencoding" type="xs:token"/>
<xs:attributeGroup ref="am.desc.base"/>
<xs:attributeGroup ref="a.level"/>
<xs:attribute name="base" type="xs:anyURI"/>
</xs:complexType>
<!-- did -->
<xs:complexType name="did">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:group maxOccurs="unbounded" ref="m.did"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="abstract">
<xs:complexContent>
<xs:extension base="m.mixed.basic.plus.access">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="container">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="parent" type="xs:IDREFS"/>
<xs:attribute name="containerid" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="dao">
<xs:sequence>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attributeGroup ref="am.simplelink"/>
<xs:attribute name="identifier" type="xs:token"/>
<xs:attribute name="xpointer" type="xs:token"/>
<xs:attribute name="entityref" type="xs:ENTITY"/>
<xs:attribute name="daotype" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="borndigital"/>
<xs:enumeration value="derived"/>
<xs:enumeration value="unknown"/>
<xs:enumeration value="otherdaotype"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherdaotype" type="xs:token"/>
<xs:attribute name="coverage">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="whole"/>
<xs:enumeration value="part"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="daoset">
<xs:sequence>
<xs:element name="dao" type="dao"/>
<xs:element name="dao" type="dao" maxOccurs="unbounded"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="coverage">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="whole"/>
<xs:enumeration value="part"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="base" type="xs:anyURI"/>
</xs:complexType>
<xs:complexType name="didnote">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="langmaterial">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="language" type="language"/>
<xs:element name="languageset" type="languageset"/>
</xs:choice>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="materialspec">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="physdescset">
<xs:sequence>
<xs:element name="physdescstructured" type="physdescstructured"/>
<xs:element name="physdescstructured"
type="physdescstructured"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="parallel" type="av.boolean"/>
<xs:attribute name="coverage">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="whole"/>
<xs:enumeration value="part"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="physdesc">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="physloc">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="parent" type="xs:IDREFS"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="origination">
<xs:choice maxOccurs="unbounded">
<xs:element name="corpname" type="corpname"/>
<xs:element name="famname" type="famname"/>
<xs:element name="name" type="name"/>
<xs:element name="persname" type="persname"/>
</xs:choice>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="physdescstructured">
<xs:sequence>
<xs:element name="quantity" type="quantity"/>
<xs:element name="unittype" type="unittype"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="physfacet" type="physfacet"/>
<xs:element name="dimensions" type="dimensions"/>
</xs:choice>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="physdescstructuredtype" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="carrier"/>
<xs:enumeration value="materialtype"/>
<xs:enumeration value="spaceoccupied"/>
<xs:enumeration value="otherphysdescstructuredtype"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherphysdescstructuredtype" type="xs:token"/>
<xs:attributeGroup ref="a.coverage"/>
</xs:complexType>
<xs:complexType name="quantity" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="approximate" type="av.boolean"/>
</xs:complexType>
<xs:complexType name="unittype" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attributeGroup ref="am.access.no.normal"/>
</xs:complexType>
<xs:complexType name="repository">
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="corpname" type="corpname"/>
<xs:element name="famname" type="famname"/>
<xs:element name="name" type="name"/>
<xs:element name="persname" type="persname"/>
</xs:choice>
<xs:element name="address" type="address" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="unitdate">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attributeGroup ref="a.unitdatetype"/>
<xs:attribute name="datechar" type="xs:token"/>
<xs:attribute name="certainty" type="xs:NMTOKEN"/>
<xs:attributeGroup ref="am.dates.era"/>
<xs:attributeGroup ref="am.dates.calendar"/>
<xs:attributeGroup ref="am.date.normal"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="unitdatestructured">
<xs:choice>
<xs:element name="datesingle" type="datesingle"/>
<xs:element name="daterange" type="daterange"/>
<xs:element name="dateset" type="dateset"/>
</xs:choice>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attributeGroup ref="a.unitdatetype"/>
<xs:attribute name="datechar" type="xs:token"/>
<xs:attribute name="certainty" type="xs:NMTOKEN"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attributeGroup ref="am.dates.era"/>
<xs:attributeGroup ref="am.dates.calendar"/>
</xs:complexType>
<xs:complexType name="unittitle">
<xs:complexContent>
<xs:extension base="m.mixed.basic.plus.access">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="normal" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="unitid">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attributeGroup ref="am.countrycode"/>
<xs:attribute name="repositorycode" type="xs:token"/>
<xs:attribute name="identifier"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- archdesc notes -->
<xs:complexType name="accessrestrict">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="accessrestrict" type="accessrestrict"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="accruals">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="accruals" type="accruals"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="acqinfo">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="acqinfo" type="acqinfo"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="altformavail">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="altformavail" type="altformavail"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="appraisal">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="appraisal" type="appraisal"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="arrangement">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="arrangement" type="arrangement"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="bibliography">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="bibliography" type="bibliography"/>
<xs:element name="archref" type="archref"/>
<xs:element name="bibref" type="bibref"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="bioghist">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="bioghist" type="bioghist"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="controlaccess">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:group ref="m.access"/>
<xs:element name="controlaccess" type="controlaccess"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="custodhist">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="custodhist" type="custodhist"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="fileplan">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="fileplan" type="fileplan"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="index">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="m.blocks"/>
<xs:choice>
<xs:sequence>
<xs:element name="listhead" type="listhead" minOccurs="0"/>
<xs:element name="indexentry" type="indexentry" maxOccurs="unbounded"/>
</xs:sequence>
<xs:element name="index" type="index" maxOccurs="unbounded"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="indexentry">
<xs:sequence>
<xs:choice>
<xs:element name="namegrp" type="namegrp"/>
<xs:group ref="m.access"/>
</xs:choice>
<xs:choice minOccurs="0">
<xs:element name="ptrgrp" type="ptrgrp"/>
<xs:group ref="m.refs"/>
</xs:choice>
<xs:element name="indexentry"
type="indexentry"
minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
</xs:complexType>
<xs:complexType name="namegrp">
<xs:group maxOccurs="unbounded" ref="m.access"/>
<xs:attributeGroup ref="am.common"/>
</xs:complexType>
<xs:complexType name="ptrgrp">
<xs:group maxOccurs="unbounded" ref="m.refs"/>
<xs:attributeGroup ref="am.common"/>
</xs:complexType>
<xs:complexType name="legalstatus">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="legalstatus" type="legalstatus"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="odd">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="odd" type="odd"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="originalsloc">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="originalsloc" type="originalsloc"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="otherfindaid">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="otherfindaid" type="otherfindaid"/>
<xs:element name="archref" type="archref"/>
<xs:element name="bibref" type="bibref"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="phystech">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="phystech" type="phystech"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="prefercite">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="prefercite" type="prefercite"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="processinfo">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="processinfo" type="processinfo"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="relatedmaterial">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="relatedmaterial" type="relatedmaterial"/>
<xs:element name="archref" type="archref"/>
<xs:element name="bibref" type="bibref"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="scopecontent">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="scopecontent" type="scopecontent"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="separatedmaterial">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="separatedmaterial" type="separatedmaterial"/>
<xs:element name="archref" type="archref"/>
<xs:element name="bibref" type="bibref"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="userestrict">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.blocks"/>
<xs:element name="userestrict" type="userestrict"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<!-- controlaccess elements -->
<xs:complexType name="corpname">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="famname">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="function">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="genreform">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="geogname">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
<xs:element name="geographiccoordinates"
type="geographiccoordinates"
minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="geographiccoordinates" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="coordinatesystem" use="required" type="xs:token"/>
</xs:complexType>
<xs:complexType name="name">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="occupation">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="persname">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="subject">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
</xs:complexType>
<xs:complexType name="title">
<xs:sequence>
<xs:element name="part" type="part" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attributeGroup ref="am.access"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="relator" type="xs:token"/>
<xs:attribute name="render">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="altrender"/>
<xs:enumeration value="bold"/>
<xs:enumeration value="bolddoublequote"/>
<xs:enumeration value="bolditalic"/>
<xs:enumeration value="boldsinglequote"/>
<xs:enumeration value="boldsmcaps"/>
<xs:enumeration value="boldunderline"/>
<xs:enumeration value="doublequote"/>
<xs:enumeration value="italic"/>
<xs:enumeration value="nonproport"/>
<xs:enumeration value="singlequote"/>
<xs:enumeration value="smcaps"/>
<xs:enumeration value="sub"/>
<xs:enumeration value="super"/>
<xs:enumeration value="underline"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="part">
<xs:complexContent>
<xs:extension base="m.mixed.basic.date">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attributeGroup ref="am.access.no.normal"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- BLOCKS -->
<!-- p -->
<xs:complexType name="p">
<xs:complexContent>
<xs:extension base="m.para.content">
<xs:attributeGroup ref="am.common"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- blockquote -->
<xs:complexType name="blockquote">
<xs:choice maxOccurs="unbounded">
<xs:group ref="m.inter.noquote"/>
<xs:element name="p" type="p"/>
</xs:choice>
<xs:attributeGroup ref="am.common"/>
</xs:complexType>
<!-- chronlist -->
<xs:complexType name="chronlist">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:element name="listhead" type="listhead" minOccurs="0"/>
<xs:element name="chronitem" type="chronitem" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="chronitem">
<xs:sequence>
<xs:choice>
<xs:element name="datesingle" type="datesingle"/>
<xs:element name="daterange" type="daterange"/>
<xs:element name="dateset" type="dateset"/>
</xs:choice>
<xs:choice>
<xs:sequence>
<xs:element name="geogname" type="geogname" minOccurs="0"/>
<xs:element name="event" type="event"/>
</xs:sequence>
<xs:element name="chronitemset" type="chronitemset" maxOccurs="unbounded"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="chronitemset">
<xs:sequence>
<xs:element name="geogname"
type="geogname"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="event" type="event" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
</xs:complexType>
<xs:complexType name="event">
<xs:complexContent>
<xs:extension base="m.para.content">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- list -->
<xs:complexType name="list">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:choice>
<xs:element name="item" type="item" maxOccurs="unbounded"/>
<xs:sequence>
<xs:element name="listhead" type="listhead" minOccurs="0"/>
<xs:element name="defitem" type="defitem" maxOccurs="unbounded"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="listtype">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="deflist"/>
<xs:enumeration value="unordered"/>
<xs:enumeration value="ordered"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="mark">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="disc"/>
<xs:enumeration value="circle"/>
<xs:enumeration value="square"/>
<xs:enumeration value="none"/>
<xs:enumeration value="inherit"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="numeration">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="decimal"/>
<xs:enumeration value="decimal-leading-zero"/>
<xs:enumeration value="lower-roman"/>
<xs:enumeration value="upper-roman"/>
<xs:enumeration value="lower-greek"/>
<xs:enumeration value="lower-latin"/>
<xs:enumeration value="upper-latin"/>
<xs:enumeration value="armenian"/>
<xs:enumeration value="georgian"/>
<xs:enumeration value="lower-alpha"/>
<xs:enumeration value="upper-alpha"/>
<xs:enumeration value="inherit"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="defitem">
<xs:sequence>
<xs:element name="label" type="label"/>
<xs:element name="item" type="item"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
</xs:complexType>
<xs:complexType name="label">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="item">
<xs:complexContent>
<xs:extension base="m.para.content">
<xs:attributeGroup ref="am.common"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="listhead">
<xs:sequence>
<xs:element name="head01" type="head01" minOccurs="0"/>
<xs:element name="head02" type="head02" minOccurs="0"/>
<xs:element name="head03" type="head03" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
</xs:complexType>
<xs:complexType name="head01">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="head02">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="head03">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- table -->
<xs:complexType name="table">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:element name="tgroup" type="tgroup" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="frame">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="bottom"/>
<xs:enumeration value="topbot"/>
<xs:enumeration value="all"/>
<xs:enumeration value="sides"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="colsep" type="av.boolean"/>
<xs:attribute name="rowsep" type="av.boolean"/>
<xs:attribute name="pgwide" type="av.boolean"/>
</xs:complexType>
<xs:complexType name="tgroup">
<xs:sequence>
<xs:element name="colspec"
type="colspec"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="tbody" type="tbody"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="cols" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="colsep" type="av.boolean"/>
<xs:attribute name="rowsep" type="av.boolean"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="colspec">
<xs:attribute name="colnum" type="xs:NMTOKEN"/>
<xs:attribute name="colname" type="xs:NMTOKEN"/>
<xs:attribute name="colwidth" type="xs:token"/>
<xs:attribute name="colsep" type="av.boolean"/>
<xs:attribute name="rowsep" type="av.boolean"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char" type="xs:token"/>
<xs:attribute name="charoff" type="xs:NMTOKEN"/>
</xs:complexType>
<xs:complexType name="tbody">
<xs:sequence>
<xs:element name="row" type="row" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="row">
<xs:sequence>
<xs:element name="entry" type="entry" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="rowsep" type="av.boolean"/>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="entry">
<xs:complexContent>
<xs:extension base="m.para.content">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="colname" type="xs:NMTOKEN"/>
<xs:attribute name="namest" type="xs:NMTOKEN"/>
<xs:attribute name="nameend" type="xs:NMTOKEN"/>
<xs:attribute name="morerows" type="xs:NMTOKEN"/>
<xs:attribute name="colsep" type="av.boolean"/>
<xs:attribute name="rowsep" type="av.boolean"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char" type="xs:token"/>
<xs:attribute name="charoff" type="xs:NMTOKEN"/>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="thead">
<xs:sequence>
<xs:element name="row" type="row" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<!-- language blocks -->
<xs:complexType name="language" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="langcode" type="xs:NMTOKEN"/>
</xs:complexType>
<xs:complexType name="languageset">
<xs:sequence>
<xs:element name="language" type="language" maxOccurs="unbounded"/>
<xs:element name="script" type="script" maxOccurs="unbounded"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="script" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="label" type="xs:string"/>
<xs:attribute name="scriptcode" type="xs:NMTOKEN"/>
</xs:complexType>
<!-- physdescstructured blocks -->
<xs:complexType name="dimensions" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="m.mixed.basic.elements"/>
<xs:element name="dimensions" type="dimensions"/>
</xs:choice>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="unit" type="xs:token"/>
</xs:complexType>
<xs:complexType name="physfacet">
<xs:complexContent>
<xs:extension base="m.mixed.basic.plus.access">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attributeGroup ref="am.access.no.normal"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- other blocks -->
<xs:complexType name="address">
<xs:sequence>
<xs:element name="addressline" type="addressline" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
</xs:complexType>
<xs:complexType name="addressline">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="archref">
<xs:complexContent>
<xs:extension base="m.mixed.basic.plus.access">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="bibref">
<xs:complexContent>
<xs:extension base="m.mixed.basic.plus.access">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="descriptivenote">
<xs:sequence>
<xs:element name="p" type="p" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="footnote">
<xs:group maxOccurs="unbounded" ref="m.blocks"/>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="show">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="new"/>
<xs:enumeration value="replace"/>
<xs:enumeration value="embed"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="actuate">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="onload"/>
<xs:enumeration value="onrequest"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="head">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="althead" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- DATES -->
<xs:complexType name="datesingle">
<xs:complexContent>
<xs:extension base="m.datesingle">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="daterange">
<xs:sequence>
<xs:element name="fromdate" type="fromdate" minOccurs="0"/>
<xs:element name="todate" type="todate" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<xs:complexType name="fromdate">
<xs:complexContent>
<xs:extension base="m.datesingle">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="todate">
<xs:complexContent>
<xs:extension base="m.datesingle">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="dateset">
<xs:sequence>
<xs:choice>
<xs:element name="datesingle" type="datesingle"/>
<xs:element name="daterange" type="daterange"/>
</xs:choice>
<xs:choice maxOccurs="unbounded">
<xs:element name="datesingle" type="datesingle"/>
<xs:element name="daterange" type="daterange"/>
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
</xs:complexType>
<!-- MIXED CONTENT -->
<xs:complexType name="abbr" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="expan" type="xs:string"/>
</xs:complexType>
<xs:complexType name="date">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attributeGroup ref="am.dates.era"/>
<xs:attributeGroup ref="am.dates.calendar"/>
<xs:attributeGroup ref="am.date.normal"/>
<xs:attribute name="certainty" type="xs:NMTOKEN"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="emph">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="render">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="altrender"/>
<xs:enumeration value="bold"/>
<xs:enumeration value="bolddoublequote"/>
<xs:enumeration value="bolditalic"/>
<xs:enumeration value="boldsinglequote"/>
<xs:enumeration value="boldsmcaps"/>
<xs:enumeration value="boldunderline"/>
<xs:enumeration value="doublequote"/>
<xs:enumeration value="italic"/>
<xs:enumeration value="nonproport"/>
<xs:enumeration value="singlequote"/>
<xs:enumeration value="smcaps"/>
<xs:enumeration value="sub"/>
<xs:enumeration value="super"/>
<xs:enumeration value="underline"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="expan" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="abbr" type="xs:token"/>
</xs:complexType>
<xs:complexType name="foreign" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="render">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="altrender"/>
<xs:enumeration value="bold"/>
<xs:enumeration value="bolddoublequote"/>
<xs:enumeration value="bolditalic"/>
<xs:enumeration value="boldsinglequote"/>
<xs:enumeration value="boldsmcaps"/>
<xs:enumeration value="boldunderline"/>
<xs:enumeration value="doublequote"/>
<xs:enumeration value="italic"/>
<xs:enumeration value="nonproport"/>
<xs:enumeration value="singlequote"/>
<xs:enumeration value="smcaps"/>
<xs:enumeration value="sub"/>
<xs:enumeration value="super"/>
<xs:enumeration value="underline"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="lb"/>
<xs:complexType name="num">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="quote">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="render">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="altrender"/>
<xs:enumeration value="bold"/>
<xs:enumeration value="bolddoublequote"/>
<xs:enumeration value="bolditalic"/>
<xs:enumeration value="boldsinglequote"/>
<xs:enumeration value="boldsmcaps"/>
<xs:enumeration value="boldunderline"/>
<xs:enumeration value="doublequote"/>
<xs:enumeration value="italic"/>
<xs:enumeration value="nonproport"/>
<xs:enumeration value="singlequote"/>
<xs:enumeration value="smcaps"/>
<xs:enumeration value="sub"/>
<xs:enumeration value="super"/>
<xs:enumeration value="underline"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ptr">
<xs:attributeGroup ref="am.common.empty"/>
<xs:attributeGroup ref="am.internal.ptr"/>
<xs:attribute name="entityref" type="xs:ENTITY"/>
</xs:complexType>
<xs:complexType name="ref" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="abbr" type="abbr"/>
<xs:element name="expan" type="expan"/>
<xs:element name="emph" type="emph"/>
<xs:element name="foreign" type="foreign"/>
<xs:element name="lb" type="lb"/>
<xs:element name="ptr" type="ptr"/>
<xs:element name="quote" type="quote"/>
<xs:element name="num" type="num"/>
<xs:element name="footnote" type="footnote"/>
<xs:element name="date" type="date"/>
<xs:group ref="m.access"/>
</xs:choice>
<xs:attributeGroup ref="am.common"/>
<xs:attributeGroup ref="am.internal.ptr"/>
<xs:attribute name="entityref" type="xs:ENTITY"/>
</xs:complexType>
<!-- DSC -->
<xs:complexType name="dsc">
<xs:sequence>
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="m.blocks"/>
</xs:sequence>
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:group minOccurs="0" ref="m.cOrC01"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="dsctype">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="analyticover"/>
<xs:enumeration value="combined"/>
<xs:enumeration value="in-depth"/>
<xs:enumeration value="otherdsctype"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherdsctype" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:complexType>
<xs:complexType name="c">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c" type="c" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c01">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c02" type="c02" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c02">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c03" type="c03" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c03">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c04" type="c04" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c04">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c05" type="c05" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c05">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c06" type="c06" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c06">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c07" type="c07" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c07">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c08" type="c08" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c08">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c09" type="c09" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c09">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c10" type="c10" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c10">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c11" type="c11" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c11">
<xs:complexContent>
<xs:extension base="m.c.base">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="thead" type="thead" minOccurs="0"/>
<xs:element name="c12" type="c12" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="c12">
<xs:complexContent>
<xs:extension base="m.c.base"/>
</xs:complexContent>
</xs:complexType>
<!-- RELATIONS -->
<xs:complexType name="relations">
<xs:sequence>
<xs:element name="relation" type="relation" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="base" type="xs:anyURI"/>
</xs:complexType>
<xs:complexType name="relation">
<xs:sequence>
<xs:element name="relationentry"
type="relationentry"
minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="objectxmlwrap" type="objectxmlwrap" minOccurs="0"/>
<xs:choice minOccurs="0">
<xs:element name="datesingle" type="datesingle"/>
<xs:element name="daterange" type="daterange"/>
<xs:element name="dateset" type="dateset"/>
</xs:choice>
<xs:element name="geogname" type="geogname" minOccurs="0"/>
<xs:element name="descriptivenote" type="descriptivenote" minOccurs="0"/>
</xs:sequence>
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="relationtype" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="cpfrelation"/>
<xs:enumeration value="resourcerelation"/>
<xs:enumeration value="functionrelation"/>
<xs:enumeration value="otherrelationtype"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="otherrelationtype" type="xs:token"/>
<xs:attribute name="lastdatetimeverified">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:maxInclusive value="2099-12-31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYear">
<xs:maxInclusive value="2099"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYearMonth">
<xs:maxInclusive value="2099-12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:dateTime">
<xs:maxInclusive value="2099-12-31T23:59:59"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="am.simplelink"/>
</xs:complexType>
<xs:complexType name="relationentry" mixed="true">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
<xs:attribute name="localtype" type="xs:token"/>
<xs:attribute name="transliteration" type="xs:NMTOKEN"/>
</xs:complexType>
<xs:complexType name="objectxmlwrap">
<xs:complexContent>
<xs:extension base="e.anyname">
<xs:attributeGroup ref="am.common"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="e.anyname">
<xs:sequence>
<xs:any namespace="##other" processContents="lax"/>
</xs:sequence>
</xs:complexType>
<!-- ELEMENT MODELS -->
<xs:group name="m.blocks">
<xs:choice>
<xs:group ref="m.inter"/>
<xs:element name="p" type="p"/>
</xs:choice>
</xs:group>
<xs:group name="m.inter">
<xs:choice>
<xs:group ref="m.inter.noquote"/>
<xs:element name="blockquote" type="blockquote"/>
</xs:choice>
</xs:group>
<xs:group name="m.inter.noquote">
<xs:choice>
<xs:element name="chronlist" type="chronlist"/>
<xs:element name="list" type="list"/>
<xs:element name="table" type="table"/>
</xs:choice>
</xs:group>
<xs:group name="m.cOrC01">
<xs:choice>
<xs:element name="c" type="c" maxOccurs="unbounded"/>
<xs:element name="c01" type="c01" maxOccurs="unbounded"/>
</xs:choice>
</xs:group>
<xs:complexType name="m.c.base">
<xs:sequence>
<xs:element name="head" type="head" minOccurs="0"/>
<xs:element name="did" type="did"/>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="m.desc.base"/>
</xs:sequence>
<xs:attributeGroup ref="am.desc.c"/>
</xs:complexType>
<xs:group name="m.access">
<xs:choice>
<xs:element name="persname" type="persname"/>
<xs:element name="corpname" type="corpname"/>
<xs:element name="famname" type="famname"/>
<xs:element name="geogname" type="geogname"/>
<xs:element name="name" type="name"/>
<xs:element name="occupation" type="occupation"/>
<xs:element name="subject" type="subject"/>
<xs:element name="genreform" type="genreform"/>
<xs:element name="function" type="function"/>
<xs:element name="title" type="title"/>
</xs:choice>
</xs:group>
<xs:complexType name="m.datesingle">
<xs:complexContent>
<xs:extension base="m.mixed.basic">
<xs:attribute name="standarddate" type="xs:token"/>
<xs:attribute name="notbefore" type="xs:token"/>
<xs:attribute name="notafter" type="xs:token"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:group name="m.desc.base">
<xs:choice>
<xs:element name="accessrestrict" type="accessrestrict"/>
<xs:element name="accruals" type="accruals"/>
<xs:element name="acqinfo" type="acqinfo"/>
<xs:element name="altformavail" type="altformavail"/>
<xs:element name="appraisal" type="appraisal"/>
<xs:element name="arrangement" type="arrangement"/>
<xs:element name="bibliography" type="bibliography"/>
<xs:element name="bioghist" type="bioghist"/>
<xs:element name="controlaccess" type="controlaccess"/>
<xs:element name="custodhist" type="custodhist"/>
<xs:element name="fileplan" type="fileplan"/>
<xs:element name="index" type="index"/>
<xs:element name="legalstatus" type="legalstatus"/>
<xs:element name="odd" type="odd"/>
<xs:element name="originalsloc" type="originalsloc"/>
<xs:element name="otherfindaid" type="otherfindaid"/>
<xs:element name="phystech" type="phystech"/>
<xs:element name="prefercite" type="prefercite"/>
<xs:element name="processinfo" type="processinfo"/>
<xs:element name="relatedmaterial" type="relatedmaterial"/>
<xs:element name="relations" type="relations"/>
<xs:element name="scopecontent" type="scopecontent"/>
<xs:element name="separatedmaterial" type="separatedmaterial"/>
<xs:element name="userestrict" type="userestrict"/>
</xs:choice>
</xs:group>
<xs:group name="m.did">
<xs:choice>
<xs:element name="abstract" type="abstract"/>
<xs:element name="container" type="container"/>
<xs:element name="dao" type="dao"/>
<xs:element name="daoset" type="daoset"/>
<xs:element name="didnote" type="didnote"/>
<xs:element name="langmaterial" type="langmaterial"/>
<xs:element name="materialspec" type="materialspec"/>
<xs:element name="origination" type="origination"/>
<xs:element name="physdescset" type="physdescset"/>
<xs:element name="physdesc" type="physdesc"/>
<xs:element name="physdescstructured" type="physdescstructured"/>
<xs:element name="physloc" type="physloc"/>
<xs:element name="repository" type="repository"/>
<xs:element name="unitdate" type="unitdate"/>
<xs:element name="unitdatestructured" type="unitdatestructured"/>
<xs:element name="unitid" type="unitid"/>
<xs:element name="unittitle" type="unittitle"/>
</xs:choice>
</xs:group>
<xs:group name="m.refs">
<xs:choice>
<xs:element name="ptr" type="ptr"/>
<xs:element name="ref" type="ref"/>
</xs:choice>
</xs:group>
<!-- MIXED CONTENT MODELS -->
<xs:group name="m.mixed.basic.elements">
<xs:choice>
<xs:element name="abbr" type="abbr"/>
<xs:element name="emph" type="emph"/>
<xs:element name="expan" type="expan"/>
<xs:element name="foreign" type="foreign"/>
<xs:element name="lb" type="lb"/>
<xs:element name="ptr" type="ptr"/>
<xs:element name="ref" type="ref"/>
</xs:choice>
</xs:group>
<xs:complexType name="m.mixed.basic" mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="m.mixed.basic.elements"/>
</xs:complexType>
<xs:group name="m.mixed.basic.date.elements">
<xs:choice>
<xs:element name="abbr" type="abbr"/>
<xs:element name="date" type="date"/>
<xs:element name="emph" type="emph"/>
<xs:element name="expan" type="expan"/>
<xs:element name="foreign" type="foreign"/>
<xs:element name="lb" type="lb"/>
<xs:element name="ptr" type="ptr"/>
<xs:element name="ref" type="ref"/>
</xs:choice>
</xs:group>
<xs:complexType name="m.mixed.basic.date" mixed="true">
<xs:group minOccurs="0"
maxOccurs="unbounded"
ref="m.mixed.basic.date.elements"/>
</xs:complexType>
<xs:group name="m.mixed.basic.plus.elements">
<xs:choice>
<xs:group ref="m.mixed.basic.elements"/>
<xs:element name="date" type="date"/>
<xs:element name="footnote" type="footnote"/>
<xs:element name="num" type="num"/>
<xs:element name="quote" type="quote"/>
</xs:choice>
</xs:group>
<xs:complexType name="m.mixed.basic.plus.access" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="m.mixed.basic.elements"/>
<xs:group ref="m.access"/>
<xs:element name="date" type="date"/>
<xs:element name="footnote" type="footnote"/>
<xs:element name="num" type="num"/>
<xs:element name="quote" type="quote"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="m.para.content" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:group ref="m.mixed.basic.plus.elements"/>
<xs:group ref="m.access"/>
<xs:element name="list" type="list"/>
</xs:choice>
</xs:complexType>
<!-- ATTRIBUTE MODELS -->
<xs:attributeGroup name="am.internal.ptr">
<xs:attribute name="target" type="xs:IDREF"/>
<xs:attribute name="xpointer" type="xs:token"/>
<xs:attributeGroup ref="am.simplelink"/>
</xs:attributeGroup>
<xs:attributeGroup name="am.simplelink">
<xs:attribute name="href" type="xs:token"/>
<xs:attribute name="linkrole" type="xs:anyURI"/>
<xs:attribute name="arcrole" type="xs:anyURI"/>
<xs:attribute name="linktitle" type="xs:token"/>
<xs:attribute name="show">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="new"/>
<xs:enumeration value="replace"/>
<xs:enumeration value="embed"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="actuate">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="onload"/>
<xs:enumeration value="onrequest"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="am.common.empty">
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="altrender" type="xs:token"/>
<xs:attribute name="audience">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="external"/>
<xs:enumeration value="internal"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="am.common">
<xs:attributeGroup ref="am.common.empty"/>
<xs:attribute name="lang" type="xs:NMTOKEN"/>
<xs:attribute name="script" type="xs:NMTOKEN"/>
</xs:attributeGroup>
<xs:attributeGroup name="am.desc.base">
<xs:attribute name="otherlevel" type="xs:token"/>
<xs:attribute name="encodinganalog" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="am.desc.c">
<xs:attributeGroup ref="am.common"/>
<xs:attribute name="base" type="xs:anyURI"/>
<xs:attribute name="level">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="class"/>
<xs:enumeration value="collection"/>
<xs:enumeration value="file"/>
<xs:enumeration value="fonds"/>
<xs:enumeration value="item"/>
<xs:enumeration value="otherlevel"/>
<xs:enumeration value="recordgrp"/>
<xs:enumeration value="series"/>
<xs:enumeration value="subfonds"/>
<xs:enumeration value="subgrp"/>
<xs:enumeration value="subseries"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="am.desc.base"/>
</xs:attributeGroup>
<xs:attributeGroup name="am.access">
<xs:attributeGroup ref="am.access.no.normal"/>
<xs:attribute name="normal" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="am.access.no.normal">
<xs:attribute name="source" type="xs:token"/>
<xs:attribute name="rules" type="xs:NMTOKEN"/>
<xs:attribute name="identifier" type="xs:token"/>
</xs:attributeGroup>
<!-- ATTRIBUTE DEFINITIONS -->
<!-- xlink-modelled attributes -->
<xs:attributeGroup name="a.link.actuate">
<xs:attribute name="actuate" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="onload"/>
<xs:enumeration value="onrequest"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="a.link.arcrole">
<xs:attribute name="arcrole" use="required" type="xs:anyURI"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.link.href">
<xs:attribute name="href" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.link.role">
<xs:attribute name="linkrole" use="required" type="xs:anyURI"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.link.show">
<xs:attribute name="show" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="new"/>
<xs:enumeration value="replace"/>
<xs:enumeration value="embed"/>
<xs:enumeration value="other"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="a.link.title">
<xs:attribute name="linktitle" use="required" type="xs:token"/>
</xs:attributeGroup>
<!-- other linking-related attributes -->
<xs:attributeGroup name="a.base">
<xs:attribute name="base" use="required" type="xs:anyURI"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.identifier">
<xs:attribute name="identifier" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.parent">
<xs:attribute name="parent" use="required" type="xs:IDREFS"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.relator">
<xs:attribute name="relator" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.link.xpointer">
<xs:attribute name="xpointer" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.entityref">
<xs:attribute name="entityref" use="required" type="xs:ENTITY"/>
</xs:attributeGroup>
<!-- display attributes -->
<xs:attributeGroup name="a.align">
<xs:attribute name="align" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="a.valign">
<xs:attribute name="valign" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="a.render">
<xs:attribute name="render" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="altrender"/>
<xs:enumeration value="bold"/>
<xs:enumeration value="bolddoublequote"/>
<xs:enumeration value="bolditalic"/>
<xs:enumeration value="boldsinglequote"/>
<xs:enumeration value="boldsmcaps"/>
<xs:enumeration value="boldunderline"/>
<xs:enumeration value="doublequote"/>
<xs:enumeration value="italic"/>
<xs:enumeration value="nonproport"/>
<xs:enumeration value="singlequote"/>
<xs:enumeration value="smcaps"/>
<xs:enumeration value="sub"/>
<xs:enumeration value="super"/>
<xs:enumeration value="underline"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="a.label">
<xs:attribute name="label" use="required" type="xs:string"/>
</xs:attributeGroup>
<!-- date attributes -->
<xs:attributeGroup name="am.dates.calendar">
<xs:attribute name="calendar" type="xs:NMTOKEN"/>
</xs:attributeGroup>
<xs:attributeGroup name="am.dates.era">
<xs:attribute name="era" type="xs:NMTOKEN"/>
</xs:attributeGroup>
<xs:attributeGroup name="am.date.normal">
<xs:attribute name="normal" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.lastdatetimeverified">
<xs:attribute name="lastdatetimeverified" use="required">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:maxInclusive value="2099-12-31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYear">
<xs:maxInclusive value="2099"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:gYearMonth">
<xs:maxInclusive value="2099-12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:dateTime">
<xs:maxInclusive value="2099-12-31T23:59:59"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="a.datechar">
<xs:attribute name="datechar" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.certainty">
<xs:attribute name="certainty" use="required" type="xs:NMTOKEN"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.normal">
<xs:attribute name="normal" use="required" type="xs:token"/>
</xs:attributeGroup>
<!-- typing attributes -->
<xs:attributeGroup name="a.encodinganalog">
<xs:attribute name="encodinganalog" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.level">
<xs:attribute name="level" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="class"/>
<xs:enumeration value="collection"/>
<xs:enumeration value="file"/>
<xs:enumeration value="fonds"/>
<xs:enumeration value="item"/>
<xs:enumeration value="otherlevel"/>
<xs:enumeration value="recordgrp"/>
<xs:enumeration value="series"/>
<xs:enumeration value="subfonds"/>
<xs:enumeration value="subgrp"/>
<xs:enumeration value="subseries"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="a.localtype">
<xs:attribute name="localtype" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.relatedencoding">
<xs:attribute name="relatedencoding" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.unitdatetype">
<xs:attribute name="unitdatetype">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="bulk"/>
<xs:enumeration value="inclusive"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<!-- table attributes -->
<xs:attributeGroup name="a.char">
<xs:attribute name="char" use="required" type="xs:token"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.charoff">
<xs:attribute name="charoff" use="required" type="xs:NMTOKEN"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.colname">
<xs:attribute name="colname" use="required" type="xs:NMTOKEN"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.colsep">
<xs:attribute name="colsep" use="required" type="av.boolean"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.rowsep">
<xs:attribute name="rowsep" use="required" type="av.boolean"/>
</xs:attributeGroup>
<!-- other attributes -->
<xs:attributeGroup name="a.coverage">
<xs:attribute name="coverage" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="whole"/>
<xs:enumeration value="part"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="am.countrycode">
<xs:attribute name="countrycode" type="xs:NMTOKEN"/>
</xs:attributeGroup>
<xs:attributeGroup name="a.transliteration">
<xs:attribute name="transliteration" use="required" type="xs:NMTOKEN"/>
</xs:attributeGroup>
<!-- ATTRIBUTE VALUE LISTS -->
<xs:simpleType name="av.boolean">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>