Corpus Metadata Model
There are two separate, but related schemas for the LAUDATIO metadata: the first concerns the TEI-based metadata that are used as input from data providers.
The second are JSON-based metadata that result from the TEI metadata being ingested into Elasticsearch. This set of metadata provides the attributes that are directly displayed in LAUDATIO.
The following tabs thus describe both sets of metadata and provide their validation sources (.rng in case of TEI metadata and .json in case of JSON).
A separate sub-page contains some TEI file examples.
- TEI schema
- Source (.rng)
- JSON schema
- Source (.json)
Preliminaries
To better differentiate TEI tags, tag attributes, and attribute values, we display them like this:
tagattribute"value"
By default, all tags and attributes are required unless otherwise noted. We distinguish the following special cases:
- ‼️: optional according to RNG schema, but required (or at least highly recommended) for LAUDATIO data ingestion
- 0️⃣: optional and can be dropped
- 🔂: its presence is dependent on another element, even if they are in theory independently optional (e.g. if
forenameis given,surnameshould also be given)
Basic structure
The TEI-XML file for the corpus MUST be named corpusHeader.xml.
The teiHeader contains one attribute and four main tags. Of the four main tags, all are required for LAUDATIO, but only one is required by the RNG schema:
typemust be"CorpusHeader".fileDesc(file description) provides description of a document (here: corpus), such as its title, editor(s), publisher, etc.- ‼️
profileDesc(text-profile description) Provides a detailed description of non-bibliographic aspects of a text, specifically the languages and sublanguages used, the situation in which it was produced, the participants and their setting. - ‼️
encodingDesc(encoding description) documents the relationship between an electronic text and the source or sources from which it was derived. For LAUDATIO: The elementencodingDescrefers to the different formats the corpus is uploaded in. For each format, a singleencodingDesccontains information about what kind of annotation (including keys and values) and what kind of formats were used. - ‼️
revisionDesc(revision description) summarizes the revision history for a file.
The basic structure of the corpus TEI header is thus as follows:
<?xml version='1.0' encoding='utf-8'?>
<?xml-model href="./corpus.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader type="CorpusHeader">
<fileDesc>...</fileDesc>
<profileDesc>...</profileDesc>
<encodingDesc>...</encodingDesc>
<revisionDesc>...</revisionDesc>
</teiHeader>
<text/>
</TEI>
The four main tags are described in detail below.
fileDesc
The meaning of the tags under fileDesc is left untouched, but they simply reference the object Corpus. For example, the tag editor refers to the responsible compiler(s) of the corpus, author refers to e.g. the annotator(s) of the corpus, and title refers to the title of the entire corpus. Tags used within fileDesc are:
titleStmt(title statement) groups information about the title of a work and those responsible for its content.- ‼️
extentdescribes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. publicationStmt(publication statement) groups information concerning the publication or distribution of an electronic or other text.sourceDesc(source description) describes the source from which an electronic text was derived or generated, typically a bibliographic description in the case of a digitized text, or a phrase such as "born digital" for a text which has no previous existence.
The basic structure of fileDesc is as follows:
<fileDesc>
<titleStmt>
<title>...</title>
<editor>...</editor>
<author>...</author>
<respStmt>...</respStmt>
</titleStmt>
<extent>...</extent>
<publicationStmt>
<authority>...</authority>
<idno>...</idno>
<availability>...</availability>
<date>...</date>
</publicationStmt>
<sourceDesc>...</sourceDesc>
</fileDesc>
titleStmt
The titleStmt contains the title, editors, annotators, and technical staff (infrastructure) of the corpus:
titlecontains the corpus title.- ‼️
editordenotes those responsible for corpus creation.- 0️⃣
nspecifies the numerical order of people to be listed. rolespecifies the role of this person. Only possible value is"CorpusEditor".- ‼️
persName(personal name) contains a proper noun or proper-noun phrase referring to a person, possibly including one or more of the person's forenames, surnames, honorifics, added names, etc.- 🔂
keyis used to refer to an external authority file. Possible values are"orcid"and"gnd". If present,refshould be present as well. Note that this information is currently not ingested and shown in LAUDATIO. - 🔂
refcontains the URI to the external authority file entry. If present,keyshould be present as well. Note that this information is currently not ingested and shown in LAUDATIO. - 🔂
forenamecontains a forename, given or baptismal name. If present,surnameshould be present as well. - 🔂
surnamecontains a family (inherited) name, as opposed to a given, baptismal, or nick name. If present,forenameshould be present as well.
- 🔂
- 🔂
affiliationcontains an informal description of a person's present or past affiliation with some organization, for example an employer or sponsor. If at least oneeditorhas theaffiliationtag, all other editors should have it too. Plus, allaffiliationtags must contain the same number oforgNametags.- 🔂
orgName(organization name) contains the name of the organization a person is affiliated with.- ‼️
typemust be either"Department"or"Institution".
- ‼️
- 🔂
- 0️⃣
- 0️⃣
authordenotes the technical staff of the corpus (those responsible for annotation and infrastructure).- 0️⃣
nspecifies the numerical order of people to be listed. These can be counted separately for each role below! rolespecifies the role of this person. Possible values are"Annotator"and"Infrastructure".- 0️⃣
persName(personal name) contains a proper noun or proper-noun phrase referring to a person, possibly including one or more of the person's forenames, surnames, honorifics, added names, etc.- 🔂
keyis used to refer to an external authority file. Possible values are"orcid"and"gnd". If present,refshould be present as well. Note that this information is currently not ingested and shown in LAUDATIO. - 🔂
refcontains the URI to the external authority file entry. If present,keyshould be present as well. Note that this information is currently not ingested and shown in LAUDATIO. - 🔂
forenamecontains a forename, given or baptismal name. If present,surnameshould be present as well. - 🔂
surnamecontains a family (inherited) name, as opposed to a given, baptismal, or nick name. If present,forenameshould be present as well.
- 🔂
- 🔂
affiliationcontains an informal description of a person's present or past affiliation with some organization, for example an employer or sponsor. If at least oneauthorhas theaffiliationtag, all other authors should have it too. Plus, if present, allaffiliationtags must contain the same number oforgNametags.- 🔂
orgName(organization name) contains the name of the organization a person is affiliated with.- ‼️
typemust be either"Department"or"Institution".
- ‼️
- 🔂
- 0️⃣
- 0️⃣
respStmt(responsibility statement) specifies other kinds of corpus responsibilities, e.g. those responsible for the metadata schema. Note that this information is currently not ingested and shown in LAUDATIO.respdescribes what the responsiblity entails (e.g. metadata).- 0️⃣
persName(personal name) contains a proper noun or proper-noun phrase referring to a person, possibly including one or more of the person's forenames, surnames, honorifics, added names, etc.- 🔂
keyis used to refer to an external authority file. Possible values are"orcid"and"gnd". If present,refshould be present as well. Note that this information is currently not ingested and shown in LAUDATIO. - 🔂
refcontains the URI to the external authority file entry. If present,keyshould be present as well. Note that this information is currently not ingested and shown in LAUDATIO. - 0️⃣
forenamecontains a forename, given or baptismal name. - 0️⃣
surnamecontains a family (inherited) name, as opposed to a given, baptismal, or nick name. - 0️⃣
orgName(organization name) contains the name of the organization a person is affiliated with.- 0️⃣
typemust be either"Department"or"Institution".
- 0️⃣
- 🔂
An example of the titleStmt looks like this:
<titleStmt>
<title>Demo Corpus</title>
<editor n="1" role="CorpusEditor"><!-- add more editors if necessary -->
<persName><!-- optional, recommended add norm references such as OCRIDs as attributes,
add @key and @ref, e.g.: key="orcid" ref="https://orcid.org/1234-1234-1234-" -->
<forename>Jane</forename>
<surname>Doe</surname>
</persName>
<affiliation>
<orgName type="Department">Department of Linguistics</orgName>
<orgName type="Institution">University</orgName>
</affiliation>
</editor>
<author n="1" role="Annotator"><!-- add more annotators if necessary, count in attribute @n -->
<persName>
<forename>John</forename>
<surname>Doe</surname>
</persName>
<affiliation>
<orgName type="Department">Department of History</orgName>
<orgName type="Institution">University</orgName>
</affiliation>
</author>
<author n="1" role="Infrastructure">
<persName>
<forename>Someone</forename>
<surname>Else</surname>
</persName>
<affiliation>
<orgName type="Department">Institut für deutsche Sprache und Linguistik</orgName>
<orgName type="Institution">Humboldt-Universität zu Berlin</orgName>
</affiliation>
</author>
<respStmt>
<resp>Metadata</resp>
<persName><!-- add more if necessary -->
<forename>John</forename>
<surname>Doe</surname>
</persName>
<orgName type="Department">Department of History</orgName>
<orgName type="Institution">University</orgName>
</respStmt>
</titleStmt>
extent
The ‼️ extent provides information about the size of the corpus. The attribute type defines the counting unit, which can be "Tokens" or "Words".
- ‼️
extentdescribes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units.typeCharacterizes the element in some sense, using any convenient classification scheme or typology. Possible values are"Tokens"or"Words".
An example for this tag is:
<extent type="Tokens">123456789</extent>
publicationStmt
The publicationStmt covers the authority, availability, and publication dates.
authority(release authority) supplies the name of a person or other agency responsible for making a work available, other than a publisher or distributor.- 0️⃣
idno(identifier) supplies any form of identifier used to identify some object, such as a bibliographic item, a person, a title, an organization, etc. in a standardized way. - ‼️
availabilitysupplies information about the availability of a text, for example any restrictions on its use or distribution, its copyright status, any licence applying to it, etc.statussupplies a code identifying the current availability of the text. Possible values are"free","restricted", or"unknown", but should be"free"for LAUDATIO.- ‼️
licenceinformation on the licence applying to the corpus.targetsupplies a URI to the chosen licence.
- ‼️
p(paragraph) shortly describes the licence.
- ‼️
datecontains a date in any format and refers to all corpus releases. This means that for each corpus release up until the current version, there must be adatetag.whensupplies the value of the date or time in a standard form, e.g. yyyy or yyyy-mm-dd.- 0️⃣
typespecifies the type of release.
An example of publicationStmt is given here:
<publicationStmt>
<authority>Hamburg University</authority>
<!-- e.g. your university -->
<idno>xyz</idno>
<!-- add identificators if available -->
<availability status="free">
<licence target="http://creativecommons.org/licenses/by/4.0/" />
<p>The corpus is published under a CC-BY 4.0 licence.</p>
<!-- prose description of the licence -->
</availability>
<date type="CorpusRelease" when="2023-07-07">First complete corpus release.</date>
<!-- short description of the release type -->
</publicationStmt>
sourceDesc
sourceDesc contains a list of documents of the corpus, which are given by their IDs (see notes on xml:id of the document metadata).
listcontains any sequence of items organized as a list.typeType of list for the corpus. Only accepted value is"CorpusDocument".itemcontains one component of a list (i.e. corpus document).correspThe identifier for a document based on the ID given in the document TEI header.n(number) gives a number (or other label) for an element, which is not necessarily unique within the document. This is simply an incrementing document counter.
An example is given here:
<sourceDesc>
<list type="CorpusDocument">
<!-- each document header contains an ID in <fileDesc xml:id="document1">, list the references here -->
<item corresp="document1" n="1" />
<item corresp="document2" n="2" />
</list>
</sourceDesc>
profileDesc
Include at most three language tags and make sure to use each style only once!
The ‼️ profileDesc only contains metadata concerning the language of the corpus data including remarks on language type and lanuage area.
langUsage(language usage) describes the languages, sub-languages, registers, dialects, etc. represented within a text.languagecharacterizes a single language or sublanguage used within a text.stylecontains an expression in some formal style definition language which defines the rendering or presentation used for this element in the source text; possible values:"Language","LanguageType","LanguageArea".ident(identifier) supplies a language code constructed as defined in BCP 47 which is used to identify the language documented by this element, and which is referenced by the global xml:lang attribute.1
A concrete example of profileDesc would be:
<profileDesc>
<langUsage>
<language ident="de" style="Language">Early New High German</language>
<language ident="de" style="LanguageArea">Southern dialects</language>
<language ident="de" style="LanguageType">Bavarian</language>
</langUsage>
</profileDesc>
encodingDesc
The ‼️ encodingDesc contains descriptions of the corpus annotation guidelines for each format the corpus is provided in. A corpus header can therefore have more than one encodingDesc. It has the following attributes and tags:
- 0️⃣
n(number) gives a number (or other label) for an element, which is not necessarily unique within the document. This is simply an incrementing counter. - 0️⃣
styledescribes the kind of format. It is not ingested or shown in LAUDATIO. - ‼️
appInfospecifies the corpus format. - ‼️
projectDescdescribes the research project and its references. - ‼️
editorialDeclis used to describe how the corpus was segmented and normalized. - ‼️
tagsDeclgives the actual annotation layers that this corpus format includes and which are roughly divided according to their functions.
The basic structure is thus as follows:
<encodingDesc n="1">
<!-- each <encodingDesc> describes the annotation layers that are released in a format of the corpus;
add more <encodingsDesc> if the corpus has more than one format -->
<appInfo>...</appInfo>
<projectDesc>...</projectDesc>
<editorialDecl>...</editorialDecl>
<tagsDecl>...</tagsDecl>
</encodingDesc>
appInfo
The ‼️ appInfo (application information) records information about the corpus format. While it is optional according to the schema, it must be given in order to correctly assign uploaded corpus data in LAUDATIO.
The elements within ‼️ appInfo are:
applicationprovides information about an used format.- 0️⃣
n(number) gives a number (or other label) for an element, which is not necessarily unique within the document. This is simply an incrementing counter. - 0️⃣
styleis a free text field. This is not ingested/shown in LAUDATIO. - 0️⃣
subtypeis a free text field. This is not ingested/shown in LAUDATIO. identsupplies an identifier for the format (independent of its version number or display name), e.g."ANNIS","TXT", or"EXMARaLDA".versionsupplies a version number for the format (independent of its identifier or display name), e.g."3.0".labelcontains a free-form field to name/describe the format.
- 0️⃣
<appInfo>
<application ident="EXMARaLDA" version="3.0">
<label>EXMARaLDA XML for Partitur editor.</label>
</application>
</appInfo>
projectDesc
‼️ projectDesc (project description) describes in detail the aim or purpose for which an electronic file was encoded, together with any other relevant information concerning the process by which it was assembled or collected.
p(paragraph) contains the description of the corpus.- 0️⃣
ref(reference) defines a reference to another location (e.g. the project homepage), possibly modified by additional text or comment.- 0️⃣
targetspecifies the destination of the reference by supplying one or more URI References
- 0️⃣
- 0️⃣
<projectDesc>
<p>
<ref target="www.project-page.com"/>Data annotation was carried out in our project: project description.
</p>
</projectDesc>
editorialDecl
‼️ editorialDecl (editorial practice declaration) provides details of editorial principles and practices applied during the encoding of a text.
- ‼️
segmentationdescribes the principles according to which the text has been segmented, for example into sentences, tone-units, graphemic strata, etc.p(paragraph) contains the description of the segmentation.
- 0️⃣
normalizationindicates the extent of normalization or regularization of the original source carried out in converting it to electronic form. This is not ingested/shown in LAUDATIO.2p(paragraph) contains the description of the normalization.
<editorialDecl>
<segmentation>
<p>Annotation 'dipl' has an independent segmentation. Every other annotation is
based on the segmentation of 'dipl.</p>
</segmentation>
<normalization>
<p>No normalization is applied.</p>
</normalization>
</editorialDecl>
tagsDecl
‼️ tagsDecl (tagging declaration) provides detailed information about the tagging applied to a document. These are the annotation layers.
- ‼️
namespacesupplies the formal name of the namespace to which the elements documented by its children belong.- ‼️
xml:idis the identifier for the annotation layer,. It should be the same as the annotation header file name and the attributecorrespoftitleof the annotation metadata. namespecifies the full formal name of the namespace concerned.rend(rendition) indicates how the element in question was rendered or presented in the source text. The annotation layers are classified with a closed list of categories:"Transcription""Lexical""Morphological""Syntactic""Graphical""MarkUp""Meta""Other"
tagUsagesupplies information about the usage of a specific element within a text. These are the possible annotation values for a given layer.gi(element name) specifies the name (generic identifier) of the element indicated by the tag.
- ‼️
<tagsDecl>
<namespace xml:id="dipl" name="dipl" rend="Transcription">
<tagUsage gi="String">Diplomatic,character based transcription.</tagUsage>
</namespace>
<namespace xml:id="pos" name="POS" rend="Lexical">
<tagUsage gi="DET">Determiner.</tagUsage>
<tagUsage gi="N">Noun.</tagUsage>
<tagUsage gi="V">Verb.</tagUsage>
<tagUsage gi="P">Punctuation.</tagUsage>
<tagUsage gi="PRON">Pronoun.</tagUsage>
</namespace>
</tagsDecl>
revisionDesc
The last change element determines the current corpus version! In the example below, this corpus would be uploaded in version "3.0".
‼️ revisionDesc refers to the version history of the whole corpus. Corpora in the LAUDATIO repository may have several versions. The changes between these versions will be provided here.
- ‼️
revisionDesc(revision description) summarizes the revision history for a file.changedocuments a change or set of changes made during the production of a source document, or during the revision of an electronic file. A text within the tag should also be provided!- ‼️
n(number) gives a number (or other label) for an element, which is not necessarily unique within the document. Note that this is not a counter, but means the corpus version numbers, e.g."1.0". - ‼️
whensupplies the value of the date or time in a standard form, e.g. yyyy or yyyy-mm-dd. - 0️⃣
typespecifies the kind of corpus revision undertaken. This is not ingested/shown in LAUDATIO. - 0️⃣
whoindicates the person, or group of people, to whom the element content is ascribed. This is not ingested/shown in LAUDATIO.
- ‼️
<revisionDesc>
<change n="1.0" type="CorpusRelease" when="2011" who="NA">First release of the corpus.</change>
<change n="2.0" type="QualityCheck" when="2012-05-31" who="LAUDATIO">Consistency check of
annotation keys. Change of corpus architecture, multiple
tokenizations/segmentations.
</change>
<change n="3.0" type="CorpusExtension" when="2013-05-15" who="LAUDATIO">Consistency check of
annotation keys. Change of corpus architecture, multiple tokenizations/segmentations.
Additional texts were added to the corpus. Several annotation keys were deleted, replaced
and checked.
</change>
</revisionDesc>
Footnotes
<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:tei="http://www.tei-c.org/ns/1.0"
xmlns:teix="http://www.tei-c.org/ns/Examples"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
ns="http://www.tei-c.org/ns/1.0">
<!--
Schema generated from ODD source 2018-11-06T07:49:00Z. .
TEI Edition: Version 3.4.0. Last updated on
23rd July 2018, revision 1fa0b54
TEI Edition Location: http://www.tei-c.org/Vault/P5/Version 3.4.0/
--><!--Creative
Commons Attribution 4.0.-->
<define name="macro.paraContent">
<zeroOrMore>
<choice>
<text />
<ref name="model.gLike" />
<ref name="model.phrase" />
<ref name="model.inter" />
<ref name="model.global" />
<ref name="model.lLike" />
</choice>
</zeroOrMore>
</define>
<define name="macro.limitedContent">
<zeroOrMore>
<choice>
<text />
<ref name="model.limitedPhrase" />
<ref name="model.inter" />
</choice>
</zeroOrMore>
</define>
<define name="macro.phraseSeq">
<zeroOrMore>
<choice>
<text />
<ref name="model.gLike" />
<ref name="model.phrase" />
<ref name="model.global" />
</choice>
</zeroOrMore>
</define>
<define name="macro.phraseSeq.limited">
<zeroOrMore>
<choice>
<text />
<ref name="model.limitedPhrase" />
<ref name="model.global" />
</choice>
</zeroOrMore>
</define>
<define name="macro.specialPara">
<zeroOrMore>
<choice>
<text />
<ref name="model.gLike" />
<ref name="model.phrase" />
<ref name="model.inter" />
<ref name="model.divPart" />
<ref name="model.global" />
</choice>
</zeroOrMore>
</define>
<define name="data.text">
<data type="string" />
</define>
<define name="data.temporal.iso">
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
<data type="token">
<param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
</data>
</choice>
</define>
<define name="att.ascribed.attributes">
<ref name="att.ascribed.attribute.who" />
</define>
<define name="att.ascribed.attribute.who">
<optional>
<attribute name="who">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the person, or group of people, to whom the element content is ascribed.</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.canonical.attributes">
<ref name="att.canonical.attribute.key" />
<ref name="att.canonical.attribute.ref" />
</define>
<define name="att.canonical.attribute.key">
<optional>
<attribute name="key">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides
an externally-defined means of identifying the entity (or entities) being named,
using a coded value of some kind.</a:documentation>
<data type="string" />
</attribute>
</optional>
</define>
<define name="att.canonical.attribute.ref">
<optional>
<attribute name="ref">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference)
provides an explicit means of locating a full definition or identity for the entity
being named by means of one or more URIs.</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.ranging.attribute.atLeast">
<optional>
<attribute name="atLeast">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a
minimum estimated value for the approximate measurement.</a:documentation>
<choice>
<data type="double" />
<data type="token">
<param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
</data>
<data type="decimal" />
</choice>
</attribute>
</optional>
</define>
<define name="att.ranging.attribute.atMost">
<optional>
<attribute name="atMost">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">gives a
maximum estimated value for the approximate measurement.</a:documentation>
<choice>
<data type="double" />
<data type="token">
<param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
</data>
<data type="decimal" />
</choice>
</attribute>
</optional>
</define>
<define name="att.ranging.attribute.min">
<optional>
<attribute name="min">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where the
measurement summarizes more than one observation or a range, supplies the minimum
value observed.</a:documentation>
<choice>
<data type="double" />
<data type="token">
<param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
</data>
<data type="decimal" />
</choice>
</attribute>
</optional>
</define>
<define name="att.ranging.attribute.max">
<optional>
<attribute name="max">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">where the
measurement summarizes more than one observation or a range, supplies the maximum
value observed.</a:documentation>
<choice>
<data type="double" />
<data type="token">
<param name="pattern">(\-?[\d]+/\-?[\d]+)</param>
</data>
<data type="decimal" />
</choice>
</attribute>
</optional>
</define>
<define name="att.ranging.attribute.confidence">
<optional>
<attribute name="confidence">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the degree of statistical confidence (between zero and one) that a value falls within
the range specified by min and max, or the proportion of observed values that fall
within that range.</a:documentation>
<data type="double" />
</attribute>
</optional>
</define>
<define name="att.written.attributes">
<ref name="att.written.attribute.hand" />
</define>
<define name="att.written.attribute.hand">
<optional>
<attribute name="hand">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to
a handNote element describing the hand considered responsible for the content of the
element concerned.</a:documentation>
<data type="anyURI" />
</attribute>
</optional>
</define>
<define name="att.cReferencing.attributes">
<ref name="att.cReferencing.attribute.cRef" />
</define>
<define name="att.cReferencing.attribute.cRef">
<optional>
<attribute name="cRef">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(canonical
reference) specifies the destination of the pointer by supplying a canonical
reference expressed using the scheme defined in a refsDecl element in the TEI header</a:documentation>
<data type="string" />
</attribute>
</optional>
</define>
<define name="att.datable.w3c.attributes">
<ref name="att.datable.w3c.attribute.when" />
<ref name="att.datable.w3c.attribute.notBefore" />
<ref name="att.datable.w3c.attribute.notAfter" />
<ref name="att.datable.w3c.attribute.from" />
<ref name="att.datable.w3c.attribute.to" />
</define>
<define name="att.datable.w3c.attribute.when">
<optional>
<attribute name="when">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
the value of the date or time in a standard form, e.g. yyyy-mm-dd.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
</choice>
</attribute>
</optional>
</define>
<define name="att.datable.w3c.attribute.notBefore">
<optional>
<attribute name="notBefore">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the earliest possible date for the event in standard form, e.g. yyyy-mm-dd.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
</choice>
</attribute>
</optional>
</define>
<define name="att.datable.w3c.attribute.notAfter">
<optional>
<attribute name="notAfter">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the latest possible date for the event in standard form, e.g. yyyy-mm-dd.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
</choice>
</attribute>
</optional>
</define>
<define name="att.datable.w3c.attribute.from">
<optional>
<attribute name="from">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the starting point of the period in standard form, e.g. yyyy-mm-dd.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
</choice>
</attribute>
</optional>
</define>
<define name="att.datable.w3c.attribute.to">
<optional>
<attribute name="to">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the ending point of the period in standard form, e.g. yyyy-mm-dd.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
</choice>
</attribute>
</optional>
</define>
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-att.datable.w3c-att-datable-w3c-when-constraint-rule-1">
<sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.tei-c.org/ns/1.0"
context="tei:*[@when]">
<sch:report role="nonfatal" test="@notBefore|@notAfter|@from|@to">The @when attribute
cannot be used with any other att.datable.w3c attributes.</sch:report>
</sch:rule>
</pattern>
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-att.datable.w3c-att-datable-w3c-from-constraint-rule-2">
<sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.tei-c.org/ns/1.0"
context="tei:*[@from]">
<sch:report role="nonfatal" test="@notBefore">The @from and @notBefore attributes cannot be
used together.</sch:report>
</sch:rule>
</pattern>
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-att.datable.w3c-att-datable-w3c-to-constraint-rule-3">
<sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.tei-c.org/ns/1.0"
context="tei:*[@to]">
<sch:report role="nonfatal" test="@notAfter">The @to and @notAfter attributes cannot be
used together.</sch:report>
</sch:rule>
</pattern>
<define name="att.datable.attributes">
<ref name="att.datable.w3c.attributes" />
<ref name="att.datable.iso.attributes" />
<ref name="att.datable.custom.attributes" />
<ref name="att.datable.attribute.calendar" />
<ref name="att.datable.attribute.period" />
</define>
<define name="att.datable.attribute.calendar">
<optional>
<attribute name="calendar">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the system or calendar to which the date represented by the content of this element
belongs.</a:documentation>
<data type="anyURI" />
</attribute>
</optional>
</define>
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-att.datable-calendar-calendar-constraint-rule-4">
<sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.tei-c.org/ns/1.0"
context="tei:*[@calendar]">
<sch:assert test="string-length(.) gt 0"> @calendar indicates the system or calendar to
which the date represented by the content of this element belongs, but this <sch:name />
element has no textual content.</sch:assert>
</sch:rule>
</pattern>
<define name="att.datable.attribute.period">
<optional>
<attribute name="period">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
a pointer to some location defining a named period of time within which the datable
item is understood to have occurred.</a:documentation>
<data type="anyURI" />
</attribute>
</optional>
</define>
<define name="att.declarable.attributes">
<ref name="att.declarable.attribute.default" />
</define>
<define name="att.declarable.attribute.default">
<optional>
<attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
name="default"
a:defaultValue="false">
<a:documentation>indicates whether or not this element is selected by default when its
parent is selected.</a:documentation>
<choice>
<value>true</value>
<a:documentation>This element is selected if its parent is selected</a:documentation>
<value>false</value>
<a:documentation>This element can only be selected explicitly, unless it is the only
one of its kind, in which case it is selected if its parent is selected.</a:documentation>
</choice>
</attribute>
</optional>
</define>
<define name="att.declaring.attributes">
<ref name="att.declaring.attribute.decls" />
</define>
<define name="att.declaring.attribute.decls">
<optional>
<attribute name="decls">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">identifies
one or more declarable elements within the header, which are understood to apply to
the element bearing this attribute and its content.</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.fragmentable.attributes">
<ref name="att.fragmentable.attribute.part" />
</define>
<define name="att.fragmentable.attribute.part">
<optional>
<attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
name="part"
a:defaultValue="N">
<a:documentation>specifies whether or not its parent element is fragmented in some way,
typically by some other overlapping structure: for example a speech which is divided
between two or more verse stanzas, a paragraph which is split across a page division,
a verse line which is divided between two speakers.</a:documentation>
<choice>
<value>Y</value>
<a:documentation>(yes) the element is fragmented in some (unspecified) respect</a:documentation>
<value>N</value>
<a:documentation>(no) the element is not fragmented, or no claim is made as to its
completeness</a:documentation>
<value>I</value>
<a:documentation>(initial) this is the initial part of a fragmented element</a:documentation>
<value>M</value>
<a:documentation>(medial) this is a medial part of a fragmented element</a:documentation>
<value>F</value>
<a:documentation>(final) this is the final part of a fragmented element</a:documentation>
</choice>
</attribute>
</optional>
</define>
<define name="att.docStatus.attributes">
<ref name="att.docStatus.attribute.status" />
</define>
<define name="att.docStatus.attribute.status">
<optional>
<attribute xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
name="status"
a:defaultValue="draft">
<a:documentation>describes the status of a document either currently or, when associated
with a dated element, at the time indicated.
Sample values include: 1] approved; 2] candidate; 3] cleared; 4] deprecated; 5]
draft; 6] embargoed; 7] expired; 8] frozen; 9] galley; 10] proposed; 11] published;
12] recommendation; 13] submitted; 14] unfinished; 15] withdrawn</a:documentation>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</attribute>
</optional>
</define>
<define name="att.global.responsibility.attributes">
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
</define>
<define name="att.global.responsibility.attribute.cert">
<optional>
<attribute name="cert">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(certainty)
signifies the degree of certainty associated with the intervention or interpretation.</a:documentation>
<choice>
<data type="double" />
<choice>
<value>high</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>medium</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>low</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>unknown</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</choice>
</attribute>
</optional>
</define>
<define name="att.global.responsibility.attribute.resp">
<optional>
<attribute name="resp">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsible
party) indicates the agency responsible for the intervention or interpretation, for
example an editor or transcriber.</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.global.rendition.attributes">
<ref name="att.global.rendition.attribute.rend" />
<ref name="att.global.rendition.attribute.style" />
<ref name="att.global.rendition.attribute.rendition" />
</define>
<define name="att.global.rendition.attribute.rend">
<optional>
<attribute name="rend">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rendition)
indicates how the element in question was rendered or presented in the source text.</a:documentation>
<list>
<oneOrMore>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.global.rendition.attribute.style">
<optional>
<attribute name="style">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains
an expression in some formal style definition language which defines the rendering or
presentation used for this element in the source text</a:documentation>
<data type="string" />
</attribute>
</optional>
</define>
<define name="att.global.rendition.attribute.rendition">
<optional>
<attribute name="rendition">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points to
a description of the rendering or presentation used for this element in the source
text.</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.global.source.attributes">
<ref name="att.global.source.attribute.source" />
</define>
<define name="att.global.source.attribute.source">
<optional>
<attribute name="source">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the source from which some aspect of this element is drawn.</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.global.attributes">
<ref name="att.global.rendition.attributes" />
<ref name="att.global.responsibility.attributes" />
<ref name="att.global.source.attributes" />
<ref name="att.global.attribute.xmlid" />
<ref name="att.global.attribute.n" />
<ref name="att.global.attribute.xmllang" />
<ref name="att.global.attribute.xmlbase" />
<ref name="att.global.attribute.xmlspace" />
</define>
<define name="att.global.attribute.xmlid">
<optional>
<attribute name="xml:id">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier)
provides a unique identifier for the element bearing the attribute.</a:documentation>
<data type="ID" />
</attribute>
</optional>
</define>
<define name="att.global.attribute.n">
<optional>
<attribute name="n">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number)
gives a number (or other label) for an element, which is not necessarily unique
within the document.</a:documentation>
<data type="string" />
</attribute>
</optional>
</define>
<define name="att.global.attribute.xmllang">
<optional>
<attribute name="xml:lang">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language)
indicates the language of the element content using a tag generated according to BCP
47.</a:documentation>
<choice>
<data type="language" />
<choice>
<value />
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</choice>
</attribute>
</optional>
</define>
<define name="att.global.attribute.xmlbase">
<optional>
<attribute name="xml:base">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides
a base URI reference with which applications can resolve relative URI references into
absolute URI references.</a:documentation>
<data type="anyURI" />
</attribute>
</optional>
</define>
<define name="att.global.attribute.xmlspace">
<optional>
<attribute name="xml:space">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signals
an intention about how white space should be managed by applications.</a:documentation>
<choice>
<value>default</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">signals
that the application's default white-space processing modes are acceptable</a:documentation>
<value>preserve</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the intent that applications preserve all white space</a:documentation>
</choice>
</attribute>
</optional>
</define>
<define name="att.internetMedia.attributes">
<ref name="att.internetMedia.attribute.mimeType" />
</define>
<define name="att.internetMedia.attribute.mimeType">
<optional>
<attribute name="mimeType">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(MIME
media type) specifies the applicable multimedia internet mail extension (MIME) media
type</a:documentation>
<list>
<oneOrMore>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.naming.attribute.role">
<optional>
<attribute name="role">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">may be
used to specify further information about the entity referenced by this name in the
form of a set of whitespace-separated values, for example the occupation of a person,
or the status of a place.</a:documentation>
<list>
<oneOrMore>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.naming.attribute.nymRef">
<optional>
<attribute name="nymRef">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference
to the canonical name) provides a means of locating the canonical form (nym) of the
names associated with the object named by the element bearing it.</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.placement.attributes">
<ref name="att.placement.attribute.place" />
</define>
<define name="att.placement.attribute.place">
<optional>
<attribute name="place">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
where this item is placed.
Suggested values include: 1] below; 2] bottom; 3] margin; 4] top; 5] opposite; 6]
overleaf; 7] above; 8] end; 9] inline; 10] inspace</a:documentation>
<list>
<oneOrMore>
<choice>
<value>below</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">below
the line</a:documentation>
<value>bottom</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at
the foot of the page</a:documentation>
<value>margin</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in
the margin (left, right, or both)</a:documentation>
<value>top</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at
the top of the page</a:documentation>
<value>opposite</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on
the opposite, i.e. facing, page</a:documentation>
<value>overleaf</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">on
the other side of the leaf</a:documentation>
<value>above</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">above
the line</a:documentation>
<value>end</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">at
the end of e.g. chapter or volume.</a:documentation>
<value>inline</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">within
the body of the text.</a:documentation>
<value>inspace</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in
a predefined space, for example left by an earlier scribe.</a:documentation>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</choice>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.typed.attributes">
<ref name="att.typed.attribute.type" />
<ref name="att.typed.attribute.subtype" />
</define>
<define name="att.typed.attribute.type">
<optional>
<attribute name="type">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes
the element in some sense, using any convenient classification scheme or typology.</a:documentation>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</attribute>
</optional>
</define>
<define name="att.typed.attribute.subtype">
<optional>
<attribute name="subtype">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides
a sub-categorization of the element, if needed</a:documentation>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</attribute>
</optional>
</define>
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-att.typed-subtypeTyped-constraint-rule-5">
<sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.tei-c.org/ns/1.0"
context="tei:*[@subtype]">
<sch:assert test="@type">The <sch:name /> element should not be categorized in detail with
@subtype unless also categorized in general with @type</sch:assert>
</sch:rule>
</pattern>
<define name="att.pointing.attributes">
<ref name="att.pointing.attribute.targetLang" />
<ref name="att.pointing.attribute.target" />
<ref name="att.pointing.attribute.evaluate" />
</define>
<define name="att.pointing.attribute.targetLang">
<optional>
<attribute name="targetLang">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the language of the content to be found at the destination referenced by target,
using a language tag generated according to BCP 47.</a:documentation>
<choice>
<data type="language" />
<choice>
<value />
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</choice>
</attribute>
</optional>
</define>
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-att.pointing-targetLang-targetLang-constraint-rule-6">
<sch:rule xmlns:rng="http://relaxng.org/ns/structure/1.0"
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.tei-c.org/ns/1.0"
context="tei:*[not(self::tei:schemaSpec)][@targetLang]">
<sch:assert test="@target">@targetLang should only be used on <sch:name /> if @target is
specified.</sch:assert>
</sch:rule>
</pattern>
<define name="att.pointing.attribute.target">
<optional>
<attribute name="target">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the destination of the reference by supplying one or more URI References</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.pointing.attribute.evaluate">
<optional>
<attribute name="evaluate">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the intended meaning when the target of a pointer is itself a pointer.</a:documentation>
<choice>
<value>all</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">if the
element pointed to is itself a pointer, then the target of that pointer will be
taken, and so on, until an element is found which is not a pointer.</a:documentation>
<value>one</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">if the
element pointed to is itself a pointer, then its target (whether a pointer or not)
is taken as the target of this pointer.</a:documentation>
<value>none</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">no
further evaluation of targets is carried out beyond that needed to find the
element specified in the pointer's target.</a:documentation>
</choice>
</attribute>
</optional>
</define>
<define name="att.sortable.attributes">
<ref name="att.sortable.attribute.sortKey" />
</define>
<define name="att.sortable.attribute.sortKey">
<optional>
<attribute name="sortKey">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
the sort key for this element in an index, list or group which contains it.</a:documentation>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</attribute>
</optional>
</define>
<define name="model.nameLike.agent">
<choice>
<ref name="orgName" />
<ref name="persName" />
</choice>
</define>
<define name="model.nameLike.agent_alternation">
<choice>
<ref name="orgName" />
<ref name="persName" />
</choice>
</define>
<define name="model.nameLike.agent_sequence">
<ref name="orgName" />
<ref name="persName" />
</define>
<define name="model.nameLike.agent_sequenceOptional">
<optional>
<ref name="orgName" />
</optional>
<optional>
<ref name="persName" />
</optional>
</define>
<define name="model.nameLike.agent_sequenceOptionalRepeatable">
<zeroOrMore>
<ref name="orgName" />
</zeroOrMore>
<zeroOrMore>
<ref name="persName" />
</zeroOrMore>
</define>
<define name="model.nameLike.agent_sequenceRepeatable">
<oneOrMore>
<ref name="orgName" />
</oneOrMore>
<oneOrMore>
<ref name="persName" />
</oneOrMore>
</define>
<define name="model.segLike">
<notAllowed />
</define>
<define name="model.hiLike">
<notAllowed />
</define>
<define name="model.hiLike_alternation">
<notAllowed />
</define>
<define name="model.hiLike_sequence">
<empty />
</define>
<define name="model.hiLike_sequenceOptional">
<empty />
</define>
<define name="model.hiLike_sequenceOptionalRepeatable">
<empty />
</define>
<define name="model.hiLike_sequenceRepeatable">
<notAllowed />
</define>
<define name="model.emphLike">
<choice>
<ref name="title" />
</choice>
</define>
<define name="model.emphLike_alternation">
<choice>
<ref name="title" />
</choice>
</define>
<define name="model.emphLike_sequence">
<ref name="title" />
</define>
<define name="model.emphLike_sequenceOptional">
<optional>
<ref name="title" />
</optional>
</define>
<define name="model.emphLike_sequenceOptionalRepeatable">
<zeroOrMore>
<ref name="title" />
</zeroOrMore>
</define>
<define name="model.emphLike_sequenceRepeatable">
<oneOrMore>
<ref name="title" />
</oneOrMore>
</define>
<define name="model.highlighted">
<choice>
<ref name="model.hiLike" />
<ref name="model.emphLike" />
</choice>
</define>
<define name="model.dateLike">
<choice>
<ref name="date" />
</choice>
</define>
<define name="model.dateLike_alternation">
<choice>
<ref name="date" />
</choice>
</define>
<define name="model.dateLike_sequence">
<ref name="date" />
</define>
<define name="model.dateLike_sequenceOptional">
<optional>
<ref name="date" />
</optional>
</define>
<define name="model.dateLike_sequenceOptionalRepeatable">
<zeroOrMore>
<ref name="date" />
</zeroOrMore>
</define>
<define name="model.dateLike_sequenceRepeatable">
<oneOrMore>
<ref name="date" />
</oneOrMore>
</define>
<define name="model.measureLike">
<notAllowed />
</define>
<define name="model.measureLike_alternation">
<notAllowed />
</define>
<define name="model.measureLike_sequence">
<empty />
</define>
<define name="model.measureLike_sequenceOptional">
<empty />
</define>
<define name="model.measureLike_sequenceOptionalRepeatable">
<empty />
</define>
<define name="model.measureLike_sequenceRepeatable">
<notAllowed />
</define>
<define name="model.egLike">
<notAllowed />
</define>
<define name="model.graphicLike">
<notAllowed />
</define>
<define name="model.offsetLike">
<notAllowed />
</define>
<define name="model.offsetLike_alternation">
<notAllowed />
</define>
<define name="model.offsetLike_sequence">
<empty />
</define>
<define name="model.offsetLike_sequenceOptional">
<empty />
</define>
<define name="model.offsetLike_sequenceOptionalRepeatable">
<empty />
</define>
<define name="model.offsetLike_sequenceRepeatable">
<notAllowed />
</define>
<define name="model.pPart.msdesc">
<notAllowed />
</define>
<define name="model.pPart.editorial">
<notAllowed />
</define>
<define name="model.pPart.editorial_alternation">
<notAllowed />
</define>
<define name="model.pPart.editorial_sequence">
<empty />
</define>
<define name="model.pPart.editorial_sequenceOptional">
<empty />
</define>
<define name="model.pPart.editorial_sequenceOptionalRepeatable">
<empty />
</define>
<define name="model.pPart.editorial_sequenceRepeatable">
<notAllowed />
</define>
<define name="model.pPart.transcriptional">
<notAllowed />
</define>
<define name="model.pPart.transcriptional_alternation">
<notAllowed />
</define>
<define name="model.pPart.transcriptional_sequence">
<empty />
</define>
<define name="model.pPart.transcriptional_sequenceOptional">
<empty />
</define>
<define name="model.pPart.transcriptional_sequenceOptionalRepeatable">
<empty />
</define>
<define name="model.pPart.transcriptional_sequenceRepeatable">
<notAllowed />
</define>
<define name="model.pPart.edit">
<choice>
<ref name="model.pPart.editorial" />
<ref name="model.pPart.transcriptional" />
</choice>
</define>
<define name="model.ptrLike">
<choice>
<ref name="ref" />
</choice>
</define>
<define name="model.lPart">
<notAllowed />
</define>
<define name="model.global.meta">
<notAllowed />
</define>
<define name="model.milestoneLike">
<notAllowed />
</define>
<define name="model.gLike">
<notAllowed />
</define>
<define name="model.oddDecl">
<notAllowed />
</define>
<define name="model.phrase.xml">
<notAllowed />
</define>
<define name="model.specDescLike">
<notAllowed />
</define>
<define name="model.biblLike">
<notAllowed />
</define>
<define name="model.headLike">
<notAllowed />
</define>
<define name="model.headLike_alternation">
<notAllowed />
</define>
<define name="model.headLike_sequence">
<empty />
</define>
<define name="model.headLike_sequenceOptional">
<empty />
</define>
<define name="model.headLike_sequenceOptionalRepeatable">
<empty />
</define>
<define name="model.headLike_sequenceRepeatable">
<notAllowed />
</define>
<define name="model.labelLike">
<choice>
<ref name="label" />
</choice>
</define>
<define name="model.listLike">
<choice>
<ref name="list" />
</choice>
</define>
<define name="model.noteLike">
<notAllowed />
</define>
<define name="model.lLike">
<notAllowed />
</define>
<define name="model.pLike">
<choice>
<ref name="p" />
</choice>
</define>
<define name="model.stageLike">
<notAllowed />
</define>
<define name="model.global.edit">
<notAllowed />
</define>
<define name="model.divPart">
<choice>
<ref name="model.lLike" />
<ref name="model.pLike" />
</choice>
</define>
<define name="model.placeNamePart">
<notAllowed />
</define>
<define name="model.placeNamePart_alternation">
<notAllowed />
</define>
<define name="model.placeNamePart_sequence">
<empty />
</define>
<define name="model.placeNamePart_sequenceOptional">
<empty />
</define>
<define name="model.placeNamePart_sequenceOptionalRepeatable">
<empty />
</define>
<define name="model.placeNamePart_sequenceRepeatable">
<notAllowed />
</define>
<define name="model.placeStateLike">
<choice>
<ref name="model.placeNamePart" />
</choice>
</define>
<define name="model.placeStateLike_alternation">
<choice>
<ref name="model.placeNamePart_alternation" />
</choice>
</define>
<define name="model.placeStateLike_sequence">
<ref name="model.placeNamePart_sequence" />
</define>
<define name="model.placeStateLike_sequenceOptional">
<optional>
<ref name="model.placeNamePart_sequenceOptional" />
</optional>
</define>
<define name="model.placeStateLike_sequenceOptionalRepeatable">
<zeroOrMore>
<ref name="model.placeNamePart_sequenceOptionalRepeatable" />
</zeroOrMore>
</define>
<define name="model.placeStateLike_sequenceRepeatable">
<oneOrMore>
<ref name="model.placeNamePart_sequenceRepeatable" />
</oneOrMore>
</define>
<define name="model.publicationStmtPart.agency">
<choice>
<ref name="authority" />
</choice>
</define>
<define name="model.publicationStmtPart.detail">
<choice>
<ref name="model.ptrLike" />
<ref name="date" />
<ref name="idno" />
<ref name="availability" />
</choice>
</define>
<define name="model.availabilityPart">
<choice>
<ref name="licence" />
</choice>
</define>
<define name="model.quoteLike">
<notAllowed />
</define>
<define name="model.quoteLike_alternation">
<notAllowed />
</define>
<define name="model.quoteLike_sequence">
<empty />
</define>
<define name="model.quoteLike_sequenceOptional">
<empty />
</define>
<define name="model.quoteLike_sequenceOptionalRepeatable">
<empty />
</define>
<define name="model.quoteLike_sequenceRepeatable">
<notAllowed />
</define>
<define name="model.qLike">
<choice>
<ref name="model.quoteLike" />
</choice>
</define>
<define name="model.respLike">
<choice>
<ref name="author" />
<ref name="editor" />
<ref name="respStmt" />
</choice>
</define>
<define name="model.divWrapper">
<notAllowed />
</define>
<define name="model.divTopPart">
<choice>
<ref name="model.headLike" />
</choice>
</define>
<define name="model.divTop">
<choice>
<ref name="model.divWrapper" />
<ref name="model.divTopPart" />
</choice>
</define>
<define name="model.divBottomPart">
<notAllowed />
</define>
<define name="model.divBottom">
<choice>
<ref name="model.divWrapper" />
<ref name="model.divBottomPart" />
</choice>
</define>
<define name="model.addressLike">
<choice>
<ref name="affiliation" />
</choice>
</define>
<define name="model.addressLike_alternation">
<choice>
<ref name="affiliation" />
</choice>
</define>
<define name="model.addressLike_sequence">
<ref name="affiliation" />
</define>
<define name="model.addressLike_sequenceOptional">
<optional>
<ref name="affiliation" />
</optional>
</define>
<define name="model.addressLike_sequenceOptionalRepeatable">
<zeroOrMore>
<ref name="affiliation" />
</zeroOrMore>
</define>
<define name="model.addressLike_sequenceRepeatable">
<oneOrMore>
<ref name="affiliation" />
</oneOrMore>
</define>
<define name="model.nameLike">
<choice>
<ref name="model.nameLike.agent" />
<ref name="model.offsetLike" />
<ref name="model.placeStateLike" />
<ref name="idno" />
<ref name="model.persNamePart" />
</choice>
</define>
<define name="model.nameLike_alternation">
<choice>
<ref name="model.nameLike.agent_alternation" />
<ref name="model.offsetLike_alternation" />
<ref name="model.placeStateLike_alternation" />
<ref name="idno" />
<ref name="model.persNamePart_alternation" />
</choice>
</define>
<define name="model.nameLike_sequence">
<ref name="model.nameLike.agent_sequence" />
<ref name="model.offsetLike_sequence" />
<ref name="model.placeStateLike_sequence" />
<ref name="idno" />
<ref name="model.persNamePart_sequence" />
</define>
<define name="model.nameLike_sequenceOptional">
<optional>
<ref name="model.nameLike.agent_sequenceOptional" />
</optional>
<optional>
<ref name="model.offsetLike_sequenceOptional" />
</optional>
<optional>
<ref name="model.placeStateLike_sequenceOptional" />
</optional>
<optional>
<ref name="idno" />
</optional>
<optional>
<ref name="model.persNamePart_sequenceOptional" />
</optional>
</define>
<define name="model.nameLike_sequenceOptionalRepeatable">
<zeroOrMore>
<ref name="model.nameLike.agent_sequenceOptionalRepeatable" />
</zeroOrMore>
<zeroOrMore>
<ref name="model.offsetLike_sequenceOptionalRepeatable" />
</zeroOrMore>
<zeroOrMore>
<ref name="model.placeStateLike_sequenceOptionalRepeatable" />
</zeroOrMore>
<zeroOrMore>
<ref name="idno" />
</zeroOrMore>
<zeroOrMore>
<ref name="model.persNamePart_sequenceOptionalRepeatable" />
</zeroOrMore>
</define>
<define name="model.nameLike_sequenceRepeatable">
<oneOrMore>
<ref name="model.nameLike.agent_sequenceRepeatable" />
</oneOrMore>
<oneOrMore>
<ref name="model.offsetLike_sequenceRepeatable" />
</oneOrMore>
<oneOrMore>
<ref name="model.placeStateLike_sequenceRepeatable" />
</oneOrMore>
<oneOrMore>
<ref name="idno" />
</oneOrMore>
<oneOrMore>
<ref name="model.persNamePart_sequenceRepeatable" />
</oneOrMore>
</define>
<define name="model.global">
<choice>
<ref name="model.global.meta" />
<ref name="model.milestoneLike" />
<ref name="model.noteLike" />
<ref name="model.global.edit" />
</choice>
</define>
<define name="model.pPart.data">
<choice>
<ref name="model.dateLike" />
<ref name="model.measureLike" />
<ref name="model.addressLike" />
<ref name="model.nameLike" />
</choice>
</define>
<define name="model.inter">
<choice>
<ref name="model.egLike" />
<ref name="model.oddDecl" />
<ref name="model.biblLike" />
<ref name="model.labelLike" />
<ref name="model.listLike" />
<ref name="model.stageLike" />
<ref name="model.qLike" />
</choice>
</define>
<define name="model.phrase">
<choice>
<ref name="model.segLike" />
<ref name="model.highlighted" />
<ref name="model.graphicLike" />
<ref name="model.pPart.msdesc" />
<ref name="model.pPart.edit" />
<ref name="model.ptrLike" />
<ref name="model.lPart" />
<ref name="model.phrase.xml" />
<ref name="model.specDescLike" />
<ref name="model.pPart.data" />
</choice>
</define>
<define name="model.limitedPhrase">
<choice>
<ref name="model.hiLike" />
<ref name="model.emphLike" />
<ref name="model.pPart.msdesc" />
<ref name="model.pPart.editorial" />
<ref name="model.ptrLike" />
<ref name="model.phrase.xml" />
<ref name="model.pPart.data" />
</choice>
</define>
<define name="model.applicationLike">
<choice>
<ref name="application" />
</choice>
</define>
<define name="model.teiHeaderPart">
<choice>
<ref name="encodingDesc" />
<ref name="profileDesc" />
</choice>
</define>
<define name="model.sourceDescPart">
<notAllowed />
</define>
<define name="model.encodingDescPart">
<choice>
<ref name="projectDesc" />
<ref name="editorialDecl" />
<ref name="tagsDecl" />
<ref name="appInfo" />
</choice>
</define>
<define name="model.editorialDeclPart">
<choice>
<ref name="normalization" />
<ref name="segmentation" />
</choice>
</define>
<define name="model.profileDescPart">
<choice>
<ref name="langUsage" />
</choice>
</define>
<define name="model.resourceLike">
<choice>
<ref name="text" />
</choice>
</define>
<define name="p">
<element name="p">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(paragraph)
marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents]</a:documentation>
<ref name="macro.paraContent" />
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-p-abstractModel-structure-p-constraint-report-4">
<rule context="tei:p">
<report
test="not(ancestor::tei:floatingText) and (ancestor::tei:p or ancestor::tei:ab) and not(parent::tei:exemplum |parent::tei:item |parent::tei:note |parent::tei:q |parent::tei:quote |parent::tei:remarks |parent::tei:said |parent::tei:sp |parent::tei:stage |parent::tei:cell |parent::tei:figure )">
Abstract model violation: Paragraphs may not occur inside other paragraphs or ab
elements.
</report>
</rule>
</pattern>
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-p-abstractModel-structure-l-constraint-report-5">
<rule context="tei:p">
<report test="ancestor::tei:l[not(.//tei:note//tei:p[. = current()])]">
Abstract model violation: Lines may not contain higher-level structural elements
such as div, p, or ab.
</report>
</rule>
</pattern>
<ref name="att.global.attributes" />
<ref name="att.declaring.attributes" />
<ref name="att.fragmentable.attributes" />
<ref name="att.written.attributes" />
<empty />
</element>
</define>
<define name="date">
<element name="date">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a
date in any format. [3.5.4. Dates and Times 2.2.4. Publication, Distribution, Licensing,
etc. 2.6. The Revision Description 3.11.2.4. Imprint, Size of a Document, and Reprint
Information 15.2.3. The Setting Description 13.3.6. Dates and Times]</a:documentation>
<zeroOrMore>
<choice>
<text />
<ref name="model.gLike" />
<ref name="model.phrase" />
<ref name="model.global" />
</choice>
</zeroOrMore>
<ref name="att.typed.attribute.type" />
<attribute name="when">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
the value of the date or time in a standard form, e.g. yyyy-mm-dd.</a:documentation>
<ref name="data.temporal.iso" />
</attribute>
<empty />
</element>
</define>
<define name="ref">
<element name="ref">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(reference)
defines a reference to another location, possibly modified by additional text or
comment. [3.6. Simple Links and Cross-References 16.1. Links]</a:documentation>
<ref name="macro.paraContent" />
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-ref-refAtts-constraint-report-6">
<rule context="tei:ref">
<report test="@target and @cRef">Only one of the attributes @target' and @cRef' may
be supplied on <name />
</report>
</rule>
</pattern>
<ref name="att.global.attributes" />
<ref name="att.pointing.attributes" />
<ref name="att.internetMedia.attributes" />
<ref name="att.typed.attributes" />
<ref name="att.declaring.attributes" />
<ref name="att.cReferencing.attributes" />
<empty />
</element>
</define>
<define name="list">
<element name="list">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any
sequence of items organized as a list. [3.7. Lists]</a:documentation>
<group>
<zeroOrMore>
<choice>
<ref name="model.divTop" />
<ref name="model.global" />
</choice>
</zeroOrMore>
<choice>
<oneOrMore>
<group>
<ref name="item" />
<zeroOrMore>
<ref name="model.global" />
</zeroOrMore>
</group>
</oneOrMore>
<group>
<oneOrMore>
<group>
<ref name="label" />
<zeroOrMore>
<ref name="model.global" />
</zeroOrMore>
<ref name="item" />
<zeroOrMore>
<ref name="model.global" />
</zeroOrMore>
</group>
</oneOrMore>
</group>
</choice>
<zeroOrMore>
<group>
<ref name="model.divBottom" />
<zeroOrMore>
<ref name="model.global" />
</zeroOrMore>
</group>
</zeroOrMore>
</group>
<pattern xmlns="http://purl.oclc.org/dsdl/schematron"
id="teiODD_LAUDATIOCorpus_S8-list-gloss-list-must-have-labels-constraint-rule-7">
<sch:rule xmlns:sch="http://purl.oclc.org/dsdl/schematron"
xmlns="http://www.tei-c.org/ns/1.0"
context="tei:list[@type='gloss']">
<sch:assert test="tei:label">The content of a "gloss" list should include a sequence
of one or more pairs of a label element followed by an item element</sch:assert>
</sch:rule>
</pattern>
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<ref name="att.typed.attribute.subtype" />
<attribute name="type">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">List of
documents in the corpus with corresponding references.</a:documentation>
<choice>
<value>CorpusDocument</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</attribute>
<empty />
</element>
</define>
<define name="item">
<element name="item">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains one
component of a list. [3.7. Lists 2.6. The Revision Description]</a:documentation>
<ref name="macro.specialPara" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<attribute name="n">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number)
gives a number (or other label) for an element, which is not necessarily unique
within the document.</a:documentation>
<data type="string" />
</attribute>
<attribute name="corresp">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<text />
</attribute>
<empty />
</element>
</define>
<define name="label">
<element name="label">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains any
label or heading used to identify part of a text, typically but not exclusively in a
list or glossary. [3.7. Lists]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.global.attributes" />
<ref name="att.typed.attributes" />
<ref name="att.placement.attributes" />
<ref name="att.written.attributes" />
<empty />
</element>
</define>
<define name="author">
<element name="author">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">in a
bibliographic reference, contains the name(s) of an author, personal or corporate, of a
work; for example in the same form as that provided by a recognized bibliographic name
authority. [3.11.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<optional>
<attribute name="n">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number)
gives a number (or other label) for an element, which is not necessarily unique
within the document.
Sample values include: </a:documentation>
<data type="string" />
</attribute>
</optional>
<attribute name="role">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">may be
used to specify further information about the entity referenced by this name in the
form of a set of whitespace-separated values, for example the occupation of a person,
or the status of a place.</a:documentation>
<list>
<oneOrMore>
<choice>
<value>Annotator</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>Infrastructure</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>Transcription</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</oneOrMore>
</list>
</attribute>
<empty />
</element>
</define>
<define name="editor">
<element name="editor">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a
secondary statement of responsibility for a bibliographic item, for example the name of
an individual, institution or organization, (or of several such) acting as editor,
compiler, translator, etc. [3.11.2.2. Titles, Authors, and Editors]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<optional>
<attribute name="n">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(number)
gives a number (or other label) for an element, which is not necessarily unique
within the document.
Sample values include: </a:documentation>
<data type="string" />
</attribute>
</optional>
<attribute name="role">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">may be
used to specify further information about the entity referenced by this name in the
form of a set of whitespace-separated values, for example the occupation of a person,
or the status of a place.</a:documentation>
<list>
<oneOrMore>
<choice>
<value>CorpusEditor</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</oneOrMore>
</list>
</attribute>
<empty />
</element>
</define>
<define name="respStmt">
<element name="respStmt">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(statement
of responsibility) supplies a statement of responsibility for the intellectual content
of a text, edition, recording, or series, where the specialized elements for authors,
editors, etc. do not suffice or do not apply. May also be used to encode information
about individuals or organizations which have played a role in the production or
distribution of a bibliographic work. [3.11.2.2. Titles, Authors, and Editors 2.2.1. The
Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement]</a:documentation>
<group>
<choice>
<group>
<oneOrMore>
<ref name="resp" />
</oneOrMore>
<oneOrMore>
<ref name="model.nameLike.agent" />
</oneOrMore>
</group>
<group>
<oneOrMore>
<ref name="model.nameLike.agent" />
</oneOrMore>
<oneOrMore>
<ref name="resp" />
</oneOrMore>
</group>
</choice>
</group>
<ref name="att.global.attributes" />
<ref name="att.canonical.attributes" />
<empty />
</element>
</define>
<define name="resp">
<element name="resp">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(responsibility)
contains a phrase describing the nature of a person's intellectual responsibility, or an
organization's role in the production or distribution of a work. [3.11.2.2. Titles,
Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The
Series Statement]</a:documentation>
<ref name="macro.phraseSeq.limited" />
<ref name="att.global.attributes" />
<ref name="att.canonical.attributes" />
<ref name="att.datable.attributes" />
<empty />
</element>
</define>
<define name="title">
<element name="title">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a
title for any kind of work. [3.11.2.2. Titles, Authors, and Editors 2.2.1. The Title
Statement 2.2.5. The Series Statement]</a:documentation>
<ref name="macro.paraContent" />
<ref name="att.global.attribute.xmlbase" />
<ref name="att.global.attribute.xmlspace" />
<ref name="att.global.rendition.attribute.rend" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<ref name="att.datable.attributes" />
<empty />
</element>
</define>
<define name="teiHeader">
<element name="teiHeader">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI header)
supplies descriptive and declarative metadata associated with a digital resource or set
of resources. [2.1.1. The TEI Header and Its Components 15.1. Varieties of Composite
Text]</a:documentation>
<group>
<ref name="fileDesc" />
<zeroOrMore>
<ref name="model.teiHeaderPart" />
</zeroOrMore>
<optional>
<ref name="revisionDesc" />
</optional>
</group>
<ref name="att.global.attributes" />
<attribute name="type">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Identify
the type of metadata schema: CorpusHeader, DocumentHeader,
PreparationHeader) </a:documentation>
<choice>
<value>CorpusHeader</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</attribute>
<empty />
</element>
</define>
<define name="fileDesc">
<element name="fileDesc">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(file
description) [2.2. The File Description 2.1.1. The TEI Header and Its Components]</a:documentation>
<group>
<group>
<ref name="titleStmt" />
<optional>
<ref name="extent" />
</optional>
<ref name="publicationStmt" />
</group>
<oneOrMore>
<ref name="sourceDesc" />
</oneOrMore>
</group>
<ref name="att.global.attribute.xmlid" />
<ref name="att.global.attribute.xmllang" />
<ref name="att.global.attribute.xmlspace" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="titleStmt">
<element name="titleStmt">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(title
statement) groups information about the title of a work and those responsible for its
content. [2.2.1. The Title Statement 2.2. The File Description]</a:documentation>
<group>
<oneOrMore>
<ref name="title" />
</oneOrMore>
<zeroOrMore>
<ref name="model.respLike" />
</zeroOrMore>
</group>
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="extent">
<element name="extent">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes
the approximate size of a text stored on some carrier medium or of some other object,
digital or non-digital, specified in any convenient units. [2.2.3. Type and Extent of
File 2.2. The File Description 3.11.2.4. Imprint, Size of a Document, and Reprint
Information 10.7.1. Object Description]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<ref name="att.typed.attribute.subtype" />
<attribute name="type">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Indicate
the type of measure you use to inform about the size of the
corpus.) characterizes the element in some sense, using any convenient classification
scheme or typology.</a:documentation>
<choice>
<value>Tokens</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(The
size of the corpus is given in token.) </a:documentation>
<value>Words</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(The
size of the corpus is given in words.) </a:documentation>
</choice>
</attribute>
<empty />
</element>
</define>
<define name="publicationStmt">
<element name="publicationStmt">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication
statement) groups information concerning the publication or distribution of an
electronic or other text. [2.2.4. Publication, Distribution, Licensing, etc. 2.2. The
File Description]</a:documentation>
<choice>
<oneOrMore>
<group>
<ref name="model.publicationStmtPart.agency" />
<zeroOrMore>
<ref name="model.publicationStmtPart.detail" />
</zeroOrMore>
</group>
</oneOrMore>
<oneOrMore>
<ref name="model.pLike" />
</oneOrMore>
</choice>
<ref name="att.global.attributes" />
<empty />
</element>
</define>
<define name="authority">
<element name="authority">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(release
authority) supplies the name of a person or other agency responsible for making a work
available, other than a publisher or distributor. [2.2.4. Publication, Distribution,
Licensing, etc.]</a:documentation>
<ref name="macro.phraseSeq.limited" />
<ref name="att.global.attributes" />
<ref name="att.canonical.attributes" />
<empty />
</element>
</define>
<define name="idno">
<element name="idno">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier)
supplies any form of identifier used to identify some object, such as a bibliographic
item, a person, a title, an organization, etc. in a standardized way. [2.2.4.
Publication, Distribution, Licensing, etc. 2.2.5. The Series Statement 3.11.2.4.
Imprint, Size of a Document, and Reprint Information]</a:documentation>
<zeroOrMore>
<choice>
<text />
<ref name="model.gLike" />
<ref name="idno" />
</choice>
</zeroOrMore>
<ref name="att.global.attributes" />
<ref name="att.sortable.attributes" />
<ref name="att.datable.attributes" />
<ref name="att.typed.attribute.subtype" />
<optional>
<attribute name="type">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">categorizes
the identifier, for example as an ISBN, Social Security number, etc.
Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7]
OCLC</a:documentation>
<choice>
<value>ISBN</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">International
Standard Book Number: a 13- or (if assigned prior to 2007) 10-digit identifying
number assigned by the publishing industry to a published book or similar item,
registered with the International ISBN Agency.</a:documentation>
<value>ISSN</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">International
Standard Serial Number: an eight-digit number to uniquely identify a serial
publication.</a:documentation>
<value>DOI</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Digital
Object Identifier: a unique string of letters and numbers assigned to an
electronic document.</a:documentation>
<value>URI</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">Uniform
Resource Identifier: a string of characters to uniquely identify a resource
which usually contains indication of the means of accessing that resource, the
name of its host, and its filepath.</a:documentation>
<value>VIAF</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">A
data number in the Virtual Internet Authority File assigned to link different
names in catalogs around the world for the same entity.</a:documentation>
<value>ESTC</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">English
Short-Title Catalogue number: an identifying number assigned to a document in
English printed in the British Isles or North America before 1801.</a:documentation>
<value>OCLC</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">OCLC
control number (record number) for the union catalog record in WorldCat, a
union catalog for member libraries in the Online Computer Library Center global
cooperative.</a:documentation>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</choice>
</attribute>
</optional>
<empty />
</element>
</define>
<define name="availability">
<element name="availability">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
information about the availability of a text, for example any restrictions on its use or
distribution, its copyright status, any licence applying to it, etc. [2.2.4.
Publication, Distribution, Licensing, etc.]</a:documentation>
<oneOrMore>
<choice>
<ref name="model.availabilityPart" />
<ref name="model.pLike" />
</choice>
</oneOrMore>
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<attribute name="status">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
a code identifying the current availability of the text.</a:documentation>
<choice>
<value>free</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the
text is freely available.</a:documentation>
<value>unknown</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the
status of the text is unknown.</a:documentation>
<value>restricted</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">the
text is not freely available.</a:documentation>
</choice>
</attribute>
<empty />
</element>
</define>
<define name="licence">
<element name="licence">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains
information about a licence or other legal agreement applicable to the text. [2.2.4.
Publication, Distribution, Licensing, etc.]</a:documentation>
<ref name="macro.specialPara" />
<ref name="att.pointing.attribute.target" />
<empty />
</element>
</define>
<define name="sourceDesc">
<element name="sourceDesc">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(source
description) describes the source from which an electronic text was derived or
generated, typically a bibliographic description in the case of a digitized text, or a
phrase such as "born digital" for a text which has no previous existence. [2.2.7. The
Source Description]</a:documentation>
<choice>
<oneOrMore>
<ref name="model.pLike" />
</oneOrMore>
<oneOrMore>
<choice>
<ref name="model.biblLike" />
<ref name="model.sourceDescPart" />
<ref name="model.listLike" />
</choice>
</oneOrMore>
</choice>
<ref name="att.global.attributes" />
<ref name="att.declarable.attributes" />
<empty />
</element>
</define>
<define name="encodingDesc">
<element name="encodingDesc">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(encoding
description) encoding description contains metadata about the formats and annotations in
the corpus. The element encodingDesc refers to the different formats in the corpus. For
each format, a single encodingDesc contains information the annotation keys and values.
[2.3. The Encoding Description 2.1.1. The TEI Header and Its Components]</a:documentation>
<oneOrMore>
<choice>
<ref name="model.encodingDescPart" />
<ref name="model.pLike" />
</choice>
</oneOrMore>
<ref name="att.global.attributes" />
<empty />
</element>
</define>
<define name="projectDesc">
<element name="projectDesc">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(project
description) describes in detail the aim or purpose for which an electronic file was
encoded, together with any other relevant information concerning the process by which it
was assembled or collected. [2.3.1. The Project Description 2.3. The Encoding
Description 15.3.2. Declarable Elements]</a:documentation>
<oneOrMore>
<ref name="model.pLike" />
</oneOrMore>
<ref name="att.global.attributes" />
<ref name="att.declarable.attributes" />
<empty />
</element>
</define>
<define name="editorialDecl">
<element name="editorialDecl">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(editorial
practice declaration) provides details of editorial principles and practices applied
during the encoding of a text. [2.3.3. The Editorial Practices Declaration 2.3. The
Encoding Description 15.3.2. Declarable Elements]</a:documentation>
<oneOrMore>
<choice>
<ref name="model.pLike" />
<ref name="model.editorialDeclPart" />
</choice>
</oneOrMore>
<ref name="att.global.attribute.n" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="normalization">
<element name="normalization">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the extent of normalization or regularization of the original source carried out in
converting it to electronic form. [2.3.3. The Editorial Practices Declaration 15.3.2.
Declarable Elements]</a:documentation>
<oneOrMore>
<ref name="model.pLike" />
</oneOrMore>
<ref name="att.global.attribute.n" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<empty />
</element>
</define>
<define name="segmentation">
<element name="segmentation">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">describes
the principles according to which the text has been segmented, for example into
sentences, tone-units, graphemic strata, etc. [2.3.3. The Editorial Practices
Declaration 15.3.2. Declarable Elements]</a:documentation>
<oneOrMore>
<ref name="model.pLike" />
</oneOrMore>
<ref name="att.global.attribute.n" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="tagsDecl">
<element name="tagsDecl">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(tagging
declaration) provides detailed information about the tagging applied to a document.
[2.3.4. The Tagging Declaration 2.3. The Encoding Description]</a:documentation>
<group>
<zeroOrMore>
<ref name="namespace" />
</zeroOrMore>
</group>
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<optional>
<attribute name="partial">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
whether the element types listed exhaustively include all those found within text,
or represent only a subset.</a:documentation>
<data type="boolean" />
</attribute>
</optional>
<empty />
</element>
</define>
<define name="tagUsage">
<element name="tagUsage">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents
the usage of a specific element within a specified document. [2.3.4. The Tagging
Declaration]</a:documentation>
<ref name="macro.limitedContent" />
<ref name="att.global.attributes" />
<attribute name="gi">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(generic
identifier) specifies the name (generic identifier) of the element indicated by the
tag, within the namespace indicated by the parent namespace element.</a:documentation>
<ref name="data.text" />
</attribute>
<optional>
<attribute name="occurs">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the number of occurrences of this element within the text.</a:documentation>
<data type="nonNegativeInteger" />
</attribute>
</optional>
<optional>
<attribute name="withId">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(with
unique identifier) specifies the number of occurrences of this element within the
text which bear a distinct value for the global xml:id attribute.</a:documentation>
<data type="nonNegativeInteger" />
</attribute>
</optional>
<empty />
</element>
</define>
<define name="namespace">
<element name="namespace">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies the
formal name of the namespace to which the elements documented by its children belong.
[2.3.4. The Tagging Declaration]</a:documentation>
<oneOrMore>
<ref name="tagUsage" />
</oneOrMore>
<ref name="att.global.attribute.xmlid" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<attribute name="rend">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(rendition)
indicates how the element in question was rendered or presented in the source text.</a:documentation>
<list>
<oneOrMore>
<choice>
<value>Lexical</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>Syntactic</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>Morphological</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>MarkUp</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>Graphical</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>Transcription</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>Other</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>Meta</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</oneOrMore>
</list>
</attribute>
<optional>
<attribute name="corresp">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<text />
</attribute>
</optional>
<attribute name="name">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the full formal name of the namespace concerned.</a:documentation>
<ref name="data.text" />
</attribute>
<empty />
</element>
</define>
<define name="appInfo">
<element name="appInfo">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(application
information) records information about an application which has edited the TEI file.
[2.3.10. The Application Information Element]</a:documentation>
<oneOrMore>
<ref name="model.applicationLike" />
</oneOrMore>
<ref name="att.global.attributes" />
<empty />
</element>
</define>
<define name="application">
<element name="application">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">provides
information about an application which has acted upon the document. [2.3.10. The
Application Information Element]</a:documentation>
<group>
<oneOrMore>
<ref name="model.labelLike" />
</oneOrMore>
<choice>
<zeroOrMore>
<ref name="model.ptrLike" />
</zeroOrMore>
<zeroOrMore>
<ref name="model.pLike" />
</zeroOrMore>
</choice>
</group>
<ref name="att.global.attributes" />
<ref name="att.typed.attributes" />
<ref name="att.datable.attributes" />
<attribute name="ident">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
an identifier for the application, independent of its version number or display name.</a:documentation>
<data type="Name" />
</attribute>
<attribute name="version">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
a version number for the application, independent of its identifier or display name.</a:documentation>
<data type="token">
<param name="pattern">[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}</param>
</data>
</attribute>
<empty />
</element>
</define>
<define name="profileDesc">
<element name="profileDesc">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(text-profile
description) The langUsage defines the language(s) in the corpus. [2.4. The Profile
Description 2.1.1. The TEI Header and Its Components]</a:documentation>
<zeroOrMore>
<ref name="model.profileDescPart" />
</zeroOrMore>
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="langUsage">
<element name="langUsage">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(language
usage) describes the languages, sublanguages, registers, dialects, etc. represented
within a text. [2.4.2. Language Usage 2.4. The Profile Description 15.3.2. Declarable
Elements]</a:documentation>
<choice>
<oneOrMore>
<ref name="model.pLike" />
</oneOrMore>
<oneOrMore>
<ref name="language" />
</oneOrMore>
</choice>
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="language">
<element name="language">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes
a single language or sublanguage used within a text. [2.4.2. Language Usage]</a:documentation>
<ref name="macro.phraseSeq.limited" />
<ref name="att.global.attribute.n" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<attribute name="style">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains
an expression in some formal style definition language which defines the rendering or
presentation used for this element in the source text</a:documentation>
<choice>
<value>Language</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>LanguageType</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
<value>LanguageArea</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</attribute>
<attribute name="ident">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(identifier)
Supplies a language code constructed as defined in BCP 47 which is used to identify
the language documented by this element, and which is referenced by the global
xml:lang attribute.</a:documentation>
<choice>
<data type="language" />
<choice>
<value />
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" />
</choice>
</choice>
</attribute>
<empty />
</element>
</define>
<define name="revisionDesc">
<element name="revisionDesc">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(revision
description) summarizes the revision history for a file. [2.6. The Revision Description
2.1.1. The TEI Header and Its Components]</a:documentation>
<choice>
<ref name="list" />
<oneOrMore>
<ref name="change" />
</oneOrMore>
</choice>
<ref name="att.global.attribute.n" />
<ref name="att.global.attribute.xmlbase" />
<ref name="att.global.attribute.xmlspace" />
<ref name="att.global.rendition.attribute.rend" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="change">
<element name="change">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">documents a
change or set of changes made during the production of a source document, or during the
revision of an electronic file. [2.6. The Revision Description 2.4.1. Creation 11.7.
Identifying Changes and Revisions]</a:documentation>
<ref name="macro.specialPara" />
<ref name="att.ascribed.attributes" />
<ref name="att.datable.attributes" />
<ref name="att.docStatus.attributes" />
<ref name="att.global.attributes" />
<ref name="att.typed.attributes" />
<optional>
<attribute name="target">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">points
to one or more elements that belong to this change.</a:documentation>
<list>
<oneOrMore>
<data type="anyURI" />
</oneOrMore>
</list>
</attribute>
</optional>
<empty />
</element>
</define>
<define name="TEI">
<element name="TEI">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(TEI
document) contains a single TEI-conformant document, combining a single TEI header with
one or more members of the model.resourceLike class. Multiple TEI elements may be
combined to form a teiCorpus element. [4. Default Text Structure 15.1. Varieties of
Composite Text]</a:documentation>
<group>
<ref name="teiHeader" />
<oneOrMore>
<ref name="model.resourceLike" />
</oneOrMore>
</group>
<ns xmlns="http://purl.oclc.org/dsdl/schematron"
prefix="tei"
uri="http://www.tei-c.org/ns/1.0" />
<ns xmlns="http://purl.oclc.org/dsdl/schematron"
prefix="xs"
uri="http://www.w3.org/2001/XMLSchema" />
<ns xmlns="http://purl.oclc.org/dsdl/schematron"
prefix="rng"
uri="http://relaxng.org/ns/structure/1.0" />
<ref name="att.global.attributes" />
<ref name="att.typed.attributes" />
<optional>
<attribute name="version">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the version number of the TEI Guidelines against which this document is valid.</a:documentation>
<data type="token">
<param name="pattern">[\d]+(\.[\d]+){0,2}</param>
</data>
</attribute>
</optional>
<empty />
</element>
</define>
<define name="text">
<element name="text">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a
single text of any kind, whether unitary or composite, for example a poem or drama, a
collection of essays, a novel, a dictionary, or a corpus sample. [4. Default Text
Structure 15.1. Varieties of Composite Text]</a:documentation>
<group>
<zeroOrMore>
<ref name="model.global" />
</zeroOrMore>
<empty />
<zeroOrMore>
<ref name="model.global" />
</zeroOrMore>
</group>
<ref name="att.global.attributes" />
<ref name="att.declaring.attributes" />
<ref name="att.typed.attributes" />
<ref name="att.written.attributes" />
<empty />
</element>
</define>
<define name="att.datable.custom.attributes">
<ref name="att.datable.custom.attribute.when-custom" />
<ref name="att.datable.custom.attribute.notBefore-custom" />
<ref name="att.datable.custom.attribute.notAfter-custom" />
<ref name="att.datable.custom.attribute.from-custom" />
<ref name="att.datable.custom.attribute.to-custom" />
<ref name="att.datable.custom.attribute.datingPoint" />
<ref name="att.datable.custom.attribute.datingMethod" />
</define>
<define name="att.datable.custom.attribute.when-custom">
<optional>
<attribute name="when-custom">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
the value of a date or time in some custom standard form.</a:documentation>
<list>
<oneOrMore>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.datable.custom.attribute.notBefore-custom">
<optional>
<attribute name="notBefore-custom">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the earliest possible date for the event in some custom standard form.</a:documentation>
<list>
<oneOrMore>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.datable.custom.attribute.notAfter-custom">
<optional>
<attribute name="notAfter-custom">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the latest possible date for the event in some custom standard form.</a:documentation>
<list>
<oneOrMore>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.datable.custom.attribute.from-custom">
<optional>
<attribute name="from-custom">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the starting point of the period in some custom standard form.</a:documentation>
<list>
<oneOrMore>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.datable.custom.attribute.to-custom">
<optional>
<attribute name="to-custom">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the ending point of the period in some custom standard form.</a:documentation>
<list>
<oneOrMore>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</oneOrMore>
</list>
</attribute>
</optional>
</define>
<define name="att.datable.custom.attribute.datingPoint">
<optional>
<attribute name="datingPoint">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
a pointer to some location defining a named point in time with reference to which the
datable item is understood to have occurred</a:documentation>
<data type="anyURI" />
</attribute>
</optional>
</define>
<define name="att.datable.custom.attribute.datingMethod">
<optional>
<attribute name="datingMethod">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
a pointer to a calendar element or other means of interpreting the values of the
custom dating attributes.</a:documentation>
<data type="anyURI" />
</attribute>
</optional>
</define>
<define name="model.persNamePart">
<choice>
<ref name="surname" />
<ref name="forename" />
</choice>
</define>
<define name="model.persNamePart_alternation">
<choice>
<ref name="surname" />
<ref name="forename" />
</choice>
</define>
<define name="model.persNamePart_sequence">
<ref name="surname" />
<ref name="forename" />
</define>
<define name="model.persNamePart_sequenceOptional">
<optional>
<ref name="surname" />
</optional>
<optional>
<ref name="forename" />
</optional>
</define>
<define name="model.persNamePart_sequenceOptionalRepeatable">
<zeroOrMore>
<ref name="surname" />
</zeroOrMore>
<zeroOrMore>
<ref name="forename" />
</zeroOrMore>
</define>
<define name="model.persNamePart_sequenceRepeatable">
<oneOrMore>
<ref name="surname" />
</oneOrMore>
<oneOrMore>
<ref name="forename" />
</oneOrMore>
</define>
<define name="att.datable.iso.attributes">
<ref name="att.datable.iso.attribute.when-iso" />
<ref name="att.datable.iso.attribute.notBefore-iso" />
<ref name="att.datable.iso.attribute.notAfter-iso" />
<ref name="att.datable.iso.attribute.from-iso" />
<ref name="att.datable.iso.attribute.to-iso" />
</define>
<define name="att.datable.iso.attribute.when-iso">
<optional>
<attribute name="when-iso">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">supplies
the value of a date or time in a standard form.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
<data type="token">
<param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
</data>
</choice>
</attribute>
</optional>
</define>
<define name="att.datable.iso.attribute.notBefore-iso">
<optional>
<attribute name="notBefore-iso">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the earliest possible date for the event in standard form, e.g. yyyy-mm-dd.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
<data type="token">
<param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
</data>
</choice>
</attribute>
</optional>
</define>
<define name="att.datable.iso.attribute.notAfter-iso">
<optional>
<attribute name="notAfter-iso">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">specifies
the latest possible date for the event in standard form, e.g. yyyy-mm-dd.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
<data type="token">
<param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
</data>
</choice>
</attribute>
</optional>
</define>
<define name="att.datable.iso.attribute.from-iso">
<optional>
<attribute name="from-iso">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the starting point of the period in standard form.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
<data type="token">
<param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
</data>
</choice>
</attribute>
</optional>
</define>
<define name="att.datable.iso.attribute.to-iso">
<optional>
<attribute name="to-iso">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">indicates
the ending point of the period in standard form.</a:documentation>
<choice>
<data type="date" />
<data type="gYear" />
<data type="gMonth" />
<data type="gDay" />
<data type="gYearMonth" />
<data type="gMonthDay" />
<data type="time" />
<data type="dateTime" />
<data type="token">
<param name="pattern">[0-9.,DHMPRSTWYZ/:+\-]+</param>
</data>
</choice>
</attribute>
</optional>
</define>
<define name="orgName">
<element name="orgName">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(organization
name) contains an organizational name. [13.2.2. Organizational Names]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.global.attribute.n" />
<ref name="att.typed.attribute.type" />
<empty />
</element>
</define>
<define name="persName">
<element name="persName">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(personal
name) contains a proper noun or proper-noun phrase referring to a person, possibly
including one or more of the person's forenames, surnames, honorifics, added names, etc.
[13.2.1. Personal Names]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.canonical.attribute.ref" />
<optional>
<attribute name="key">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Indicate
the type of external digital identifier to a person.) provides an
externally-defined means of identifying the entity (or entities) being named,
using a coded value of some kind.
Suggested values include: 1] gnd(Unique identifier provided by ORCID.) ; 2]
orcid(Unique identifier provided by Gemeinsame Normdatei (GND).) </a:documentation>
<choice>
<value>gnd</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Unique
identifier provided by ORCID.) </a:documentation>
<value>orcid</value>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(Unique
identifier provided by Gemeinsame Normdatei (GND).) </a:documentation>
<data type="string" />
</choice>
</attribute>
</optional>
<empty />
</element>
</define>
<define name="surname">
<element name="surname">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a
family (inherited) name, as opposed to a given, baptismal, or nick name. [13.2.1.
Personal Names]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="forename">
<element name="forename">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains a
forename, given or baptismal name. [13.2.1. Personal Names]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.global.responsibility.attribute.cert" />
<ref name="att.global.responsibility.attribute.resp" />
<ref name="att.global.source.attribute.source" />
<empty />
</element>
</define>
<define name="affiliation">
<element name="affiliation">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">contains an
informal description of a person's present or past affiliation with some organization,
for example an employer or sponsor. [15.2.2. The Participant Description]</a:documentation>
<ref name="macro.phraseSeq" />
<ref name="att.typed.attribute.subtype" />
<optional>
<attribute name="type">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">characterizes
the element in some sense, using any convenient classification scheme or typology.
Sample values include: 1] sponsor; 2] recommend; 3] discredit; 4] pledged</a:documentation>
<data type="token">
<param name="pattern">(\p{L}|\p{N}|\p{P}|\p{S})+</param>
</data>
</attribute>
</optional>
<empty />
</element>
</define>
<start>
<ref name="TEI" />
</start>
</grammar>
The following attributes are present in ES, but not derived from corpus upload (i.e. not specified by data provider):
laudatio_corpus_gitlab_idlaudatio_corpus_idpublication_status(boolean)is_latest_publication(boolean)
The following symbols are used in the descriptions to denote special attributes:
- 🤖 = Automatically generated attribute (i.e. not specified by data provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://laudatio-repository.org/schemas/corpus.schema.json",
"title": "Corpus",
"description": "Corpus metadata for LAUDATIO",
"type": "object",
"properties": {
"_id": {
"description": "🤖 ES-internal identifier for this corpus. Included here as a helper if another attributes contains ID references.",
"type": "string"
},
"corpus_title": {
"description": "The title of the corpus that will be shown in LAUDATIO.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 1
},
"publication_version": {
"description": "🤖 The current version number of this corpus (shown in LAUDATIO).",
"type": "string"
},
"corpus_editor_forename": {
"description": "The list of editor forenames of this corpus.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_editor_surname": {
"description": "The list of editor surnames of this corpus.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_editor_affiliation_department": {
"description": "The list of departmental affiliations of the editors of this corpus.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_editor_affiliation_institution": {
"description": "The list of institutional affiliations of the editors of this corpus.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_size_type": {
"description": "The counting measure that determines the size of the corpus. Can either be 'Tokens' or 'Words'.",
"type": "array",
"items": {
"type": "string",
"enum": [
"Tokens",
"Words"
]
},
"minItems": 1,
"maxItems": 1
},
"corpus_size_value": {
"description": "The count value for the size of the corpus.",
"type": "array",
"items": {
"type": "integer",
"minimum": 0
},
"minItems": 1,
"maxItems": 1
},
"corpus_publication_publisher": {
"description": "The publisher of the corpus.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 1
},
"corpus_publication_license": {
"description": "The link to the corpus licence (i.e. deed file for CC).",
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"minItems": 1,
"maxItems": 1
},
"corpus_publication_license_description": {
"description": "A short description on how you license the corpus.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 1
},
"corpus_publication_publication_date": {
"description": "The publication dates of all corpus versions up to and including this one.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_publication_publication_description": {
"description": "A list of short descriptions for all corpus versions (e.g. what has changed) up to and including this one.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_version": {
"description": "The version numbers of all corpus versions up to and including this one.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_version_publishing_date": {
"description": "The publishing date of this corpus version.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 1
},
"corpus_version_description": {
"description": "A description of the current corpus version.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 1
},
"corpus_documents": {
"description": "A list of document identifiers. These are used to later check if all document metadata has been uploaded or not.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_languages_style": {
"description": "Array that needs to contain 'Language', 'LanguageArea', and 'LanguageType' in this exact order.",
"type": "array",
"items": {
"type": "string",
"enum": [
"Language",
"LanguageArea",
"LanguageType"
]
},
"minItems": 3,
"maxItems": 3
},
"corpus_languages_language": {
"description": "Languages in here must correspond to the 'Language', 'LanguageArea', and 'LanguageType' fields from corpus_languages_style. If a value cannot be given, please enter 'NA'. Adding less than three elements leads to blank fields in LAUDATIO (e.g. 'Middle High German' and 'Southern dialects' will necessarily map to 'Language' and 'LanguageArea', so 'LanguageType' will be empty).",
"type": "array",
"items": {
"type": "string"
},
"maxItems": 3
},
"corpus_languages_iso_identifier": {
"description": "[Language ISO 639-1 identifers](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) in here must correspond to the 'Language', 'LanguageArea', and 'LanguageType' fields from corpus_languages_style.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 3,
"maxItems": 3
},
"annotation_encoding_format": {
"description": "The format names (e.g. EXCEL, ANNIS, TEI) in which the corpus is provided.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"annotation_encoding_version": {
"description": "The versions of the tools used to create the formats (e.g. EXCEL, ANNIS, TEI) in which the corpus is provided.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"annotation_encoding_tool": {
"description": "The tools used to create the formats (e.g. EXCEL, ANNIS, TEI) in which the corpus is provided.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"annotation_encoding_segmentation": {
"description": "Descriptions of the data was segmented. Must correspond to each format (e.g. EXCEL, ANNIS, TEI) given in annotation_encoding_format.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_encoding_project_homepage": {
"description": "Link to the project homepage. Must correspond to each format (e.g. EXCEL, ANNIS, TEI) given in annotation_encoding_format.",
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"minItems": 1
},
"corpus_encoding_project_description": {
"description": "The corpus description. Must correspond to each format (e.g. EXCEL, ANNIS, TEI) given in annotation_encoding_format.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"corpus_annotator_forename": {
"description": "The list of annotator forenames of this corpus (optional).",
"type": "array",
"items": {
"type": "string"
}
},
"corpus_annotator_surname": {
"description": "The list of annotator surnames of this corpus (optional).",
"type": "array",
"items": {
"type": "string"
}
},
"corpus_annotator_affiliation_department": {
"description": "The list of departmental affiliations of the annotators of this corpus (optional).",
"type": "array",
"items": {
"type": "string"
}
},
"corpus_annotator_affiliation_institution": {
"description": "The list of institutional affiliations of the annotators of this corpus (optional).",
"type": "array",
"items": {
"type": "string"
}
},
"corpus_author_infrastructure_forename": {
"description": "The list of forenames of the people responsible for the infrastructure of this corpus (optional).",
"type": "array",
"items": {
"type": "string"
}
},
"corpus_author_infrastructure_surname": {
"description": "The list of surnames of the people responsible for the infrastructure of this corpus (optional).",
"type": "array",
"items": {
"type": "string"
}
},
"corpus_infrastructure_affiliation_department": {
"description": "The list of departmental affiliations of the people responsible for the infrastructure of this corpus (optional).",
"type": "array",
"items": {
"type": "string"
}
},
"corpus_infrastructure_affiliation_institution": {
"description": "The list of institutional affiliations of the people responsible for the infrastructure of this corpus (optional).",
"type": "array",
"items": {
"type": "string"
}
},
"corpus_document_genre": {
"description": "🤖 The list of genres for the whole corpus. Derived from all document genres.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
},
"required": [
"corpus_title",
"publication_version",
"corpus_editor_forename",
"corpus_editor_surname",
"corpus_editor_affiliation_department",
"corpus_editor_affiliation_institution",
"corpus_size_type",
"corpus_size_value",
"corpus_publication_publisher",
"corpus_publication_license",
"corpus_publication_license_description",
"corpus_publication_publication_date",
"corpus_publication_publication_description",
"corpus_version",
"corpus_version_publishing_date",
"corpus_version_description",
"corpus_documents",
"corpus_languages_style",
"corpus_languages_language",
"corpus_languages_iso_identifier",
"annotation_encoding_format",
"annotation_encoding_version",
"annotation_encoding_tool",
"annotation_encoding_segmentation",
"corpus_encoding_project_homepage",
"corpus_encoding_project_description"
],
"dependentRequired": {
"corpus_annotator_forename": [
"corpus_annotator_surname",
"corpus_annotator_affiliation_department",
"corpus_annotator_affiliation_institution"
],
"corpus_annotator_surname": [
"corpus_annotator_forename",
"corpus_annotator_affiliation_department",
"corpus_annotator_affiliation_institution"
],
"corpus_annotator_affiliation_department": [
"corpus_annotator_forename",
"corpus_annotator_surname",
"corpus_annotator_affiliation_institution"
],
"corpus_annotator_affiliation_institution": [
"corpus_annotator_forename",
"corpus_annotator_surname",
"corpus_annotator_affiliation_department"
],
"corpus_author_infrastructure_forename": [
"corpus_author_infrastructure_surname",
"corpus_infrastructure_affiliation_department",
"corpus_infrastructure_affiliation_institution"
],
"corpus_author_infrastructure_surname": [
"corpus_author_infrastructure_forename",
"corpus_infrastructure_affiliation_department",
"corpus_infrastructure_affiliation_institution"
],
"corpus_infrastructure_affiliation_department": [
"corpus_author_infrastructure_forename",
"corpus_author_infrastructure_surname",
"corpus_infrastructure_affiliation_institution"
],
"corpus_infrastructure_affiliation_institution": [
"corpus_author_infrastructure_forename",
"corpus_author_infrastructure_surname",
"corpus_infrastructure_affiliation_department"
]
}
}