schema {
  query: query
}

"A union of all types that make up AccessRestrictOptions"
union AccessRestrictOptionUnion = accessrestrict | blockquote | chronlist | head | list | p | table

"A union of accruals option types"
union AccrualsOptionUnion = accruals | blockquote | chronlist | head | list | p | table

"A union of acquisition info option types"
union AcqinfoOptionUnion = acqinfo | blockquote | chronlist | head | list | p | table

"A union of Altformavail Option types"
union AltformavailOptionUnion = altformavail | blockquote | chronlist | head | list | p | table

"A union of all appraisal option types"
union AppraisalOptionUnion = appraisal | blockquote | chronlist | head | list | p | table

"A union of all types that make up Archive Description Options"
union ArchdescoptionUnion = accessrestrict | accruals | acqinfo | altformavail | appraisal | arrangement | bibliography | bioghist | controlaccess | custodhist | fileplan | index | legalstatus | odd | originalsloc | otherfindaid | phystech | prefercite | processinfo | relatedmaterial | relations | scopecontent | separatedmaterial | userestrict | dsc

"A union of all arrangement option types"
union ArrangementOptionUnion = arrangement | blockquote | chronlist | head | list | p | table

"A union of all Bibliography option types"
union BibliographyOptionUnion = archref | bibliography | bibref | blockquote | chronlist | head | list | p | table

"A union of all Bioghist option types"
union BioghistOptionUnion = bioghist | blockquote | chronlist | head | list | p | table

"A union of all types that make up BlockquoteOptions"
union BlockquoteOptionUnion = chronlist | list | p | table

"A union of event or set of events"
union ChronitemOption2Union = chronitemset | event | geogname

"A union of chronitem options"
union ChronitemOptionUnion = daterange | dateset | datesingle

"A union of all Custodhist option types"
union CustodhistOptionUnion = custodhist | blockquote | chronlist | head | list | p | table

"A union of Datesingle and Daterange"
union DatesetOption2Union = datesingle | daterange

"A union of Daterange and Datesingle"
union DatesetOptionUnion = datesingle | daterange

"A union of abstract, container, dao, daoset, didnote, head, langmaterial, materialspec, origination, physdescset, physdesc, physdescstructured, physloc, repository, unitdate, unitdatestructured, unitid, unittitle types"
union DidOption2Union = abstract | container | dao | daoset | didnote | langmaterial | materialspec | origination | physdescset | physdesc | physdescstructured | physloc | repository | unitdate | unitdatestructured | unitid | unittitle

"A union of m.mixed.basic.elements and dimensions"
union DimensionsOptionUnion = text | abbr | emph | expan | foreign | lb | ptr | ref | dimensions

"A union of edition and p types"
union EditionstmtOptionUnion = edition | p

"A union of all Fileplan option types"
union FileplanOptionUnion = fileplan | blockquote | chronlist | head | list | p | table

"A union of all Index option types"
union IndexOptionUnion = index | indexentry | listhead

"A union of PtrGrp and MRefs"
union IndexentryOption2Union = ptrgrp | ptr | ref

"A union of all indexentry option types"
union IndexentryOptionUnion = namegrp | corpname | famname | functiontype | genreform | geogname | name | occupation | persname | subject | title

"A union of language and languageset types"
union LangmaterialOptionUnion = language | languageset

"A union of Legalstatus and m.blocks"
union LegalstatusOptionUnion = chronlist | list | table | blockquote | p | legalstatus

"A union of Item, Listhead and Defitem"
union ListTypeOptionUnion = item | listtypesequence1

"A union type for LocalControl Options"
union LocalControlOptionUnion = datesingle | daterange

"A union of all m.access types"
union MAccessUnion = corpname | famname | functiontype | genreform | geogname | name | occupation | persname | subject | title

"A union for all MBlocksOption1"
union MBlocksOption1Union = blockquote | chronlist | list | p | table

"A union of ChronlistType, ListTypeType, TableType, BlockquoteType, PType"
union MBlocksOption2Union = chronlist | list | table | blockquote | p

"A union of AccessrestrictType, AccrualsType, AcqinfoType, AltformavailType, AppraisalType, ArrangementType, BibliographyType, BioghistType, ControlaccessType, CustodhistType, FileplanType, IndexType, LegalstatusType,OddType, OriginalslocType, OtherfindaidType, PhystechType, PreferciteType, ProcessinfoType, RelatedmaterialType, RelationsType, ScopecontentType, SeparatedmaterialType, UserestrictType"
union MDesBaseOptionUnion = accessrestrict | accruals | acqinfo | altformavail | appraisal | arrangement | bibliography | bioghist | controlaccess | custodhist | fileplan | index | legalstatus | odd | originalsloc | otherfindaid | phystech | prefercite | processinfo | relatedmaterial | relations | scopecontent | separatedmaterial | userestrict

"A union of date element options"
union MMixedBasicDateElementsOption1Union = text | abbr | emph | expan | foreign | lb | ptr | ref

"A union of mu46mixedu46basicu46elementsOption1 types."
union MMixedBasicElementsOption1Union = text | abbr | emph | expan | foreign | lb | ptr | ref

"A union type for all MMixedBasicElementsOption types"
union MMixedBasicElementsOptionUnion = text | abbr | emph | expan | foreign | lb | ptr | ref

"A union of m.mixed.basic.elements, m.access, date, footnote, num ,quote"
union MMixedBasicPlusAccessableOptionUnion = text | abbr | emph | expan | foreign | lb | ptr | ref | persname | corpname | famname | geogname | name | occupation | subject | genreform | functiontype | title | date | footnote | num | quote

"A union of paragraph content options"
union MParaContentableOptionUnion = text | abbr | corpname | date | emph | expan | famname | footnote | foreign | functiontype | genreform | geogname | lb | list | name | num | occupation | persname | ptr | quote | ref | subject | title

"A union type for all MRefOptions"
union MRefOptionUnion = text | abbr | corpname | date | emph | expan | famname | footnote | functiontype | genreform | geogname | lb | name | num | occupation | persname | ptr | quote | subject | title

"A union of m.refs options"
union MRefOptionsUnion = ptr | ref

"A union of blockquote, c, c01, chronlist, head, list, p, table, thead types"
union Mu46cOrC01OptionUnion = c | c01

"A union of m.blocks and Odd types"
union OddOptionUnion = chronlist | list | table | blockquote | p | odd

"A union of m.blocks and Originalsloc types"
union OriginalsOptionUnion = chronlist | list | table | blockquote | p | originalsloc

"A union of Corpname, Famname, Name, Persname types"
union OriginationOptionUnion = corpname | famname | name | persname

"A union of m.blocks, otherfindaid, archref and bibref types"
union OtherfindaidOptionUnion = chronlist | list | table | blockquote | p | otherfindaid | archref | bibref

"A union of m.blocks and phystech types"
union PhystechOptionUnion = chronlist | list | table | blockquote | p | phystech

"A union of m.blocks and prefercite types"
union PreferciteOptionUnion = chronlist | list | table | blockquote | p | prefercite

"A union of m.blocks and processinfo types"
union ProcessinfoOptionUnion = chronlist | list | table | blockquote | p | processinfo

"A union of PublisherType, DateType, AddressType, NumType, PType"
union PublicationstmtOptionUnion = publisher | date | address | num | p

"A union of m.blocks, relatedmateria, archref and bibref types"
union RelatedmaterialOptionUnion = chronlist | list | table | blockquote | p | relatedmaterial | archref | bibref

"A Union of datesingle, daterange and dateset types"
union RelationoptionUnion = datesingle | daterange | dateset

"A union of CorpnameType, FamnameType, NameType and PersnameType"
union RepositoryOptionUnion = corpname | famname | name | persname

"A union of m.blocks and scopecontent types"
union ScopecontentOptionUnion = chronlist | list | table | blockquote | p | scopecontent

"A union of m.blocks, separatedmaterial, archref and bibref types"
union SeparatedmaterialOptionUnion = chronlist | list | table | blockquote | p | separatedmaterial | archref | bibref

"A union of seriesstmt option types"
union SeriesstmtOptionUnion = num | p | titleproper

"A Union of datesingle, daterange and dateset types"
union UnitdatestructuredOptionUnion = datesingle | daterange | dateset

"A union of m.blocks and userestrict types"
union UserestrictOptionUnion = chronlist | list | table | blockquote | p | userestrict

"An element for encoding the shortened form of a word or phrase."
type abbr {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  expan: String
}

"A child element of <did> that provides a brief characterization of the materials being described."
type abstract {
  mixed: [MMixedBasicPlusAccessableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  label: String
  encodinganalog: String
}

"An element for information about conditions that affect the availability of the materials being described."
type accessrestrict {
  head: head
  accessrestrictoption: [AccessRestrictOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"An element for information about anticipated additions to the materials being described."
type accruals {
  head: head
  accrualsoption: [AccrualsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"An element for encoding the immediate source of acquisition of the materials being described."
type acqinfo {
  head: head
  acqinfooption: [AcqinfoOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"An element that binds together one or more <addressline> elements that provide contact information for a repository or publisher."
type address {
  addressline: [addressline!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"A generic element for recording one line of an address, whether postal or other."
type addressline {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
}

"A child element of <maintenanceagency> that provides a code for the institution or service responsible for the creation, maintenance, and/or dissemination of the EAD instance."
type agencycode {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"A required child element of <maintenanceagency> that provides the name of the institution or service responsible for the creation, maintenance, and/or dissemination of the EAD instance."
type agencyname {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"A required child element of <maintenanceevent> that provides the name of a person, institution, or system responsible for the creation, modification, or deletion of an EAD instance."
type agent {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A required child element of <maintenanceevent> that indicates the type of agent responsible for the creation, modification, or deletion of an EAD instance."
type agenttype {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  value: String!
}

"An element for indicating the existence of copies of the materials being described."
type altformavail {
  head: head
  altformavailoption: [AltformavailOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"An element for documenting decisions and actions related to assessing the archival value and disposition of the materials being described."
type appraisal {
  head: head
  appraisaloption: [AppraisalOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"Binds together all the Archival Description information in the EAD instance"
type archdesc {
  did: did!
  archdescoption: [ArchdescoptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  relatedencoding: String
  otherlevel: String
  encodinganalog: String
  level: String!
  base: String
}

"An element for citing other archival materials."
type archref {
  mixed: [MMixedBasicPlusAccessableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"An element for describing the organization or filing sequence of the records."
type arrangement {
  head: head
  arrangementoption: [ArrangementOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"An optional child element of <titlestmt> that provides the name(s) of the institution(s) or individual(s) responsible for compiling the intellectual content of the EAD instance. "
type author {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"For citing works based on the use or analysis of the materials being described."
type bibliography {
  head: head
  bibliographyoption: [BibliographyOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"An element for citing a published work."
type bibref {
  mixed: [MMixedBasicPlusAccessableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"For recording biographical or historical information about the creator(s) of the materials being described."
type bioghist {
  head: head
  bioghistoption: [BioghistOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A generic formatting element that designates an extended quotation."
type blockquote {
  blockquoteoption: [BlockquoteOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"An element that designates a subordinate part of the materials being described."
type c {
  head: head
  did: did
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  csequence1: [csequence1!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"An element that designates the top or first-level subordinate part of the materials."
type c01 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c01sequence1: [c01sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C02 sequence"
type c01sequence {
  thead: thead
  c02: [c02!]!
}

"An element that designates the top or second-level subordinate part of the materials."
type c02 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c02sequence1: [c02sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C03 sequence"
type c02sequence {
  thead: thead
  c03: [c03!]!
}

"An element that designates the top or third-level subordinate part of the materials."
type c03 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c03sequence1: [c03sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C04 sequence"
type c03sequence {
  thead: thead
  c04: [c04!]!
}

"An element that designates the top or fourth-level subordinate part of the materials."
type c04 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c04sequence1: [c04sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C05 sequence"
type c04sequence {
  thead: thead
  c05: [c05!]!
}

"An element that designates the top or fifth-level subordinate part of the materials."
type c05 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c05sequence1: [c05sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C06 sequence"
type c05sequence {
  thead: thead
  c06: [c06!]!
}

"An element that designates the top or sixth-level subordinate part of the materials."
type c06 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c06sequence1: [c06sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C07 sequence"
type c06sequence {
  thead: thead
  c07: [c07!]!
}

"An element that designates the top or seventh-level subordinate part of the materials."
type c07 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c07sequence1: [c07sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C08 sequence"
type c07sequence {
  thead: thead
  c08: [c08!]!
}

"An element that designates the top or eighth-level subordinate part of the materials."
type c08 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c08sequence1: [c08sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C09 sequence"
type c08sequence {
  thead: thead
  c09: [c09!]!
}

"An element that designates the top or ninth-level subordinate part of the materials."
type c09 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c09sequence1: [c09sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C10 sequence"
type c09sequence {
  thead: thead
  c10: [c10!]!
}

"An element that designates the top or tenth-level subordinate part of the materials."
type c10 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c10sequence1: [c10sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C11 sequence"
type c10sequence {
  thead: thead
  c11: [c11!]!
}

"An element that designates the top or eleventh-level subordinate part of the materials."
type c11 {
  head: head
  did: did!
  mu46descu46baseOption3: [MDesBaseOptionUnion!]!
  c11sequence1: [c11sequence!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  base: String
  level: String
  otherlevel: String
  encodinganalog: String
}

"thead and C12 sequence"
type c11sequence {
  thead: thead
}

"An element that pairs a date with one or more events and zero or more geographic names within a chronology list <chronlist>."
type chronitem {
  chronitemoption: ChronitemOptionUnion!
  chronitemoption2: [ChronitemOption2Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
}

"An element for binding together zero or more <geogname> elements and one or more <event> elements within <chronitem>."
type chronitemset {
  geogname: [geogname!]!
  event: [event!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"An element for designating the temporal sequence of significant events associated with the entity or material described."
type chronlist {
  head: head
  listhead: listhead
  chronitem: [chronitem!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A required child element of <conventiondeclaration> and <localtypedeclaration> for identifying any rules and conventions applied in the compilation of the description."
type citation {
  mixed: [MMixedBasicElementsOption1Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  href: String
  linkrole: String
  arcrole: String
  linktitle: String
  show: String
  actuate: String
  lastdatetimeverified: String
}

"An empty formatting element that specifies the position and size of a single column in a table."
type colspec {
  colnum: String
  colname: String
  colwidth: String
  colsep: Boolean
  rowsep: Boolean
  align: String
  char: String
  charoff: String
}

"A child element of <did> for indicating the container in which the material being described is housed, e.g., box, folder."
type container {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  label: String
  localtype: String
  encodinganalog: String
  parent: [String!]
  containerid: String
}

"A required child element of <ead> for recording bibliographic and administrative information about an EAD instance. "
type control {
  recordid: recordid!
  otherrecordid: [otherrecordid!]!
  representation: [respresentation!]!
  filedesc: filedesc!
  maintenancestatus: maintenancestatus!
  maintenanceagency: maintenanceagency!
  languagedeclaration: [languagedeclaration!]!
  conventiondeclaration: [conventiondeclaration!]!
  rightsdeclaration: [rightsdeclaration!]!
  localtypedeclaration: [localtypedeclaration!]!
  localcontrol: [localcontrol!]!
  maintenancehistory: maintenancehistory!
  sources: sources
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  relatedencoding: String
  base: String
  langencoding: String
  scriptencoding: String
  dateencoding: String
  countryencoding: String
  repositoryencoding: String
}

"An element that binds together elements containing access headings for the described materials. "
type controlaccess {
  head: head
  controlaccessoption: [BioghistOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A child element of <notestmt>, used to provide a general note related to the EAD instance."
type controlnote {
  mu46blocksOption1: [MBlocksOption1Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"An optional child element of <control>, used to bind together <citation> with optional <abbr> and <descriptivenote> elements that identify rules or conventions applied in compiling the description"
type conventiondeclaration {
  abbr: abbr
  citation: citation!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"An element for identifying the name of an organization or group of people."
type corpname {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  localtype: String
  encodinganalog: String
  relator: String
}

"Thead and c"
type csequence1 {
  thead: thead
  c: [c!]!
}

"An element for information about the chain of ownership or custody of the materials being described, before they reached the archives."
type custodhist {
  head: head
  custodhistoption: [CustodhistOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A child element of <did> used for linking to born digital records or a digital representation of the materials being described."
type dao {
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
  label: String
  href: String
  linkrole: String
  arcrole: String
  linktitle: String
  show: String
  actuate: String
  identifier: String
  xpointer: String
  entityref: String
  daotype: String
  otherdaotype: String
  coverage: String
}

"An element for binding together two or more links to digital archival objects."
type daoset {
  daoFirst: dao!
  daoOthers: [dao!]!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
  label: String
  coverage: String
  base: String
}

"An element used to express a date."
type date {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  era: String
  calendar: String
  normal: String
  certainty: String
  encodinganalog: String
}

"A wrapper element for binding together <fromdate> and <todate> in order to represent a range of dates."
type daterange {
  fromdate: fromdate
  todate: todate
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
}

"A wrapper element for encoding complex dates that cannot be adequately represented in one <datesingle> or <daterange>."
type dateset {
  datesetoption: DatesetOptionUnion!
  datesetoption2: [DatesetOption2Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
}

"An element for encoding an individual date related to the materials being described."
type datesingle {
  mixed: [MMixedBasicElementsOption1Union!]!
  standarddate: String
  notbefore: String
  notafter: String
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
}

"A wrapper element for binding pairs of labels and items within a list."
type defitem {
  label: label!
  item: item!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"An element used to provide general descriptive information related to its parent element."
type descriptivenote {
  p: [p!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A wrapper element that encloses information essential for identifying the material being described. "
type did {
  head: head
  mu46didOption2: [DidOption2Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A child element of <did> that can express any kind of explanatory information."
type didnote {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  label: String
  encodinganalog: String
}

"A child element of <physdescstructured> that provides information about the size of the material being described."
type dimensions {
  mixed: [DimensionsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
  unit: String
}

"A wrapper element that bundles information about the hierarchical groupings of the materials being described."
type dsc {
  dscsequence1: dscsequence1!
  thead: thead
  mu46cOrC01Option3: [Mu46cOrC01OptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  dsctype: String
  otherdsctype: String
  encodinganalog: String
}

"head and m.blocks.option"
type dscsequence1 {
  head: head
  mu46blocksOption2: [MBlocksOption2Union!]!
}

"<ead> wraps all other elements in an Encoded Archival Description document or finding aid. Also referred to more specifically as an inventory or register, a finding aid establishes physical and intellectual control over many types of archival materials and helps researchers understand and access the materials being described. <ead> must contain <control> followed by <archdesc>"
type ead {
  control: control!
  archdesc: archdesc!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  relatedencoding: String
  base: String
}

"A child element of <editionstmt> for recording the version of an EAD instance."
type edition {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A child element of <filedesc>, used to provide information about the version of an EAD instance."
type editionstmt {
  editionstmtoption: [EditionstmtOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A formatting element for marking words or phrases that are emphasized or specially formatted."
type emph {
  mixed: [MMixedBasicElementsOption1Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  render: String
}

"A formatting element that designates the contents of a cell in a table."
type entry {
  mixed: [MParaContentableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  colname: String
  namest: String
  nameend: String
  morerows: String
  colsep: Boolean
  rowsep: Boolean
  align: String
  char: String
  charoff: String
  valign: String
}

"An element describing a happening or occurrence recorded within a chronology list."
type event {
  mixed: [MParaContentableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
}

"A required child element of <maintenanceevent> that records the date and time of a specific maintenance action for an EAD instance."
type eventdatetime {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  standarddatetime: String
}

"An optional child of <maintenanceevent>, used to provide a description of the maintenance activity."
type eventdescription {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"A required child element of <maintenanceevent> that provides a controlled list of values for recording the type of maintenance activity."
type eventtype {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  value: String!
}

"A phrase level element for designating the full form of a word or phrase."
type expan {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  abbr: String
}

"An element for identifying the name of a group of people with blood relations, or persons who form a household."
type famname {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  localtype: String
  encodinganalog: String
  relator: String
}

"Use <filedesc> to record a bibliographic description of the finding aid itself, including its author, title, subtitle, sponsor, edition, publisher, publishing series, and related notes"
type filedesc {
  titlestmt: titlestmt!
  editionstmt: editionstmt
  publicationstmt: publicationstmt
  seriesstmt: seriesstmt
  notestmt: notestmt
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"An element for information about any classification scheme used by the original creator to arrange, store, and retrieve the materials described."
type fileplan {
  head: head
  fileplanoption: [FileplanOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"An element used to cite the source of a fact, quotation, etc."
type footnote {
  mu46blocksOption1: [MBlocksOption1Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  show: String
  actuate: String
}

"An element that indicates that the language and/or script of the encoded word(s) is different from that in the surrounding text."
type foreign {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  render: String
}

"An optional child element of <daterange> that records the starting point in a range of dates."
type fromdate {
  mixed: [MMixedBasicElementsOptionUnion!]!
  standarddate: String
  notbefore: String
  notafter: String
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
}

"An element for encoding activities and processes related to the production of materials."
type functiontype {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  encodinganalog: String
  localtype: String
  relator: String
}

"An element for encoding a genre or form of material."
type genreform {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  encodinganalog: String
  localtype: String
  relator: String
}

"An element for encoding place names."
type geogname {
  part: [part!]!
  geographiccoordinates: [geographiccoordinates!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  localtype: String
  encodinganalog: String
  relator: String
}

"A child element of <geogname> that encodes a set of geographic coordinates."
type geographiccoordinates {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  coordinatesystem: String!
}

"An element that encodes a title or caption for a section of text."
type head {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  althead: String
}

"A formatting element for the first facet heading in a multifacet list."
type head01 {
  mixed: [MMixedBasicElementsOption1Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"A formatting element for the second facet heading in a multifacet list."
type head02 {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"A formatting element for the third facet heading in a multifacet list."
type head03 {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"A list of key terms and entities with reference pointers assembled to enhance navigation of and access to the materials being described."
type index {
  head: head
  mu46blocksOption2: [MBlocksOption1Union!]!
  indexoption: [IndexOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A wrapper element that pairs an index term with zero or more linking elements."
type indexentry {
  indexentryoption: IndexentryOptionUnion!
  indexentryoption2: IndexentryOption2Union
  indexentry: [indexentry!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"An element used in either <list> or as part of <defitem>."
type item {
  mixed: [MParaContentableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"A required child element of <defitem> that identifies the term or concept being defined or described."
type label {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"A child element of <did> that identifies languages represented in the materials described."
type langmaterial {
  langmaterialoption: [LangmaterialOptionUnion!]!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  label: String
  encodinganalog: String
}

"An element used to indicate the language or communication system of an EAD instance or of the material being described."
type language {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  label: String
  langcode: String
}

"The language and script in which the EAD is written"
type languagedeclaration {
  language: language!
  scriptElement: script!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"Within <did>, <languageset> is a child element of <langmaterial> that is used to pair languages with the scripts in which they are written."
type languageset {
  language: [language!]!
  scriptElement: [script!]!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A formatting element that forces the following text to start on a new line."
type lb {
  dummyfield: String
}

"An element for indicating the statutorily defined status of the materials being described."
type legalstatus {
  head: head
  legalstatusoption: [LegalstatusOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"A wrapper element for formatting a series of <item> or <defitem> elements that are often presented in a vertical sequence."
type list {
  head: head
  listtypeoption: [ListTypeOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  listtype: String
  mark: String
  numeration: String
}

"An element for grouping several headings for faceted lists."
type listhead {
  head01: head01
  head02: head02
  head03: head03
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"ListTypeSequence"
type listtypesequence1 {
  listhead: listhead
  defitem: [defitem!]!
}

"A child element of <control>, used to specify any control information necessary to accommodate local practice. "
type localcontrol {
  term: term
  localcontroloption: LocalControlOptionUnion
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"A child element of <control> used to declare any local conventions or controlled vocabularies used in localtype in the EAD instance. "
type localtypedeclaration {
  abbr: abbr
  citation: citation!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"Information about the institution or service responsible for the creation, maintenance, and/or dissemination of the EAD instance. "
type maintenanceagency {
  agencycode: agencycode
  otheragencycode: [otheragencycode!]!
  agencyname: [agencyname!]!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  countrycode: String
}

"A required child element of <maintenancehistory> used to record information about maintenance activities in the history of the EAD instance."
type maintenanceevent {
  eventtype: eventtype!
  eventdatetime: eventdatetime!
  agenttype: agenttype!
  agent: agent!
  eventdescription: [eventdescription!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A required child element of <control> that captures the history of the EAD instance. "
type maintenancehistory {
  maintenanceevent: [maintenanceevent!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"New or Revised status based on the state of the current instance of the EAD"
type maintenancestatus {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  value: String!
}

"A child elementof <did> for providing material specific details for a small group of materials or an item."
type materialspec {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  label: String
  encodinganalog: String
  localtype: String
}

"An element for encoding generic names."
type name {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  localtype: String
  encodinganalog: String
  relator: String
}

"An element for binding together multiple access element entries within an <indexentry>."
type namegrp {
  accessoptions: [MAccessUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"An optional child element of <filedesc> that binds together one or more <controlnote> elements."
type notestmt {
  controlnote: [controlnote!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A generic element for expressing numeric information."
type num {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A sublement of <relation> and <source> that allows for the inclusion of an XML element from any XML namespace other than EAD."
type objectxmlwrap {
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"An element for specifying a profession."
type occupation {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  encodinganalog: String
  localtype: String
  relator: String
}

"For recording additional information about the described materials that is not easily incorporated into one of the other named elements within <archdesc> and <c>. "
type odd {
  head: head
  oddoption: [OddOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"For conveying information about the existence of originals when the unit described exists of copies."
type originalsloc {
  head: head
  originalslocoption: [OriginalsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"A child element of <did> that names the creator or collector of the described materials."
type origination {
  originationoption: [OriginationOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  label: String
  encodinganalog: String
}

"A child element of <maintenanceagency> that provides an alternative code for the institution or service responsible for the EAD instance."
type otheragencycode {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"For identifying any other finding aids to the materials being described."
type otherfindaid {
  head: head
  otherfindaidoption: [OtherfindaidOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A child element of <control> that encodes any local identifier for the EAD instance. "
type otherrecordid {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"A general purpose element used to encode blocks of text."
type p {
  mixed: [MParaContentableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"A required and repeatable child of controlled access elements used to encode one or more parts of an access term."
type part {
  mixed: [MMixedBasicDateElementsOption1Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
  source: String
  rules: String
  identifier: String
}

"An element for identifying a personal name."
type persname {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  localtype: String
  encodinganalog: String
  relator: String
}

"A child element of <did> that provides a simple, unstructured statement about the physical characteristics of the material being described."
type physdesc {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  label: String
  encodinganalog: String
}

"A child element of <did> used to bind two or more structured expressions of the physical description of the materials."
type physdescset {
  physdescstructuredFirst: physdescstructured!
  physdescstructuredOthers: [physdescstructured!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  label: String
  encodinganalog: String
  parallel: Boolean
  coverage: String
}

"An element that provides a method for expressing structured statements about the extent and physical characteristics of the materials being described."
type physdescstructured {
  quantity: quantity!
  unittype: unittype!
  physdescstructuredoption: [physdescstructuredOptionSubTypeUnion!]!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  label: String
  encodinganalog: String
  physdescstructuredtype: String!
  otherphysdescstructuredtype: String
  coverage: String!
}

"Union of physfacet and dimensions"
union physdescstructuredOptionSubTypeUnion = physfacet | dimensions

"A child element of <physdescstructured> that provides more detailed information about the physical nature of or techniques and methods of creation of the material described in terms that are often taken from a controlled vocabulary list."
type physfacet {
  mixed: [MMixedBasicPlusAccessableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  source: String
  rules: String
  identifier: String
  localtype: String
}

"A child element of <did> that specifies the physical location of the materials."
type physloc {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  label: String
  encodinganalog: String
  parent: [String!]
}

"For describing the physical condition of the materials and/or technical requirements that affect their use. "
type phystech {
  head: head
  phystechoption: [PhystechOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"An element for specifying how users should cite the described materials in publication credits."
type prefercite {
  head: head
  preferciteoption: [PreferciteOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"For encoding information about archival activities related to the described materials."
type processinfo {
  head: head
  processinfooption: [ProcessinfoOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"An empty element that provides links to content that may be internal or external to the finding aid."
type ptr {
  id: String
  altrender: String
  audience: String
  target: String
  xpointer: String
  href: String
  linkrole: String
  arcrole: String
  linktitle: String
  show: String
  actuate: String
  entityref: String
}

"An element for binding together two or more <ptr> or <ref> elements."
type ptrgrp {
  referenceoptions: [MRefOptionsUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
}

"An optional child element of <filedesc> that provides information concerning the publication or distribution of the EAD instance. "
type publicationstmt {
  publicationstmtoption: [PublicationstmtOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A child element of <publicationstmt> that identifies the institution or agency responsible for distribution of the EAD instance."
type publisher {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A required child element of <physdescstructured> that indicates the number of units present as described by <unittype>."
type quantity {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  approximate: Boolean
}

type query {
  "Finding Aid for a given collection (fonds, record group, manuscript group, etc.)"
  collection(
    "Id of the object."
    id: ID!): ead

  "All finding aid in the archive."
  allCollections: [ead!]!
  pTest: p!
}

"A phrase-level element for identifying or formatting an inline quotation."
type quote {
  mixed: [MMixedBasicElementsOption1Union!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  render: String
}

"Unique identifier for the EAD instance"
type recordid {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  instanceurl: String
}

"An element that provides a link to content that may be internal or external to the finding aid."
type ref {
  mixed: [MRefOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  target: String
  xpointer: String
  href: String
  linkrole: String
  arcrole: String
  linktitle: String
  show: String
  actuate: String
  entityref: String
}

"For identifying archival materials that have an association to the materials being described."
type relatedmaterial {
  head: head
  relatedmaterialoption: [RelatedmaterialOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A child element of <relations> for describing a relationship between the materials described in the EAD instance and a related entity."
type relation {
  relationentry: [relationentry!]!
  objectxmlwrap: objectxmlwrap
  relationoption: RelationoptionUnion
  geogname: geogname
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  relationtype: String!
  otherrelationtype: String
  lastdatetimeverified: String
  href: String
  linkrole: String
  arcrole: String
  linktitle: String
  show: String
  actuate: String
}

"A child element of <relation> that identifies an entity related to the materials being described."
type relationentry {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
  transliteration: String
}

"An element that groups one or more <relation> elements, which identify external entities and characterize the nature of their relationships to the materials being described. "
type relations {
  relation: [relation!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
  base: String
}

"A child element of <did> that names the institution, person, or family responsible for providing intellectual access to the materials being described."
type repository {
  repositoryoption: [RepositoryOptionUnion!]!
  address: address
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  label: String
  encodinganalog: String
}

"The EAD is available at this link as a PDF, XML, HTML, etc."
type respresentation {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  href: String
  linkrole: String
  arcrole: String
  linktitle: String
  show: String
  actuate: String
  localtype: String
}

"Unsure why this is generated and not documented at: https://www.loc.gov/ead/EAD3taglib/index.html#elem-control"
type rightsdeclaration {
  abbr: abbr
  citation: citation!
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}

"A formatting element that contains one or more horizontal cells in a table."
type row {
  entry: [entry!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  rowsep: Boolean
  valign: String
}

"An element that provides information about the nature of and activities reflected in the described materials."
type scopecontent {
  head: head
  scopecontentoption: [ScopecontentOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A child element of <languagedeclaration> and <languageset> that identifies the writing script for a language of the EAD instance or the materials being described, respectively."
type script {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  label: String
  scriptcode: String
}

"For identifying materials associated by provenance that have been physically separated or removed."
type separatedmaterial {
  head: head
  separatedmaterialoption: [SeparatedmaterialOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A child element of <filedesc> that groups information about the published monographic series to which an EAD instance belongs."
type seriesstmt {
  seriesstmtoption: [SeriesstmtOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A child element of <sources> used to identify a particular source of evidence used in describing the archival material."
type source {
  sourceentry: [sourceentry!]!
  objectxmlwrap: objectxmlwrap
  descriptivenote: descriptivenote
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  lastdatetimeverified: String
  href: String
  linkrole: String
  arcrole: String
  linktitle: String
  show: String
  actuate: String
}

"A child element within <source> that identifies a specific source used in creating the archival description."
type sourceentry {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  transliteration: String
}

"An optional child element of <control> that groups one or more <source>s of evidence used in describing the archival material. "
type sources {
  source: [source!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
  base: String
}

"Sponsor"
type sponsor {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"An element for encoding topics represented in the materials being described."
type subject {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  source: String
  rules: String
  identifier: String
  normal: String
  encodinganalog: String
  localtype: String
  relator: String
}

"A child element of <titlestmt> that captures a secondary or subsidiary portion of the title of the EAD instance."
type subtitle {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  encodinganalog: String
}

"A wrapper element for formatting information in a row and column display."
type table {
  head: head
  tgroup: [tgroup!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  frame: String
  colsep: Boolean
  rowsep: Boolean
  pgwide: Boolean
}

"A child element of <tgroup> that binds together one or more rows forming the main body of a table."
type tbody {
  row: [row!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  valign: String
}

"A child element of <localcontrol> used to specify a descriptive term in accordance with local rules."
type term {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  transliteration: String
  lastdatetimeverified: String
  source: String
  rules: String
  identifier: String
}

"Free text inside a mixed field"
type text {
  text: String!
}

"A wrapper element that binds together <colspec>, <thead>, and <tbody> elements in a table."
type tgroup {
  colspec: [colspec!]!
  thead: thead
  tbody: tbody!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  cols: String!
  colsep: Boolean
  rowsep: Boolean
  align: String
}

"A formatting element that contains the heading information in <table>."
type thead {
  row: [row!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  valign: String
}

"An element for encoding the formal name of a work."
type title {
  part: [part!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  source: String
  rules: String
  identifier: String
  normal: String
  encodinganalog: String
  relator: String
  render: String
}

"A child element of <titlestmt> and <seriesstmt> that indicates the title of a finding aid or finding aid series."
type titleproper {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  render: String
  encodinganalog: String
}

"A required child element of <filedesc> that binds together information about the name of an encoded finding aid and those responsible for its content."
type titlestmt {
  titleproper: [titleproper!]!
  subtitle: [subtitle!]!
  author: [author!]!
  sponsor: [sponsor!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
}

"A child element of <daterange> that records the end point in a range of dates."
type todate {
  mixed: [MMixedBasicElementsOptionUnion!]!
  standarddate: String
  notbefore: String
  notafter: String
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
}

"A child element of <did> that provides a simple statement of the date(s) covered by the described materials."
type unitdate {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  label: String
  unitdatetype: String
  datechar: String
  certainty: String
  era: String
  calendar: String
  normal: String
  encodinganalog: String
}

"A child element of <did> that enables structured, machine-processable expressions of the dates of the materials being described."
type unitdatestructured {
  unitdatestructuredoption: UnitdatestructuredOptionUnion!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  label: String
  unitdatetype: String
  datechar: String
  certainty: String
  encodinganalog: String
  era: String
  calendar: String
}

"A child element of <did> that provides an identifier for the materials being described, such as an accession number."
type unitid {
  mixed: [MMixedBasicElementsOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  localtype: String
  label: String
  countrycode: String
  repositorycode: String
  identifier: String
  encodinganalog: String
}

"A child element of <did> that specifies a title for the described materials."
type unittitle {
  mixed: [MMixedBasicPlusAccessableOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  label: String
  encodinganalog: String
  localtype: String
  normal: String
}

"A child element of <physdescstructured> that indicates the type of unit being quantified, e.g., boxes, linear feet, etc."
type unittype {
  mixed: [String!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  source: String
  rules: String
  identifier: String
}

"An element for indicating any conditions that affect the use of the described materials, such as in publications."
type userestrict {
  head: head
  userestrictoption: [UserestrictOptionUnion!]!
  id: String
  altrender: String
  audience: String
  lang: String
  script: String
  encodinganalog: String
  localtype: String
}