Syriac Persons, Events, and Relations: A TEI P5 Customization and Encoding Guidelines for Modeling Factoid Prosopography, 2025, https://github.com/srophe/spear/blob/main/documentation/Schema/SPEAR.odd.
SPEAR is a born-digital prosopography using a methodology focused on the encoding of ‘factoids’, discussed below at 1.3.1. It relies on and integrates with the Syriaca.org Linked Open Data (LOD) knowledge graph. A SPEAR XML file does not trigger error messages when validated against the TEI P5 All schema. Nevertheless, the SPEAR data model, the encoding process, and the required integration with other Syriaca.org data sets require a highly constrained customization of the TEI.
It should be noted that these guidelines assume a basic familiarity with the Text Encoding Initiative (TEI) standard of XML. The user who is unfamiliar with the TEI Guidelines will want to study them before trying to use these encoding guidelines. There are also tutorials, exercises, and other tools for learning the TEI available at TEI by Example.
If you are familiar with Appendix C Elements of the TEI Guidelines, you will notice that Section 2.1 below contains discussion of individual TEI elements and their customization for SPEAR. These element discussions show the customization of the following sections: Attributes, Contained by, May contain, Note, and Example.
Please note that the following sections of the TEI have received almost no customization: Model classes, Attribute classes, Macros, and Datatypes.
Please note as well that the prose documentation that follows here in section 1 is an abbreviated and slightly updated version of an article appearing in the jTEI. The discussion here is also more oriented toward guidelines for using the schema to encode prosopographical data. For a fuller discussion of factoid prosopography and TEI modeling of prosopographical factoids, see Daniel L. Schwartz, Nathan P. Gibson, and Katayoun Torabi, Modeling a Born-Digital Factoid Prosopography using the TEI and Linked Data
, Journal of the Text Encoding Initiative, (2022), https://journals.openedition.org/jtei/3979.
SPEAR is a digital prosopography project that both stands somewhat apart from Syriaca.org but has also depends on it and has developed in dialogue with it. As such, I would like to acknowledge the contributions of Syriaca.org colleagues David A. Michelson and Jeanne-Nicole Mellon Saint-Laurant. Syriaca.org Senior Programmer Winona Salesky has shaped SPEAR through her work on adapting the Srophé Software Application (used for an early beta version of SPEAR) to the data model and more recently by developing an instance of the Gaddel Software Application (link to code base) to display and query SPEAR data. The influence of these three colleagues on Syriaca.org can be seen throughout the SPEAR data model. Nathan P. Gibson was a postdoc with Syriaca.org and Katayoun (Kathy) Torabi was a graduate research assistant early on in the project. Both helped shape this data model and are co-authors on the jTEI article mentioned above. Nathan Gibson has also adapted the SPEAR data model to his Usaybia.net, a prosopographical research project analyzing early Islamic intellectual networks between Jews, Christians, and Muslims. Will Potter provided excellent feedback on a draft of these prose guidelines from a deep knowledge of the Syriaca.org knowledge graph. What you read here benefits much from his helpful feedback. All of these colleagues as well as many additional student and faculty researchers have contributed data to SPEAR and feedback on the data model as well. Many thanks to all of these contributors.
SPEAR offers a customized schema for modeling prosopographical factoids in TEI XML and for integrating these factoids into the Syriaca.org knowledge graph. Each of these concepts requires a bit of unpacking. What follows is an overview of these issues. For a fuller discussion, please see the jTEI article mentioned above.
Traditional prosopographical methods rely on print publications to collect prose descriptions of individuals appearing in historical sources. These magisterial works, such as the Prosophography of the Later Roman Empire, eds. A. H. M. Jones, J. R. Martindale, and John Morris, (1971-1982), required multiple volumes and were very difficult to update as knowledge developed. The print medium also suffered from constraints regarding scale. This required difficult editorial decisions about whom the editors included and whom they left out. The resulting works typically focus on elite, male figures related to political and military developments.
A group of scholars at King's College London sought to leverage digital technologies for prosopographical research by developing methodologies that could capture prosopographical information in a database. This would allow a scale that could include all persons, not just political elites, and would expose that information to computational analysis. The term they chose for the discrete pieces of personal information entered into the database was ‘factoid’.
Most factoid prosopography uses a relational database for this work. SPEAR, along with Syriaca.org, has preferred to use TEI XML as a data format due to its ability to integrate structured, semi-structured, and unstructured (prose) data. This offers the benefits of scale and computational analysis while also leaving room for some of the idiosyncratic features of ancient source material. These guidelines and customized TEI schema describe how SPEAR uses the TEI to model prosopographical facoids.
SPEAR integrates with the Syriac Biographical Dictionary (SBD) at a deep level even though the two datasets remain separate and have separate goals. The goal of Syriaca.org in general, and SBD in particular, is the creation of authority files. An authority file identifies an entity, in this case a person, assigns it a so-called ‘cool URI’ (a Uniform Resource Identifier that when entered into a web browser resolves to a page of information about the entity), and collects data that is useful for disambiguation between entities and for integration into a knowledge graph. SPEAR, in contrast, uses the URIs minted in SBD alongside Syriaca.org URIs for other types of entities, to model prosopographical information derived from primary source texts. See Section 3, especially Table 1, in the jTEI article mentioned above for additional discussion of the relationship between SPEAR and SBD.
In SPEAR, the <teiHeader> element identifies important information about the XML document and those responsible for its creation. This discussion will focus on four components of the <teiHeader> that provide metadata about the file and integrate it into the Syriaca.org knowledge graph: <titleStmt>, <publicationStmt>, <seriesStmt>, and <sourceDesc>. SPEAR also uses <editionStmt>, <encodingDesc>, <profileDesc>, and <revisionDesc> elements but without significant customization.
The SPEAR <titleStmt> contains two <title> elements, optional <sponsor> and <funder> elements, <editor> elements, and <respStmt> elements. The <title> element should have a @level attribute with the value ‘a’ containing the name of the work which is the source of the prosopographical information in the file and a @type attribute with the value ‘main’. A second <title> element with @level ‘sub’ always contains the text node ‘A SPEAR Prosopography’.
The <editor> element identifies the person or persons responsible for the encoding and data model. The @role attribute on <editor> recommends values ‘general’ or ‘creator’ and the @ref values can only come from the identifiers for SPEAR in the list of editors on GitHub. The text node contains the editors name.
The <respStmt> describes the nature of the contribution in the text node of a <resp> element followed by a <name> element with a @ref attribute as above on <editor>. Again, the text node contains the editors name.
Each SPEAR XML file contains prosopographical data from one work. Even though SPEAR files are ‘born digital’, the <sourceDesc> is used to provide bibligraphic information sources used to create the prosopographical data. The example below contains a <listBibl> with a child <head> element and two <bibl> elements. The first is a reference to the specific edition of the source text used by the encoder. The <title>, <author>, <editor>, and <biblScope> elements are optional but are included to make the metadata in the <teiHeader> more readable for a human being. The <ptr> element and @target attribute point to the URI for this bibliographic information contained in the Comprehensive Bibliography on Syriac Studies (CBSS), the bibliographic dataset of Syriaca.org.
The second <bibl> element contains a Syriaca.org work URI. Where the first points to a specific edition of the text, the work URI points to the authority file for the concept of the work. These authority files do not specify a particular manuscript witness, edition, translation, etc., but instead identify the concept of the work. Including both of these types of URIs connects each SPEAR file to the relevant Linked Open Data of the Syriaca.org knowledge graph. For more on this see the above-mentioned jTEI article, secion 3.
SPEAR factoids appear at the path /TEI/text/body/ab
. The <ab> (anonymous block) element provides the container for factoids and takes a @type attribute with value ‘factoid’ to indicate this usage. A @subtype attribute is used to indicate what type of factoid. The allowed values are ‘relation’, ‘event’, ‘birth’, ‘citizenship’, ‘death’, ‘education’, ‘ethnicLabel’, ‘gender’, ‘langKnown’, ‘mentalState’, ‘nameVariant’, ‘occupation’, ‘physicalTrait’, ‘religiousAffiliation’, ‘residence’, ‘sanctity’, and ‘socecStatus’. The SPEAR schema uses these @subtype values to require the necessary XML structure for each type of data.
The <ab> element also requires an @xml:id with a value ‘factoid-\d+’ where ‘\d+’ is a unique number within the document. This number must also agree with the substring after ‘-’ in the child <idno>. This ensures that there is unique @xml:id for the <ab> and an <idno> containing a full URI for this factoid. For more detail, see Factoid Identifier below.
Every <ab> must also have a @resp attribute indicating one or more editors responsible for the factoid. Similar to the practice in the <titleStmt>, the values on the @resp attribute here must validate against the @xml:id attributes in the list of editors on GitHub.
The name SPEAR derives from the TEI elements <person>, <event>, and <relation>. The @subtype values ‘relation’ and ‘event’ indicate those types of factoids and have descendant <relation> and <event> elements respectively. The remainder of the @subtype values indicate a person factoid and must have a descendent <person> element or a descendent <personGrp> element, the latter used for groups of people instead of individual persons. The TEI expects these elements to nest under <listRelation>, <listEvent>, and <listPerson> elements respectively and SPEAR has followed that practice even though it is not strictly necessary for the SPEAR data model.
Each SPEAR factoid must contain an <idno> element that provides a cool-URI for the factoid. This identifies the factoid and also indicates the URL where the data can be viewed in HTML. The schema requires that this <idno> is based on the document URI in the <publicationStmt> which also aligns with the work URI in the <sourceDesc>, (see sections Publication Statement and Source Description above). The three examples below come from the factoid https://spear-prosop.org/798-5, contained in a SPEAR XML file named ‘798.xml’.
/TEI/teiHeader/fileDesc/publicationStmt/idno
contains the number ‘798’. /TEI/teiHeader/fileDesc/sourceDesc//bibl/ptr/@target
contains the number ‘798’. /TEI/text/body/ab[@type='factoid']/idno
contains the number ‘798’ followed by a ‘-’ and a unique number. Again, this practice is not strictly necessary but it helps maintain the connection between the work and the factoids derived from the work.
One of the reasons that SPEAR uses the TEI is the ability it offers for the integration of structured and semi-structured data. Specific examples of how SPEAR does this appear below. Suffice it to say here, that most factoids contains either a <note> or a <desc> element (for the exception, see Name Variants). These elements contain text written by the encoder that offer a prose description of the data contained elsewhere in the factoid <ab>. These <note> and <desc> elements typically allow text, <persName> (with @ref attributes restricted to person URIs from SBD), <placeName> (with @ref attributes restricted to place URIs from The Syriac Gazetteer) and elements for encoding dates. This text, along with hyperlinks to additional infromation on the persons and places encoded, are displayed to the user in HTML. The portions of each factoid that are less visible in HTML are serialized into RDF triples and used by the processor to facilitate filter, browse, and linking to additional metadata.
For an example of the incorporation of source text into an HTML factoid page, see https://spear-prosop.org/8559-87. For more on URNs, see https://www.rfc-editor.org/rfc/rfc8141.
What follows is an introduction to encoding each of the types of SPEAR factoids mentioned above. All three types of factoid follow the basic encoding structure described in the previous section on Basic Factoid Structure. The three tables below introduce the different types of factoids that are discussed in greater detail in the following sections.
Factoid Type | Description |
---|---|
Birth | Used to encode dates and/or places of a person's birth. See below Birth and Death. |
Citizenship | Used to encode places where a person had citizenship as well as dates of that citizenship when known. The place of citizenship can be for any type of place, from city to empire. See below Citizenship, Mental States, Religious Affiliation, and Sanctity. |
Death | Used to encode dates and/or places of a person's birth. See below Birth and Death. |
Education | Used to encode the subject area of a person's study. See below Education, Language, Occupation, and Socio-economic Status. |
Ethnic Label | Used to encode a text's use of an ethnic label to describe a person. See below Physical Traits, Gender, and Ethnicity. |
Gender | Used to encode a text's use of gender to describe a person. See below Physical Traits, Gender, and Ethnicity. |
Language Known | Used to encode a language known or used by a person. See below Education, Language, Occupation, and Socio-economic Status. |
Mental State | Used to encode a person's mental or emotional state, including things like suffering, pride, tears, etc. See below Citizenship, Mental States, Religious Affiliation, and Sanctity. |
Name Variants | Used to encode a variety of names for a person: personal names, descriptive names, even insulting names. See below Name Variants. |
Occupation | Used to encode the type of work ascribed to a person, including any type of trade, clerical or political office, etc. See below Education, Language, Occupation, and Socio-economic Status. |
Physical Trait | Used to encode a person's distinguishing physical characteristics. See below Physical Traits, Gender, and Ethnicity. |
Religious Affiliation | Used to encode a person's membership in or participation with a religious group regardless of personal belief. See below Citizenship, Mental States, Religious Affiliation, and Sanctity. |
Residence | Used to encode places where a person resided as well as dates when available. See below Residence. |
Sanctity | Used to encode states of sanctity such as saint, martyr, confessor, etc. See below Citizenship, Mental States, Religious Affiliation, and Sanctity. |
Socio-economic Status | Used to encode a person's socio-economic status, typically indicated by a rank held or an occupation worked. See below Education, Language, Occupation, and Socio-economic Status. |
Factoid Type | Description |
Events | Event factoids capture any event the encoder deems worth of capturing and include data regarding the persons, places, dates, and keyword concepts. See below Event Factoids. |
Factoid Type | Description |
Relationships | Relation factoids capture a wide range of familial, personal, and professional relationships. See below Relation Factoids. |
Relation factoids have the most consistent and straightforward structure so we will begin by describing them. Relation factoids contain a <listRelation> followed by <relation>. The schema constrains the values of the @ref attribute on <relation> to allow only appropriate relationship values from the Syriac Taxonomy. The <relation> element also has either a @mutual attribute with two or more person URI values or @active and @passive attributes. The distinction is between relationships that are mutual (if person x is a sibling of person y, then person y is a sibling of person x) and relationships that are directed (person x ordained person y). The @mutual, @active, and @passive attributes may only take Syriaca.org person URIs from SBD.
Person factoids are the most variable as they pertain to so many different types of data about persons. Each of these follows the TEI for the types of elements that can appear as child elements of <person> or <personGrp>. The <personGrp> element is used for groups of persons whereas <person> is used for individuals.
In SPEAR, a <person> or <personGrp> requires a child <persName> with a @ref attribute indicating the subject of the factoid. If the factoid only contains a name variant, this <persName> element takes a text node with that variant. Otherwise, this <persName> is self-closing and merely identifies the subject of the factoid. This is followed by one of the following elements: <birth>, <death>, <education>, <langKnowledge>, <occupation>, <residence>, <socecStatus>, <state>, or <trait>.
These factoids employ a <residence> element which must take a <placeName> element and may take a <date> element. A <placeName> element must have a @ref attribute pointing to a Syriaca.org place URI. The schema will throw a warning message if this is not a place URI in The Syriac Gazetteer. For a discussion of how SPEAR handles different dating systems, see below on Dating Systems.
With <education>, <langKnowledge>, <occupation>, and <socecStatus>, each of these elements take an @ana attribute whose value the schema constrains to appropriate concepts in the Syriac Taxonomy. Using URIs here allows the model to contain a Linked Data reference to a specific field of eduction, occuation, etc.
For examples of additional factoids following this format, see <education>, <langKnowledge>, <socecStatus>.
Event factoids have the freest form. They contain an <event> element that takes various date attributes and an @ana attribute that can contain one or more concepts from the Syriac Taxonomy. This schema customization validates when any Syriac Taxonomy URI is used. For any other URI, the schema displays a warning message. This allows encoders to attach keywords not currently in the Syriac Taxonomy. This functions as a suggestion to editors to include this concept in the Syriac Taxonomy. If editors of both projects agree that this concept is relevant it can be included in both projects going forward.
The child <desc> element can contain text marked up with <date>, <rs>, <title>, <orgName>, <persName>, and <placeName> elements. For a discussion of how SPEAR handles different dating systems, see below on Dating Systems.
For events with dates, the <event> element can take the date attributes @when, @notBefore, @notAfter, @from, and @to. When appropriate, the schema requires that these dates correspond to dates appearing in the <desc> element. For a discussion of how SPEAR handles different dating systems, see the section below on Dating Systems.
In these cases, we have several pieces of data associated with one factoid URI, the event with its participants, places, dates, and taxonomy concepts, but also the relationships between the persons. All of these pieces of information get serialized into the Linked Open Data graph of SPEAR, and each is sourced to the same factoid.
Since the factoid model focuses on the encoding of textual assertions about personal information, it is important that the SPEAR data model be able to indicate levels of uncertainty regarding those textual assertions. SPEAR does this using a <note> element with a @type attribute containing the value "certainty" and a @subtype attribute containing one of the following: "incerta", "dubia", or "errata". An encoder should use use "incerta" to indicate their uncertainty regarding the assertion in the text, "dubia" when they doubt the veracity of the assertion but are not convinced it is false, and "errata" when they know that the assertion is incorrect.
The SPEAR factoid model requires a large amount of XML to provide the structure for the individual factoids and facilitate the integration of structured and semi-structured data for serialization into HTML and RDF. Typing this amount of XML would get onerous. In order to speed the encoding process, SPEAR employs a set of code templates for use with oXygen XML Editor. These templates allow the encoder to drop a ‘skeleton’ of each type of factoid into a TEI XML file. You can find these code templates along with further directions for uploading and using them at https://github.com/srophe/spear/blob/main/documentation/SPEARCodeTemplatesOxygen.xml.
Please note as well that once loaded into oXygen XML editor these code templates can be edited. If, for example, the encoding work will be done by one person, they can edit the code templates to include the appropriate @resp attribute value. The same is the case for the bibliographic information.
<TEI> (TEI document) contains a single TEI-conformant document, combining a single TEI header with one or more members of the model.resource class. Multiple <TEI> elements may be combined within a <TEI> (or <teiCorpus>) element. [4. Default Text Structure 16.1. Varieties of Composite Text] | |||||||||
Module | textstructure — SPEAR Schema Customization | ||||||||
Attributes |
| ||||||||
Contained by | textstructure: TEI | ||||||||
May contain | |||||||||
Note | As with all elements in the TEI scheme (except <egXML>) this element is in the TEI namespace (see 5.7.2. Namespaces). Thus, when it is used as the outermost element of a TEI document, it is necessary to specify the TEI namespace on it. This is customarily achieved by including http://www.tei-c.org/ns/1.0 as the value of the XML namespace declaration (xmlns), without indicating a prefix, and then not using a prefix on TEI elements in the rest of the document. For example: <TEI version="4.8.1" xml:lang="it" xmlns="http://www.tei-c.org/ns/1.0">. | ||||||||
Example | <TEI version="3.3.0" xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>The shortest TEI Document Imaginable</title>
</titleStmt>
<publicationStmt>
<p>First published as part of TEI P2, this is the P5
version using a namespace.</p>
</publicationStmt>
<sourceDesc>
<p>No source: this is an original work.</p>
</sourceDesc>
</fileDesc>
</teiHeader>
<text>
<body>
<p>This is about the shortest TEI document imaginable.</p>
</body>
</text>
</TEI> | ||||||||
Example | <TEI version="2.9.1" xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>A TEI Document containing four page images </title>
</titleStmt>
<publicationStmt>
<p>Unpublished demonstration file.</p>
</publicationStmt>
<sourceDesc>
<p>No source: this is an original work.</p>
</sourceDesc>
</fileDesc>
</teiHeader>
<facsimile>
<graphic url="page1.png"/>
<graphic url="page2.png"/>
<graphic url="page3.png"/>
<graphic url="page4.png"/>
</facsimile>
</TEI> | ||||||||
Content model | <content> <sequence> <elementRef key="teiHeader"/> <alternate> <sequence> <classRef key="model.resource" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="TEI" minOccurs="0" maxOccurs="unbounded"/> </sequence> <elementRef key="TEI" minOccurs="1" maxOccurs="unbounded"/> </alternate> </sequence> </content> ⚓ | ||||||||
Schema Declaration | element TEI { att.global.attributes, att.typed.attributes, attribute version { text }?, ( teiHeader, ( ( model.resource+, TEI* ) | TEI+ ) ) }⚓ |
<ab> | |||||||||||||||||||||||||||
Module | linking — SPEAR Schema Customization | ||||||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||||||
Contained by | textstructure: body | ||||||||||||||||||||||||||
May contain | |||||||||||||||||||||||||||
Note | This customization requires the basic pattern of SPEAR factoids to be encoded correctly. Each factoid is encoded in an <ab> element. Since each factoid contains data on a Person, Event, or Relation, the schema requires that <ab> must contain a <listPerson>, <listEvent>, or <listRelation> child element. Since every factoid requires a bibliographic reference, every <ab> must contain one or more child <bibl> elements. The encoder also has the option of adding a <note> element to the factoid as well. This customization also requires that every <ab> element receives @xml:id, @type, @subtype, and @resp attributes. The @xml:id must take the form "factoid-{\d}" where {\d} is a number unique within the document. The @type attribute must be "factoid". The @subtype attribute comes from a closed list of data types encoded in the SPEAR project. The @resp attribute must point to an editor listed in the <titleStmt>. This ensures that all contributions are attributed at the factoid level. | ||||||||||||||||||||||||||
Example | <ab type="factoid" subtype="residence"
xml:id="factoid-42" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-42</idno>
<listPerson>
<personGrp>
<persName ref="http://syriaca.org/person/3669"/>
<residence>
<placeName ref="http://syriaca.org/place/399"/>
<note type="desc">
<persName ref="http://syriaca.org/person/3669">Anonymi
3669</persName> resided in the <placeName ref="http://syriaca.org/place/399">Convent of John
Urtaya</placeName> in <placeName ref="http://syriaca.org/place/8">Amida</placeName>. </note>
</residence>
</personGrp>
</listPerson>
<bibl type="primary">
<ptr target="http://syriaca.org/work/10510"/>
<citedRange unit="p">555</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/PHMZMM3R"/>
<citedRange unit="p">209</citedRange>
</bibl>
</ab>
<ab type="factoid" subtype="relation"
xml:id="factoid-43" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-43</idno>
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/fellow-monastics"
mutual="http://syriaca.org/person/3249 http://syriaca.org/person/3227 http://syriaca.org/person/3669">
<desc>
<persName ref="http://syriaca.org/person/3249">Samuel</persName>, <persName ref="http://syriaca.org/person/3227">Jonathan</persName> and <persName ref="http://syriaca.org/person/3669">Anonymous 3669</persName> were monks at the same monastery.</desc>
</relation>
</listRelation>
<bibl type="primary">
<ptr target="http://syriaca.org/work/10510"/>
<citedRange unit="p">555</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/PHMZMM3R"/>
<citedRange unit="p">209</citedRange>
</bibl>
</ab>
<ab type="factoid" subtype="event"
xml:id="factoid-44" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-44</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/death">
<desc>
<persName ref="http://syriaca.org/person/3218">John
Urtaya</persName> died. </desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/work/10510"/>
<citedRange unit="p">555</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/PHMZMM3R"/>
<citedRange unit="p">209</citedRange>
</bibl>
</ab> | ||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:ab[ancestor::tei:body]">
<sch:assert test="@xml:id">An <ab> descendant of <body> requires an @xml:id attribute.</sch:assert>
<sch:assert test="@resp">An <ab> descendant of <body> requires a @resp attribute.</sch:assert>
<sch:assert test="@type='factoid'">An <ab> descendant of <body> requires a @type attribute with the value "factoid".</sch:assert>
</sch:rule>
<sch:rule context="tei:ab[ancestor::tei:body]/@resp">
<sch:let name="contributorRefs"
value="//tei:name[ancestor::tei:respStmt]/@ref"/>
<sch:let name="respPtrs"
value="for $i in $contributorRefs return substring-after($i, '.xml')"/>
<sch:assert test=" every $i in (tokenize(., ' ')) satisfies $i = $respPtrs"> Acceptable values for this @resp attribute include:
<sch:value-of select="string-join($respPtrs, '; ')"/>.
</sch:assert>
</sch:rule> | ||||||||||||||||||||||||||
Content model | <content> <alternate minOccurs="1" maxOccurs="1"> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="idno" minOccurs="1" maxOccurs="1"/> <elementRef key="listPerson" minOccurs="1" maxOccurs="1"/> <elementRef key="bibl" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="note" minOccurs="0" maxOccurs="unbounded"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="idno" minOccurs="1" maxOccurs="1"/> <elementRef key="listEvent" minOccurs="1" maxOccurs="1"/> <elementRef key="bibl" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="listRelation" minOccurs="0" maxOccurs="1"/> <elementRef key="note" minOccurs="0" maxOccurs="unbounded"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="idno" minOccurs="1" maxOccurs="1"/> <elementRef key="listRelation" minOccurs="1" maxOccurs="1"/> <elementRef key="bibl" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="note" minOccurs="0" maxOccurs="unbounded"/> </sequence> </alternate> </content> ⚓ | ||||||||||||||||||||||||||
Schema Declaration | element ab { attribute xml:id { text }, attribute resp { list { + } }, attribute type { text }, attribute subtype { "birth" | "citizenship" | "death" | "education" | "ethnicLabel" | "event" | "gender" | "langKnown" | "mentalState" | "nameVariant" | "occupation" | "physicalTrait" | "relation" | "religiousAffiliation" | "residence" | "sanctity" | "socecStatus" }, ( ( idno, listPerson, bibl+, note* ) | ( idno, listEvent, bibl+, listRelation?, note* ) | ( idno, listRelation, bibl+, note* ) ) }⚓ |
<author> (author) 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.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Contained by | core: bibl |
May contain | |
Note | Particularly where cataloguing is likely to be based on the content of the header, it is advisable to use a generally recognized name authority file to supply the content for this element. The attributes key or ref may also be used to reference canonical information about the author(s) intended from any appropriate authority, such as a library catalogue or online resource. In the case of a broadcast, use this element for the name of the company or network responsible for making the broadcast. Where an author is unknown or unspecified, this element may contain text such as Unknown or Anonymous. When the appropriate TEI modules are in use, it may also contain detailed tagging of the names used for people, organizations or places, in particular where multiple names are given. |
Example | |
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ |
Schema Declaration | element author { att.global.attributes, att.datable.attributes, att.naming.attributes, macro.phraseSeq }⚓ |
<authority> (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.] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: publicationStmt |
May contain | Character data only |
Note | Syriaca.org is identified as the responsible entity using <authority>. |
Example | <publicationStmt>
<authority>Syriaca.org: The Syriac Reference Portal</authority>
<idno type="URI">https://spear-prosop.org/3159/tei</idno>
<availability>
<licence target="http://creativecommons.org/licenses/by/4.0/">
<p>Distributed under a Creative Commons Attribution 4.0 International License (CC BY 4.0)</p>
</licence>
</availability>
<date>2020-01-03-05:00</date>
</publicationStmt> |
Schematron |
<sch:rule context="//tei:publicationStmt/tei:authority">
<sch:assert test="normalize-space(.) = 'Syriaca.org: The Syriac Reference Portal'"> The <authority> element should contain the text: "Syriaca.org: The Syriac Reference Portal."
</sch:assert>
</sch:rule> |
Content model | <content> <textNode/> </content> ⚓ |
Schema Declaration | element authority { att.global.attributes, att.canonical.attributes, text }⚓ |
<availability> (availability) 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.] | |||||||||
Module | header — SPEAR Schema Customization | ||||||||
Attributes |
| ||||||||
Contained by | header: publicationStmt | ||||||||
May contain | |||||||||
Note | A consistent format should be adopted | ||||||||
Example | <availability status="restricted">
<p>Available for academic research purposes only.</p>
</availability>
<availability status="free">
<p>In the public domain</p>
</availability>
<availability status="restricted">
<p>Available under licence from the publishers.</p>
</availability> | ||||||||
Example | <availability>
<licence target="http://opensource.org/licenses/MIT">
<p>The MIT License
applies to this document.</p>
<p>Copyright (C) 2011 by The University of Victoria</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.</p>
</licence>
</availability> | ||||||||
Content model | <content> <alternate minOccurs="1" maxOccurs="unbounded"> <classRef key="model.availabilityPart"/> <classRef key="model.pLike"/> </alternate> </content> ⚓ | ||||||||
Schema Declaration | element availability { att.global.attributes, att.declarable.attributes, attribute status { "free" | "unknown" | "restricted" }?, ( model.availabilityPart | model.pLike )+ }⚓ |
<back> (back matter) contains any appendixes, etc. following the main part of a text. [4.7. Back Matter 4. Default Text Structure] | |
Module | textstructure — SPEAR Schema Customization |
Attributes |
|
Contained by | textstructure: text |
May contain | core: listBibl |
Note | The <back> element must contain only one <listBibl> element. The <back> element is used to provide a human-readable "Works Cited" in the TEI file. Otherwise, works are cited in each factoid using the Syriaca.org URI. This section includes both the source of the factoids and any secondary literature cited in factoid notes. |
Example | <back>
<listBibl>
<head>Works Cited</head>
<bibl type="primary" xml:id="bibl8559-1">
<title xml:lang="la">Chronica minora</title>
<editor>Ignatius Guidi</editor>
<ptr target="http://syriaca.org/cbss/XQU5AW69"/>
</bibl>
<bibl type="primary" xml:id="bibl8559-2">
<title xml:lang="en" level="a">The Chronicle of Edessa</title>
<title level="j">The Journal of Sacred Literature, New Series [=Series
4]</title>
<editor role="translator">B. Cowper</editor>
<date when="1865">1865</date>
<biblScope unit="vol">5</biblScope>
<biblScope unit="pp">28-45</biblScope>
<ptr target="http://syriaca.org/cbss/IRKW44YC"/>
</bibl>
<bibl type="secondary"
xml:id="bibl8559-3">
<title xml:lang="de">Untersuchungen über die Edessenische Chronik. Texte und
Untersuchungen zur Geschichte der altchristlichen Literatur 9.1</title>
<author>Ludwig Hallier</author>
<pubPlace>Leipzig</pubPlace>
<publisher>J.C. Hinrichs</publisher>
<date>1892</date>
<ptr target="http://syriaca.org/cbss/YMVDWHT5"/>
</bibl>
<bibl type="secondary"
xml:id="bibl8559-4">
<title xml:lang="en">Stewards of the Poor: The Man of God, Rabbula, and Hiba in
Fifth-Century Edessa</title>
<editor role="translator">Robert Doran</editor>
<pubPlace>Kalamazoo, MI</pubPlace>
<publisher>Cistercian Publications</publisher>
<date>2006</date>
<ptr target="http://syriaca.org/cbss/X9NUGZJ3"/>
</bibl>
</listBibl>
</back> |
Content model | <content> <elementRef key="listBibl" minOccurs="1" maxOccurs="1"/> </content> ⚓ |
Schema Declaration | element back { att.global.attributes, att.declaring.attributes, listBibl }⚓ |
<bibl> (bibliographic citation) contains a loosely-structured bibliographic citation of which the sub-components may or may not be explicitly tagged. [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements] | |||||||||||
Module | core — SPEAR Schema Customization | ||||||||||
Attributes |
| ||||||||||
Member of | |||||||||||
Contained by | |||||||||||
May contain | |||||||||||
Note | SPEAR only uses @xml:id and @type attributes on the <bibl> element. SPEAR uses <bibl> elements with an @xml:id only in the <back> of the TEI file. The @type attribute indicates whether the <bibl> is "primary", "secondary", or a "urn". Since SPEAR relies on the Linked Open Data infrastructure of Syriaca.org, a <bibl> element in the body only requires a <ptr> element indicating the Syriaca.org URI or CTS URN for the bibliographic reference. When indicating a CTS URNs no other additional information is required. When indicating a Syriaca.org URI, a <citedRange> is needed. | ||||||||||
Example | <body> ...
<ab type="factoid" subtype="relation"
xml:id="factoid-5" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/3159-5</idno>
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/cited-negatively" active="http://syriaca.org/person/51"
passive="http://syriaca.org/person/781">
<desc>
<persName ref="http://syriaca.org/person/51">Severus</persName>
cited positively
<persName ref="http://syriaca.org/person/781">Theodoret</persName>.
</desc>
</relation>
</listRelation>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/X6ZICMNL"/>
<citedRange unit="p">206</citedRange>
<citedRange unit="part">11</citedRange>
</bibl>
</ab>
</body>
<back>
<listBibl>
<head>Works Cited</head>
<bibl type="primary" xml:id="bibl3159-1">
<title xml:lang="en">A Collection of Letters of Severus of Antioch</title>
<title xml:lang="la" level="s">Patrologia Orientalis</title>
<author>
<persName ref="http://syriaca.org/person/51">Severus of
Antioch</persName>
</author>
<editor>
<persName ref="http://syriaca.org/person/403">E. W.
Brooks</persName>
</editor>
<biblScope unit="tomus">12</biblScope>
<ptr target="http://syriaca.org/cbss/X6ZICMNL"/>
<citedRange unit="p">203-06</citedRange>
<citedRange unit="part">11</citedRange>
</bibl>
</listBibl>
</back> | ||||||||||
Schematron |
<sch:rule context="tei:back//tei:bibl">
<sch:assert test="@xml:id">A <bibl> element in the back matter must contain an
@xml:id attribute.</sch:assert>
</sch:rule>
<sch:rule context="tei:back//tei:bibl/@xml:id">
<sch:let name="docURIno"
value="//tei:publicationStmt/tei:idno[@type='URI']/substring-after(substring-before(.,
'/tei'), 'spear-prosop.org/')"/>
<sch:assert test="contains(., concat('bibl', $docURIno, '-'))">The @xml:id on
<bibl> in the back matter must take the following form: 'bibl' +
'<sch:value-of select="$docURIno"/>' + '-' + a unique number.</sch:assert>
<sch:assert test="count(distinct-values(//tei:back//tei:bibl/@xml:id)) eq count(//tei:back//tei:bibl/@xml:id)">Each @xml:id attribute on <bibl> must have a unique value.</sch:assert>
<sch:report test="matches(substring-after(., '-'), '\D')">A properly formatted
@xml:id ends with a number.</sch:report>
<sch:assert test="matches(substring-after(., '-'), '\d')">A properly formatted
@xml:id ends with a number.</sch:assert>
</sch:rule> | ||||||||||
Content model | <content> <sequence minOccurs="0" maxOccurs="1" preserveOrder="true"> <elementRef key="title" minOccurs="0" maxOccurs="2"/> <elementRef key="author" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="editor" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="pubPlace" minOccurs="0" maxOccurs="1"/> <elementRef key="publisher" minOccurs="0" maxOccurs="1"/> <elementRef key="date" minOccurs="0" maxOccurs="1"/> <elementRef key="biblScope" minOccurs="0" maxOccurs="2"/> <elementRef key="ptr" minOccurs="1" maxOccurs="1"/> <elementRef key="citedRange" minOccurs="0" maxOccurs="3"/> </sequence> </content> ⚓ | ||||||||||
Schema Declaration | element bibl { att.global.attributes, att.canonical.attributes, att.cmc.attributes, att.declarable.attributes, att.docStatus.attributes, att.sortable.attributes, att.typed.attribute.subtype, attribute type { "primary" | "secondary" | "urn" }, ( ( ( title?, ( title, title? )? ), author*, editor*, pubPlace?, publisher?, date?, ( biblScope?, ( biblScope, biblScope? )? ), ptr, ( citedRange?, ( citedRange, ( citedRange, citedRange? )? )? ) )? ) }⚓ |
<biblScope> (scope of bibliographic reference) defines the scope of a bibliographic reference, for example as a list of page numbers, or a named subdivision of a larger work. [3.12.2.5. Scopes and Ranges in Bibliographic Citations] | |||||||||||
Module | core — SPEAR Schema Customization | ||||||||||
Attributes |
| ||||||||||
Contained by | core: bibl header: seriesStmt | ||||||||||
May contain | |||||||||||
Note | Even though SPEAR relies on the Linked Open Data infrastructure of Syriaca.org for bibliographic information on Works Cited, we have included additional information in the <back> so that the TEI file is more easily read by a human. Otherwise, the relevant <biblScope> enters the Syriaca.org knowledge graph through the bibliography URI in each factoid. | ||||||||||
Example | <back>
<listBibl>
<head>Works Cited</head>
<bibl type="primary" xml:id="bibl3159-1">
<title xml:lang="en">A Collection of Letters of Severus of Antioch</title>
<title xml:lang="la" level="s">Patrologia Orientalis</title>
<author>
<persName ref="http://syriaca.org/person/51">Severus of
Antioch</persName>
</author>
<editor>
<persName ref="http://syriaca.org/person/403">E. W.
Brooks</persName>
</editor>
<biblScope unit="tomus">12</biblScope>
<ptr target="http://syriaca.org/cbss/X6ZICMNL"/>
<citedRange unit="p">203-06</citedRange>
<citedRange unit="part">11</citedRange>
</bibl>
</listBibl>
</back> | ||||||||||
Content model | <content> <sequence minOccurs="0" maxOccurs="1"> <textNode/> <elementRef key="title" minOccurs="0" maxOccurs="1"/> <elementRef key="idno" minOccurs="0" maxOccurs="1"/> </sequence> </content> ⚓ | ||||||||||
Schema Declaration | element biblScope { att.global.attributes, att.citing.attribute.from, att.citing.attribute.to, attribute unit { "pp" | "line" | "part" | "column" | "volume" }, ( ( text, title?, idno? )? ) }⚓ |
<birth> (birth) contains information about a person's birth, such as its date and place. [16.2.2. The Participant Description] | |
Module | namesdates — SPEAR Schema Customization |
Attributes |
|
Contained by | namesdates: person |
May contain | |
Note | This customization restricts the attribute classes of the <birth> element to att.datable.w3c but excludes the @to and @from attributes. If more precise dating is required for a SPEAR factoid, encoder should use the <date> element. It also restricts the child elements to those dealing with dates (<date> or <choice>), <placeName>, and <note>. |
Example | <ab type="factoid" subtype="birth"
xml:id="factoid-21" resp="#nelder">
<idno type="URI">https://spear-prosop.org/834-21</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/2069"/>
<birth>
<placeName ref="http://syriaca.org/place/486">Syria</placeName>
<note type="desc">
<persName ref="http://syriaca.org/person/2069">Sergius</persName> was born in
<placeName ref="http://syriaca.org/place/486">Syria</placeName> in the region of
<placeName ref="http://syriaca.org/place/576">Aremenia</placeName>.
</note>
</birth>
</person>
</listPerson>
...
</ab> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <alternate minOccurs="0" maxOccurs="1"> <elementRef key="date" minOccurs="1" maxOccurs="1"/> <elementRef key="choice" minOccurs="1" maxOccurs="1"/> </alternate> <elementRef key="placeName" minOccurs="0" maxOccurs="1"/> <elementRef key="note" minOccurs="1" maxOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element birth { att.datable.w3c.attribute.when, att.datable.w3c.attribute.notBefore, att.datable.w3c.attribute.notAfter, ( ( date | choice )?, placeName?, note ) }⚓ |
<body> (text body) contains the whole body of a single unitary text, excluding any front or back matter. [4. Default Text Structure] | |
Module | textstructure — SPEAR Schema Customization |
Attributes |
|
Contained by | textstructure: text |
May contain | linking: ab |
Note | The body of a SPEAR file contains factoids, each of which appears in a separate <ab> element. As such, <ab> is the only acceptable child element of <body>. |
Example | <body>
<ab type="factoid" subtype="event"
xml:id="factoid-1" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/3218-1</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/letters http://syriaca.org/taxonomy/bible
http://syriaca.org/taxonomy/exegesis"
notBefore="0513" notAfter="0518">
<desc>
<persName ref="http://syriaca.org/person/51">Severus</persName> wrote a letter to
<persName ref="http://syriaca.org/person/44">Philoxenus</persName> on the interpretation of
<title ref="http://syriaca.org/work/9595">1 Corinthians</title> 3.10.
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/sender-of-letter-to" active="http://syriaca.org/person/51"
passive="http://syriaca.org/person/44" notBefore="0513" notAfter="0518"/>
</listRelation>
</desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/4DVWZDNU"/>
<citedRange unit="p">122-23</citedRange>
<citedRange unit="part">77</citedRange>
</bibl>
</ab>
</body> |
Content model | <content> <elementRef key="ab" minOccurs="1" maxOccurs="unbounded"/> </content> ⚓ |
Schema Declaration | element body { att.global.attributes, att.declaring.attributes, ab+ }⚓ |
<catDesc> (category description) describes some category within a taxonomy or text typology, either in the form of a brief prose description or in terms of the situational parameters used by the TEI formal <textDesc>. [2.3.7. The Classification Declaration] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: category |
May contain | Character data only |
Note | SPEAR only uses <catDesc> to describe a taxonomy category used to indicate a date that has been calculated by the editors based on a regnal year given in the text. |
Example | <classDecl>
<taxonomy>
<category xml:id="calculated">
<catDesc> Used to denote a date calculated by the editor from a regnal year
given in the text. </catDesc>
</category>
</taxonomy>
</classDecl> |
Content model | <content> <textNode/> </content> ⚓ |
Schema Declaration | element catDesc { att.global.attributes, att.canonical.attributes, text }⚓ |
<category> (category) contains an individual descriptive category, possibly nested within a superordinate category, within a user-defined taxonomy. [2.3.7. The Classification Declaration] | |||||||||||
Module | header — SPEAR Schema Customization | ||||||||||
Attributes |
| ||||||||||
Contained by | header: taxonomy | ||||||||||
May contain | header: catDesc | ||||||||||
Note | SPEAR only uses <category> to indicate a date that has been calculated by the editors based on a regnal year given in the text. | ||||||||||
Example | <classDecl>
<taxonomy>
<category xml:id="calculated">
<catDesc> Used to denote a date calculated by the editor from a regnal year
given in the text. </catDesc>
</category>
</taxonomy>
</classDecl> | ||||||||||
Content model | <content> <elementRef key="catDesc" minOccurs="1" maxOccurs="1"/> </content> ⚓ | ||||||||||
Schema Declaration | element category { att.global.attribute.n, att.global.attribute.xmllang, att.global.attribute.xmlbase, att.global.attribute.xmlspace, att.global.analytic.attribute.ana, att.global.linking.attribute.corresp, att.global.linking.attribute.synch, att.global.linking.attribute.sameAs, att.global.linking.attribute.copyOf, att.global.linking.attribute.next, att.global.linking.attribute.prev, att.global.linking.attribute.exclude, att.global.linking.attribute.select, att.global.rendition.attribute.rend, att.global.rendition.attribute.style, att.global.rendition.attribute.rendition, att.global.responsibility.attribute.cert, att.global.responsibility.attribute.resp, att.global.source.attribute.source, att.datcat.attributes, attribute xml:id { "calculated" }?, catDesc }⚓ |
<change> (change) 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 12.7. Identifying Changes and Revisions] | |||||||
Module | header — SPEAR Schema Customization | ||||||
Attributes |
| ||||||
Contained by | header: revisionDesc | ||||||
May contain | |||||||
Note | The who attribute may be used to point to any other element, but will typically specify a <respStmt> or <person> element elsewhere in the header, identifying the person responsible for the change and their role in making it. It is recommended that changes be recorded with the most recent first. The status attribute may be used to indicate the status of a document following the change documented. | ||||||
Example | <titleStmt>
<title> ... </title>
<editor xml:id="LDB">Lou Burnard</editor>
<respStmt xml:id="BZ">
<resp>copy editing</resp>
<name>Brett Zamir</name>
</respStmt>
</titleStmt>
<!-- ... -->
<revisionDesc status="published">
<change who="#BZ" when="2008-02-02"
status="public">Finished chapter 23</change>
<change who="#BZ" when="2008-01-02"
status="draft">Finished chapter 2</change>
<change n="P2.2" when="1991-12-21"
who="#LDB">Added examples to section 3</change>
<change when="1991-11-11" who="#MSM">Deleted chapter 10</change>
</revisionDesc> | ||||||
Example | <profileDesc>
<creation>
<listChange>
<change xml:id="DRAFT1">First draft in pencil</change>
<change xml:id="DRAFT2"
notBefore="1880-12-09">First revision, mostly
using green ink</change>
<change xml:id="DRAFT3"
notBefore="1881-02-13">Final corrections as
supplied to printer.</change>
</listChange>
</creation>
</profileDesc> | ||||||
Content model | <content> <macroRef key="macro.specialPara"/> </content> ⚓ | ||||||
Schema Declaration | element change { att.global.attributes, att.ascribed.attributes, att.datable.attributes, att.docStatus.attributes, att.typed.attributes, attribute target { list { + } }?, macro.specialPara }⚓ |
<choice> (choice) groups a number of alternative encodings for the same point in a text. [3.5. Simple Editorial Changes] | |
Module | core — SPEAR Schema Customization |
Member of | |
Contained by | |
May contain | |
Note | SPEAR mainly uses the <choice> element to capture original dating schemes used in the source texts. The <choice> element allows this date to exist alongside a Gregorian date that can put events onto a timeline. |
Example | <ab type="factoid" subtype="event"
xml:id="factoid-202" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-202</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/death"
notBefore="0565-10" notAfter="0566-09">
<desc>
<persName ref="http://syriaca.org/person/2284">Emperor
Justinian</persName> died in the year
<choice>
<reg>
<date notBefore="0565-10"
notAfter="0566-09" calendar="Gregorian">565/6</date>
</reg>
<orig>
<date when-custom="0877"
datingMethod="Seleucid">A. Gr.
877</date>
</orig>
</choice>
</desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/work/10510"/>
<citedRange unit="p">572</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/PHMZMM3R"/>
<citedRange unit="p">226</citedRange>
</bibl>
</ab> |
Content model | <content> <alternate minOccurs="2" maxOccurs="unbounded"> <classRef key="model.choicePart"/> <elementRef key="choice"/> </alternate> </content> ⚓ |
Schema Declaration | element choice { ( model.choicePart | choice ), ( model.choicePart | choice ), ( model.choicePart | choice )* }⚓ |
<citedRange> | |||||||||
Module | core — SPEAR Schema Customization | ||||||||
Attributes |
| ||||||||
Contained by | core: bibl | ||||||||
May contain | Character data only | ||||||||
Note | SPEAR only allows text in a <citedRange> element and requires the use of a @unit attribute with a closed list. SPEAR prefers that encoders use the part value and cite ancient texts according to section numbers. However, page numbers are also allowed. | ||||||||
Example | <ab type="factoid" subtype="nameVariant"
xml:id="factoid-1" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/811-1</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/2153">Zacharias</persName>
</person>
</listPerson>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/2IBLUVC7"/>
<citedRange unit="p">266</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/work/811"/>
<citedRange unit="p">266</citedRange>
</bibl>
</ab> | ||||||||
Content model | <content> <textNode/> </content> ⚓ | ||||||||
Schema Declaration | element citedRange { attribute unit { "p" | "line" | "part" | "column" }, text }⚓ |
<classDecl> (classification declarations) contains one or more taxonomies defining any classificatory codes used elsewhere in the text. [2.3.7. The Classification Declaration 2.3. The Encoding Description] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: encodingDesc |
May contain | header: taxonomy |
Note | SPEAR only uses <classDecl> to indicate a date that has been calculated by the editors based on a regnal year given in the text. |
Example | <classDecl>
<taxonomy>
<category xml:id="calculated">
<catDesc> Used to denote a date calculated by the editor from a regnal year
given in the text. </catDesc>
</category>
</taxonomy>
</classDecl> |
Content model | <content> <elementRef key="taxonomy" minOccurs="1" maxOccurs="1"/> </content> ⚓ |
Schema Declaration | element classDecl { att.global.attributes, taxonomy }⚓ |
<corr> (correction) contains the correct form of a passage apparently erroneous in the copy text. [3.5.1. Apparent Errors] | |
Module | core — SPEAR Schema Customization |
Member of | |
Contained by | |
May contain | |
Note | SPEAR encodes when there is a mistake in the source text and uses the <corr> element to offer the correction. This customization also restricts <reg> to model.choicePart and model.pPart.transcriptional. |
Example | <ab type="factoid" subtype="event"
xml:id="factoid-52" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/8559-52</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/emperors http://syriaca.org/taxonomy/accession"
when="-0044">
<desc> In
<choice>
<corr>
<date when="-0044"
calendar="Gregorian">44 B.C.</date>
</corr>
<sic>
<reg>
<date notBefore="-0046-10"
notAfter="-0045-09" calendar="Gregorian">46/5 B.C.</date>
</reg>
<orig>
<date when-custom="0266"
datingMethod="Seleucid">A. Gr.
266</date>
</orig>
</sic>
</choice>
<persName ref="http://syriaca.org/person/2238">Augustus</persName> became King of
<placeName ref="http://syriaca.org/place/166"> Rome </placeName>.
</desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/XQU5AW69"/>
<citedRange unit="p">3</citedRange>
</bibl>
<bibl type="urn">
<ptr target="urn:cts:syriacLit:nhsl8559.syriacCorpus57:3"/>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/IRKW44YC"/>
<citedRange unit="part">2</citedRange>
</bibl>
<note type="certainty" subtype="errata"> The author has apparently mistaken the date of Augustus'
accession. </note>
</ab> |
Content model | <content> <macroRef key="macro.paraContent"/> </content> ⚓ |
Schema Declaration | element corr { macro.paraContent }⚓ |
<date> (date) contains a date in any format. [3.6.4. Dates and Times 2.2.4. Publication, Distribution, Licensing, etc. 2.6. The Revision Description 3.12.2.4. Imprint, Size of a Document, and Reprint Information 16.2.3. The Setting Description 14.4. Dates] | |||||||||||||||||||||
Module | core — SPEAR Schema Customization | ||||||||||||||||||||
Attributes |
| ||||||||||||||||||||
Member of | |||||||||||||||||||||
Contained by | |||||||||||||||||||||
May contain | |||||||||||||||||||||
Note | SPEAR is able to capture a variety of calendars and dating methods. This customization seeks to ensure some consistency of date encoding. | ||||||||||||||||||||
Example | <ab> ...
<death when="0560-10-22">
<choice>
<reg>
<date when="0560-10-22"
calendar="Gregorian"> 22 October 560 A.D. </date>
</reg>
<orig>
<date when-custom="0872-01-22"
datingMethod="Seleucid-SyriacMonths"> 22 Teshri I 872 A. G.</date>
</orig>
</choice>
<note type="desc">
<persName ref="http://syriaca.org/person/1533">Aaron</persName> died on 22
October 560.
</note>
</death>
...
</ab> | ||||||||||||||||||||
Content model | <content> <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <classRef key="model.global"/> </alternate> </content> ⚓ | ||||||||||||||||||||
Schema Declaration | element date { att.datable.custom.attribute.when-custom, att.datable.custom.attribute.notBefore-custom, att.datable.custom.attribute.notAfter-custom, att.datable.custom.attribute.from-custom, att.datable.custom.attribute.to-custom, att.datable.custom.attribute.datingPoint, att.datable.w3c.attributes, attribute datingMethod { "Seleucid" | "Seleucid-SyriacMonths" | "regnalYear" }?, attribute calendar { "Gregorian" | "Seleucid" }?, ( text | model.gLike | model.phrase | model.global )* }⚓ |
<death> (death) contains information about a person's death, such as its date and place. [16.2.2. The Participant Description] | |
Module | namesdates — SPEAR Schema Customization |
Attributes |
|
Contained by | namesdates: person |
May contain | |
Note | This customization restricts the attribute classes of the <death> element to att.datable.w3c but excludes the @to and @from attributes. If more precise dating is required for a SPEAR factoid, encoder should use the <date> element. It also restricts the child elements to those dealing with dates (<date> or <choice>), <placeName>, and <note>. |
Example | <ab type="factoid" subtype="death"
xml:id="factoid-123" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/8559-123</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/2202"/>
<death notBefore="0360-10"
notAfter="0361-09">
<choice>
<reg>
<date notBefore="0360-10"
notAfter="0361-09" calendar="Gregorian">360/1</date>
</reg>
<orig>
<date when-custom="0672"
datingMethod="Seleucid">A. Gr. 672</date>
</orig>
</choice>
<note type="desc">
<persName ref="http://syriaca.org/person/2202">Abraham</persName> died in 360/1. </note>
</death>
</person>
</listPerson>
...
</ab> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <alternate minOccurs="0" maxOccurs="1"> <elementRef key="date" minOccurs="1" maxOccurs="1"/> <elementRef key="choice" minOccurs="1" maxOccurs="1"/> </alternate> <elementRef key="placeName" minOccurs="0" maxOccurs="1"/> <elementRef key="note" minOccurs="1" maxOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element death { att.datable.w3c.attribute.when, att.datable.w3c.attribute.notBefore, att.datable.w3c.attribute.notAfter, ( ( date | choice )?, placeName?, note ) }⚓ |
<desc> | |
Module | core — SPEAR Schema Customization |
Contained by | |
May contain | |
Note | SPEAR facilitates modeling a combination of structured and semi-structured data. Much of the semi-structured data is contained in the <desc> element. This is the main version of the data displayed in the HTML view of SPEAR while the more structured data in the RDF triple store is used for search and browse. This customization does not allow attributes on the <desc> element. It also restricts child elements to <choice>, <date>, <persName>, and <placeName>. |
Schematron |
<sch:rule context="//tei:ab//tei:desc">
<sch:report test="not(*) and string-length(normalize-space(.)) eq 0">Element of type
<desc> cannot be empty.</sch:report>
</sch:rule>
<sch:rule context="tei:ab/tei:listEvent/tei:event/tei:desc"
role="warning">
<sch:assert test="./tei:persName or tei:placeName">The <desc> element should
generally contain either <persName> or <placeName>. SPEAR
encourages a liberal use of <persName>, <placeName>, and <date>
elements in the <desc> element of event factoids.</sch:assert>
</sch:rule> |
Schematron |
<sch:rule context="//tei:body/tei:ab/tei:listRelation/tei:relation">
<sch:assert test="tei:desc"> This <relation> requires a <desc>.
</sch:assert>
</sch:rule>
<sch:rule context="//tei:sourceDesc//tei:relation">
<sch:report test="tei:desc"> The <desc> element may not appear here.
</sch:report>
</sch:rule>
<sch:rule context="//tei:ab/tei:listEvent/tei:listRelation/tei:relation/tei:desc">
<sch:let name="SameEventURIs"
value="tokenize(parent::tei:relation/@mutual, ' ')"/>
<sch:assert test="count(child::tei:rs) = count($SameEventURIs)"> This <desc> must contain <sch:value-of select="count($SameEventURIs)"/> <rs> elements, one for each values in the @mutual attribute on <relation>.
</sch:assert>
<sch:assert test="count(distinct-values(tei:rs/@ref)) = count(tei:rs)"> This <desc> requires <rs> elements with unique @ref attribute values.
</sch:assert>
</sch:rule>
<sch:rule context="//tei:ab/tei:listEvent/tei:listRelation/tei:relation[@ref='syriaca:SameEvent']/tei:desc">
<sch:let name="SameEventURIs"
value="tokenize(parent::tei:relation/@mutual, ' ')"/>
<sch:assert test="starts-with(normalize-space(.), 'The following factoids deal with
the same event: ')"> This <desc> must begin with "The following factoids deal with the same event: "
</sch:assert>
</sch:rule>
<sch:rule context="//tei:ab/tei:listEvent/tei:listRelation/tei:relation[@ref='syriaca:ProxmiateEvent']/tei:desc">
<sch:let name="SameEventURIs"
value="tokenize(parent::tei:relation/@mutual, ' ')"/>
<sch:assert test="starts-with(normalize-space(.), 'The following factoids deal with
closely related events: ')"> This <desc> must begin with "The following factoids deal with related events: "
</sch:assert>
</sch:rule> |
Content model | <content> <sequence minOccurs="0" maxOccurs="unbounded" preserveOrder="false"> <textNode/> <elementRef key="choice" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="date" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="persName" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="placeName" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="orgName" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="rs" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="bibl" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="listRelation" minOccurs="0" maxOccurs="1"/> <elementRef key="title" minOccurs="0" maxOccurs="unbounded"/> </sequence> </content> ⚓ |
Schema Declaration | element desc { ( text & choice* & date* & persName* & placeName* & orgName* & rs* & bibl* & listRelation? & title* )* }⚓ |
<edition> (edition) describes the particularities of one edition of a text. [2.2.2. The Edition Statement] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: editionStmt |
May contain | |
Example | <edition>First edition <date>Oct 1990</date>
</edition>
<edition n="S2">Students' edition</edition> |
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ |
Schema Declaration | element edition { att.global.attributes, macro.phraseSeq }⚓ |
<editionStmt> (edition statement) groups information relating to one edition of a text. [2.2.2. The Edition Statement 2.2. The File Description] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: fileDesc |
May contain | header: edition |
Note | The <editionStmt> allows the specification of an edition or version number. When a TEI file is first published online, that edition should be "1.0". Subsequent revisions may bump the revision number, either by a whole new version (i.e. to "2.0") or by a minor version (i.e. to "1.1"). |
Example | <editionStmt>
<edition n="1.0"/>
</editionStmt> |
Content model | <content> <elementRef key="edition" minOccurs="1" maxOccurs="1"/> </content> ⚓ |
Schema Declaration | element editionStmt { att.global.attributes, edition }⚓ |
<editor> 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.12.2.2. Titles, Authors, and Editors] | |||||||||||||||
Module | core — SPEAR Schema Customization | ||||||||||||||
Attributes |
| ||||||||||||||
Contained by | core: bibl header: seriesStmt titleStmt | ||||||||||||||
May contain | |||||||||||||||
Note | This customization makes the <editor> element part of model.respLike and limits the attributes to @role and @ref. It also suggests values for @role. | ||||||||||||||
Example | <titleStmt>
<title level="a" type="main">John of Ephesus, <title ref="http://syriaca.org/work/793">Habib</title>, in <title>The Lives of the Eastern Saints</title>
</title>
<title type="sub">A SPEAR Prosopography</title>
<sponsor>Syriaca.org: The Syriac Reference Portal</sponsor>
<funder>The National Endowment for the Humanities</funder>
<funder>Texas A&M University</funder>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<editor role="creator"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<editor role="creator"
ref="http://syriaca.org/documentation/editors.xml#syoung">Samuel Young</editor>
<respStmt>
<resp>Data architecture, data entry, editing, proofreading, and revision
by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</name>
</respStmt>
<respStmt>
<resp>Text analysis and data encoding by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#syoung">Samuel Young</name>
</respStmt>
</titleStmt> | ||||||||||||||
Schematron |
<sch:rule context="//tei:titleStmt/tei:editor">
<sch:assert test="@role"> This <editor> must have a @role attribute.
</sch:assert>
<sch:assert test="@ref"> This <editor> must have a @ref attribute.
</sch:assert>
</sch:rule>
<sch:rule context="//tei:titleStmt//tei:editor/@ref">
<sch:let name="edsDoc"
value="doc('https://raw.githubusercontent.com/srophe/srophe-eXist-app/master/documentation/editors.xml')"/>
<sch:let name="eds"
value="$edsDoc//tei:text/tei:body/tei:listPerson/tei:person/@xml:id"/>
<sch:let name="refValues"
value="for $i in $eds return concat('http://syriaca.org/documentation/editors.xml#',
$i)"/>
<sch:assert test=" every $i in . satisfies $i = $refValues"> Acceptable values for this @ref attribute include:
<sch:value-of select="string-join($refValues, ' | ')"/>.
</sch:assert>
</sch:rule> | ||||||||||||||
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ | ||||||||||||||
Schema Declaration | element editor { attribute role { "creator" | "general" | "translator" }?, attribute ref { text }?, macro.phraseSeq }⚓ |
<editorialDecl> (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 16.3.2. Declarable Elements] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: encodingDesc |
May contain | core: p |
Note | The <editorialDecl> will be used to describe the data model of SPEAR in more detail. |
Example | <encodingDesc> ...
<editorialDecl>
<p>Link to standoff documentation of the SPEAR data model is forthcoming.</p>
</editorialDecl>
...
</encodingDesc> |
Content model | <content> <elementRef key="p" minOccurs="1" maxOccurs="1"/> </content> ⚓ |
Schema Declaration | element editorialDecl { att.global.attributes, att.declarable.attributes, p }⚓ |
<education> (education) contains a description of the educational experience of a person. [16.2.2. The Participant Description] | |||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||
Attributes |
| ||||||||
Contained by | |||||||||
May contain | core: note | ||||||||
Note | This customization restricts the attribute classes of <education> to att.datable.w3c and the @ana attribute. If more precise dating is required for a SPEAR factoid, the encoder should use the <date> element. It also restricts the required @ana attribute to taxonomy URIs in the Syriac Taxonomy that pertain to fields of education. | ||||||||
Example | <ab type="factoid" subtype="education"
xml:id="factoid-5" resp="#jwickes">
<idno type="URI">https://spear-prosop.org/842-5</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/2032"/>
<education ana="http://syriaca.org/taxonomy/bible http://syriaca.org/taxonomy/exegesis">
<note type="desc">
<persName ref="http://syriaca.org/person/2032">Kashish</persName> studied the reading of the Holy Scriptures
at the <placeName ref="http://syriaca.org/place/399"> Monastery of John Urtraya </placeName>
in the city of <placeName ref="http://syriaca.org/place/8"> Amida</placeName>.
</note>
</education>
</person>
</listPerson>
...
</ab> | ||||||||
Content model | <content> <elementRef key="note" minOccurs="1" maxOccurs="1"/> </content> ⚓ | ||||||||
Schema Declaration | element education { att.datable.w3c.attributes, attribute ana { list { + } }, note }⚓ |
<encodingDesc> (encoding description) documents the relationship between an electronic text and the source or sources from which it was derived. [2.3. The Encoding Description 2.1.1. The TEI Header and Its Components] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: teiHeader |
May contain | header: classDecl editorialDecl |
Note | The <endocingDesc> contains the editorial declaration and a taxonomy of entities that may be refered to in the encoding that follows. |
Example | <teiHeader> ...
<encodingDesc>
<editorialDecl>
<p>[Forthcoming]</p>
</editorialDecl>
<classDecl>
<taxonomy>
<category xml:id="calculated">
<catDesc> Used to denote a date calculated by the editor from a regnal year
given in the text. </catDesc>
</category>
</taxonomy>
</classDecl>
</encodingDesc>
...
</teiHeader> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="editorialDecl" minOccurs="1" maxOccurs="1"/> <elementRef key="classDecl" minOccurs="1" maxOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element encodingDesc { att.global.attributes, ( editorialDecl, classDecl ) }⚓ |
<event> (event) contains data relating to anything of significance that happens in time. [14.3.1. Basic Principles] | |
Module | namesdates — SPEAR Schema Customization |
Attributes |
|
Contained by | namesdates: listEvent |
May contain | core: desc |
Note | This customization makes <desc> the only acceptable child of <event>. It also requires an @ana attribute and constrains the values of that attribute to the full list of Syriaca.org Taxonomy URIs. In the case of dates associated with an event, the customization also requires that date attributes (@when, @notBefore, @notAfter, @from, and @to) match on the <event> element and within the child <desc> element. |
Example | <ab type="factoid" subtype="event"
xml:id="factoid-12" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/3050-12</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/letters http://syriaca.org/taxonomy/sin
http://syriaca.org/taxonomy/greed http://syriaca.org/taxonomy/pride"
notBefore="0516" notAfter="0517">
<desc>
<persName ref="http://syriaca.org/person/51">Severus of Antioch</persName> sent a letter to
<persName ref="http://syriaca.org/person/3726">Anonymi 3726</persName> on the subject of
<persName ref="http://syriaca.org/person/2460">Musonius</persName>, especially his greed, pride, and disruptive behavior.
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/sender-of-letter-to" active="http://syriaca.org/person/51"
passive="http://syriaca.org/person/3726" notBefore="0516" notAfter="0517"/>
</listRelation>
</desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/8GRCM47V"/>
<citedRange unit="p">75-80</citedRange>
</bibl>
</ab> |
Schematron |
<sch:schema>
<sch:ns prefix="rdf"
uri="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<sch:pattern>
<sch:rule context="tei:event/@ana">
<sch:let name="anaTokens"
value="tokenize(., ' ')"/>
<sch:let name="taxonomy"
value="doc('https://raw.githubusercontent.com/srophe/syriaca-data/refs/heads/gaddel_development/data/taxonomy/taxonomy.rdf')"/>
<sch:let name="taxonomySelectURIs"
value="$taxonomy//rdf:Description/@rdf:about[not(contains(., 'primary-sources'))]"/>
<sch:let name="errors"
value="for $i in $anaTokens return $i[not(. = $taxonomySelectURIs)]"/>
<sch:assert test="every $i in $anaTokens satisfies $i = $taxonomySelectURIs"
role="warning">
<sch:value-of select="string-join($errors, ', ')"/>: URI(s) not in the Taxonomy. Please ensure that an appropriate URI does
not appear in the Taxonomy before proceeding. If you find no appropriate concept in the Taxonomy, please choose a keyword of your own for the editors to consider.
</sch:assert>
</sch:rule>
</sch:pattern>
</sch:schema> |
Schematron |
<sch:rule context="tei:event[tei:desc/tei:date/@when] | tei:event[tei:desc/tei:choice/tei:corr/tei:date/@when]
| tei:event[tei:desc/tei:choice/tei:reg/tei:date/@when]">
<sch:assert test="./@when = ./tei:desc/tei:date/@when | ./tei:desc/tei:choice/tei:corr/tei:date/@when
| ./tei:desc/tei:choice/tei:reg/tei:date/@when"> This <event> must have a @when attribute with the value <sch:value-of select="./tei:desc/tei:date/@when | ./tei:desc/tei:choice/tei:corr/tei:date/@when
| ./tei:desc/tei:choice/tei:reg/tei:date/@when"/>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:event[tei:desc/tei:date/@notBefore] | tei:event[tei:desc/tei:choice/tei:corr/tei:date/@notBefore]
| tei:event[tei:desc/tei:choice/tei:reg/tei:date/@notBefore]">
<sch:assert test="./@notBefore = ./tei:desc/tei:date/@notBefore | ./tei:desc/tei:choice/tei:corr/tei:date/@notBefore
| ./tei:desc/tei:choice/tei:reg/tei:date/@notBefore"> This <event> must have a @notBefore attribute with the value <sch:value-of select="./tei:desc/tei:date/@notBefore | ./tei:desc/tei:choice/tei:corr/tei:date/@notBefore
| ./tei:desc/tei:choice/tei:reg/tei:date/@notBefore"/>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:event[tei:desc/tei:date/@notAfter] | tei:event[tei:desc/tei:choice/tei:corr/tei:date/@notAfter]
| tei:event[tei:desc/tei:choice/tei:reg/tei:date/@notAfter]">
<sch:assert test="./@notAfter = ./tei:desc/tei:date/@notAfter | ./tei:desc/tei:choice/tei:corr/tei:date/@notAfter
| ./tei:desc/tei:choice/tei:reg/tei:date/@notAfter"> This <event> must have a @notAfter attribute with the value <sch:value-of select="./tei:desc/tei:date/@notAfter | ./tei:desc/tei:choice/tei:corr/tei:date/@notAfter
| ./tei:desc/tei:choice/tei:reg/tei:date/@notAfter"/>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:event[tei:desc/tei:date/@from] | tei:event[tei:desc/tei:choice/tei:corr/tei:date/@from]
| tei:event[tei:desc/tei:choice/tei:reg/tei:date/@from]">
<sch:assert test="./@from = ./tei:desc/tei:date/@from | ./tei:desc/tei:choice/tei:corr/tei:date/@from
| ./tei:desc/tei:choice/tei:reg/tei:date/@from"> This <event> must have a @from attribute with the value <sch:value-of select="./tei:desc/tei:date/@from | ./tei:desc/tei:choice/tei:corr/tei:date/@from
| ./tei:desc/tei:choice/tei:reg/tei:date/@from"/>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:event[tei:desc/tei:date/@to] | tei:event[tei:desc/tei:choice/tei:corr/tei:date/@to]
| tei:event[tei:desc/tei:choice/tei:reg/tei:date/@to]">
<sch:assert test="./@to = ./tei:desc/tei:date/@to | ./tei:desc/tei:choice/tei:corr/tei:date/@to
| ./tei:desc/tei:choice/tei:reg/tei:date/@to"> This <event> must have a @to attribute with the value <sch:value-of select="./tei:desc/tei:date/@to | ./tei:desc/tei:choice/tei:corr/tei:date/@to
| ./tei:desc/tei:choice/tei:reg/tei:date/@to"/>.
</sch:assert>
</sch:rule> |
Schematron |
<sch:rule context="//tei:ab//tei:event/tei:desc/tei:listRelation/tei:relation">
<sch:report test="tei:desc">A <relation> element inside of an <event> element cannot take a <desc> element.</sch:report>
</sch:rule> |
Content model | <content> <elementRef key="desc" minOccurs="1" maxOccurs="1"/> </content> ⚓ |
Schema Declaration | element event { att.global.attributes, att.datable.attributes, att.editLike.attributes, att.locatable.attributes, att.naming.attributes, att.sortable.attributes, att.typed.attributes, desc }⚓ |
<fileDesc> (file description) contains a full bibliographic description of an electronic file. [2.2. The File Description 2.1.1. The TEI Header and Its Components] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: teiHeader |
May contain | |
Note | Each <fileDesc> contains (in order) a <titleStmt>, an <editionStmt>, a <publicationStmt>, <seriesStmt> (optional), and a <sourceDesc>. |
Example | <fileDesc>
<titleStmt>
<title level="a" type="main">John of Ephesus, <title ref="http://syriaca.org/work/811">Zacharias</title>, in <title>The Lives of the Eastern Saints</title>
</title>
<title type="sub">A SPEAR Prosopography</title>
<sponsor>Syriaca.org: The Syriac Reference Portal</sponsor>
<funder>The National Endowment for the Humanities</funder>
<funder>Texas A&M University</funder>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<editor role="creator"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<respStmt>
<resp>Data architecture, data entry, editing, proofreading, and revision
by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</name>
</respStmt>
</titleStmt>
<editionStmt>
<edition n="1.0"/>
</editionStmt>
<publicationStmt>
<authority>Syriaca.org: The Syriac Reference Portal</authority>
<idno type="URI">https://spear-prosop.org/811/tei</idno>
<availability>
<licence target="http://creativecommons.org/licenses/by/4.0/">
<p>Distributed under a Creative Commons Attribution 4.0 International License (CC BY 4.0)</p>
</licence>
</availability>
<date>2020-01-03-05:00</date>
</publicationStmt>
<seriesStmt>
<title level="s">SPEAR: Syriac Persons, Events, and Relations</title>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<idno type="URI">https://spear-prosop.org</idno>
</seriesStmt>
<seriesStmt>
<title level="m" xml:lang="en">The Lives of the Eastern Saints</title>
<title type="sub">A SPEAR Prosopography</title>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<idno type="URI">https://spear-prosop.org/lives-eastern-saints</idno>
<biblScope unit="volume">
<title level="s">SPEAR: Syriac Persons, Events, and Relations</title>
<idno type="URI">https://spear-prosop.org</idno>
</biblScope>
</seriesStmt>
<sourceDesc>
<listBibl>
<head>Sources for the Data in this Born Digital Prosopography</head>
<bibl type="primary">
<title>Lives of the Eastern Saints I</title>
<title>Zacharias</title>
<author>
<persName ref="http://syriaca.org/person/74">John of
Ephesus</persName>
</author>
<editor>
<persName ref="http://syriaca.org/person/403">E. W.
Brooks</persName>
</editor>
<ptr target="http://syriaca.org/cbss/2IBLUVC7"/>
</bibl>
<bibl type="primary">
<title>Zacharias</title>
<author>
<persName ref="http://syriaca.org/person/74">John of
Ephesus</persName>
</author>
<ptr target="http://syriaca.org/work/811"/>
</bibl>
</listBibl>
<listRelation>
<relation type="part"
active="http://syriaca.org/work/811" name="dcterms:isPartOf"
passive="http://syriaca.org/work/9501"/>
</listRelation>
</sourceDesc>
</fileDesc> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="titleStmt" minOccurs="1" maxOccurs="1"/> <elementRef key="editionStmt" minOccurs="1" maxOccurs="1"/> <elementRef key="publicationStmt" minOccurs="1" maxOccurs="1"/> <elementRef key="seriesStmt" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="sourceDesc" minOccurs="1" maxOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element fileDesc { att.global.attributes, ( titleStmt, editionStmt, publicationStmt, seriesStmt+, sourceDesc ) }⚓ |
<funder> (funding body) specifies the name of an individual, institution, or organization responsible for the funding of a project or text. [2.2.1. The Title Statement] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: titleStmt |
May contain | Character data only |
Note | Within the <titleStmt>, funding bodies are identified with the <funder> element. If multiple funding bodies are relevant, then each one receives a separate <funder> element. |
Example | <titleStmt> ...
<funder>The National Endowment for the Humanities</funder>
<funder>Texas A&M University</funder>
...
</titleStmt> |
Content model | <content> <textNode/> </content> ⚓ |
Schema Declaration | element funder { att.global.attributes, att.canonical.attributes, att.datable.attributes, text }⚓ |
<head> (heading) contains any type of heading, for example the title of a section, or the heading of a list, glossary, manuscript description, etc. [4.2.1. Headings and Trailers] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Contained by | core: listBibl |
May contain | |
Note | When the child of <sourceDesc>, <head> must contain "Sources for the Data in this Born Digital Prosopography". When the child of <back>, <head> must contain "Works Cited". |
Example | <sourceDesc>
<listBibl>
<head>Sources for the Data in this Born Digital Prosopography</head>
<bibl type="primary"> ...
</bibl>
</listBibl>
</sourceDesc>
...
<back>
<listBibl>
<head>Works Cited</head>
<bibl type="primary" xml:id="bibl3182-1"> ...
</bibl>
</listBibl>
</back> |
Schematron |
<sch:rule context="tei:sourceDesc//tei:head">
<sch:assert test="normalize-space(.) = 'Sources for the Data in this Born Digital Prosopography'"> A <head> element inside the <sourceDesc> must contain the text node:
"Sources for the Data in this Born Digital Prosopography". </sch:assert>
</sch:rule>
<sch:rule context="tei:back//tei:head">
<sch:assert test="normalize-space(.) = 'Works Cited'"> A <head> element inside
the <back> must contain the text node: "Works Cited". </sch:assert>
</sch:rule> |
Content model | <content> <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <elementRef key="lg"/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <classRef key="model.inter"/> <classRef key="model.lLike"/> <classRef key="model.global"/> </alternate> </content> ⚓ |
Schema Declaration | element head { att.global.attributes, att.cmc.attributes, att.placement.attributes, att.typed.attributes, att.written.attributes, ( text | lg | model.gLike | model.phrase | model.inter | model.lLike | model.global )* }⚓ |
<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. [14.3.1. Basic Principles 2.2.4. Publication, Distribution, Licensing, etc. 2.2.5. The Series Statement 3.12.2.4. Imprint, Size of a Document, and Reprint Information] | |||||||
Module | header — SPEAR Schema Customization | ||||||
Attributes |
| ||||||
Contained by | |||||||
May contain | header: idno character data | ||||||
Note | This customization requires properly formatted identifiers for each TEI document and for each factoid. It ensures the alignment of the document cool-URI, the document name (always a number), and the factoid cool-URI. (A cool-URI is a unique identifier that when put into a web browser resolves to a page of information about the entity identified. All Syriaca.org identifiers are cool-URIs as are SPEAR factoid URIs.) In the <teiHeader>, an <idno> requires a @type attribute indicating that it is a "URI". It must also have the text node "https://spear-prosop.org/{\d}/tei", where {\d} is a number that matches the number of the document name. Each factoid also requires an <idno> with a @type attribute of "URI". It must contain the full cool-URI for that factoid. This URI is constructed using the <idno> from the <publicationStmt> and attaching to it the "-{\d}" from the @xml:id on the parent <ab>. | ||||||
Example | <ab type="factoid" subtype="event"
xml:id="factoid-12" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/3050-12</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/letters http://syriaca.org/taxonomy/sin
http://syriaca.org/taxonomy/greed http://syriaca.org/taxonomy/pride"
notBefore="0516" notAfter="0517">
<desc>
<persName ref="http://syriaca.org/person/51">Severus of Antioch</persName> sent a letter to
<persName ref="http://syriaca.org/person/3726">Anonymi 3726</persName> on the subject of
<persName ref="http://syriaca.org/person/2460">Musonius</persName>, especially his greed, pride, and disruptive behavior.
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/sender-of-letter-to" active="http://syriaca.org/person/51"
passive="http://syriaca.org/person/3726" notBefore="0516" notAfter="0517"/>
</listRelation>
</desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/8GRCM47V"/>
<citedRange unit="p">75-80</citedRange>
</bibl>
</ab> | ||||||
Schematron |
<sch:rule context="tei:ab[ancestor::tei:body]/tei:idno">
<sch:assert test="@type='URI'">An <idno> descendant of <ab>
requires a @type attribute with the value "URI".</sch:assert>
</sch:rule>
<sch:rule context="//tei:publicationStmt/tei:idno">
<sch:assert test="@type='URI'">This <idno>
requires a @type attribute with the value "URI".</sch:assert>
</sch:rule>
<sch:rule context="//tei:seriesStmt/tei:idno">
<sch:assert test="@type='URI'">This <idno> element
requires a @type attribute with the value "URI".</sch:assert>
</sch:rule> | ||||||
Schematron |
<sch:rule context="//tei:publicationStmt/tei:idno[@type='URI']">
<sch:let name="fileNo"
value="replace(document-uri(/), '[\D]', '')"/>
<sch:assert test=". = concat('https://spear-prosop.org/', $fileNo, '/tei')"> The text node of this <idno> must be "https://spear-prosop.org/<sch:value-of select="$fileNo"/>/tei".
</sch:assert>
</sch:rule> | ||||||
Schematron |
<sch:rule context="tei:ab[ancestor::tei:body]/tei:idno">
<sch:let name="factoidNo"
value="parent::tei:ab/@xml:id/substring-after(., 'factoid')"/>
<sch:assert test="contains(., concat(//tei:publicationStmt/tei:idno[@type]/substring-before(.,
'/tei'), $factoidNo))">This factoid URI must be: "<sch:value-of select="concat(//tei:publicationStmt/tei:idno[@type]/substring-before(., '/tei'),
$factoidNo)"/>.</sch:assert>
</sch:rule> | ||||||
Content model | <content> <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <elementRef key="idno"/> </alternate> </content> ⚓ | ||||||
Schema Declaration | element idno { attribute type { text }?, ( text | model.gLike | idno )* }⚓ |
<langKnowledge> | |
Module | namesdates — SPEAR Schema Customization |
Contained by | |
May contain | |
Note | This customization constrains the child elements under <langKnowledge> to include only <langKnown> and <note>. |
Example | <ab type="factoid" subtype="langKnown"
xml:id="factoid-9" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/835-9</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3155"/>
<langKnowledge>
<langKnown ana="http://syriaca.org/taxonomy/armenian"/>
<note type="desc">
<persName ref="http://syriaca.org/person/3155">Tribunus</persName>
was a native speaker of Armenian.
</note>
</langKnowledge>
</person>
</listPerson>
...
</ab> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="langKnown" minOccurs="1" maxOccurs="1"/> <elementRef key="note" minOccurs="1" maxOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element langKnowledge { langKnown, note }⚓ |
<langKnown> (language known) summarizes the state of a person's linguistic competence, i.e., knowledge of a single language. [16.2.2. The Participant Description] | |||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||
Attributes |
| ||||||||
Contained by | namesdates: langKnowledge | ||||||||
May contain | |||||||||
Note | This customization allows a closed list of values on the @level attribute ("low", "medium", and "high"). It also restricts the required @ana attribute to keyword URIs in the Syriac Taxonomy that pertain to languages. | ||||||||
Example | <ab type="factoid" subtype="langKnown"
xml:id="factoid-8" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/835-8</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3155"/>
<langKnowledge>
<langKnown ana="http://syriaca.org/taxonomy/greek-language-ancient"/>
<note type="desc">
<persName ref="http://syriaca.org/person/3155">Tribunus</persName>
could read and write Greek
</note>
</langKnowledge>
</person>
</listPerson>
...
</ab> | ||||||||
Schematron |
<sch:schema>
<sch:ns uri="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
prefix="rdf"/>
<sch:ns uri="http://www.w3.org/2004/02/skos/core#"
prefix="skos"/>
<sch:pattern>
<sch:rule context="//tei:langKnown/@ana">
<sch:let name="anaTokens"
value="tokenize(., ' ')"/>
<sch:let name="taxonomy"
value="doc('https://raw.githubusercontent.com/srophe/syriaca-data/refs/heads/gaddel_development/data/taxonomy/taxonomy.rdf')"/>
<sch:let name="languageURIs"
value="$taxonomy//rdf:Description[@rdf:about='http://syriaca.org/taxonomy/languages']/skos:narrower/@rdf:resource"/>
<sch:let name="errors"
value="for $i in $anaTokens return $i[not(. = $languageURIs)]"/>
<sch:assert test="every $i in $anaTokens satisfies $i = $languageURIs"
role="warning">
<sch:value-of select="string-join($errors, ', ')"/>: URI(s) not among the languages in the Taxonomy. If you find no appropriate concept on the following list,
please choose a keyword of your own for the editors to consider: <sch:value-of select="string-join($languageURIs, '; ')"/>.
</sch:assert>
</sch:rule>
</sch:pattern>
</sch:schema> | ||||||||
Content model | <content> <macroRef key="macro.phraseSeq.limited"/> </content> ⚓ | ||||||||
Schema Declaration | element langKnown { att.global.attributes, att.datable.attributes, att.editLike.attributes, attribute level { "low" | "medium" | "high" }?, macro.phraseSeq.limited }⚓ |
<licence> contains information about a licence or other legal agreement applicable to the text. [2.2.4. Publication, Distribution, Licensing, etc.] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | header: availability |
May contain | core: p |
Note | The <license> element, child of <availability>, is used to specify the Creative Commons CC-BY license under which this record is made available. Some records may incorporate information from works under copyright (with permission), a fact which is also indicated with <license>. |
Example | <publicationStmt>
<authority>Syriaca.org: The Syriac Reference Portal</authority>
<idno type="URI">https://spear-prosop.org/10510/tei</idno>
<availability>
<licence target="http://creativecommons.org/licenses/by/4.0/">
<p>Distributed under a Creative Commons Attribution 4.0 International License (CC BY 4.0)</p>
</licence>
</availability>
<date>2020-01-03-05:00</date>
</publicationStmt> |
Schematron |
<sch:rule context="//tei:licence/tei:p">
<sch:assert test="normalize-space(.) = 'Distributed under a Creative Commons Attribution
4.0 International License (CC BY 4.0)'"> The <licence> element must contain <p> with the text: "Distributed under a Creative Commons Attribution 4.0 International License (CC BY 4.0)."
</sch:assert>
</sch:rule> |
Content model | <content> <elementRef key="p" minOccurs="1" maxOccurs="1"/> </content> ⚓ |
Schema Declaration | element licence { att.global.attributes, att.datable.attributes, att.pointing.attributes, p }⚓ |
<listBibl> (citation list) contains a list of bibliographic citations of any kind. [3.12.1. Methods of Encoding Bibliographic References and Lists of References 2.2.7. The Source Description 16.3.2. Declarable Elements] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | |
May contain | |
Note | The <listBibl> element must contain a <head> and at least one <bibl>. This element is used only in the <teiHeader> and in the <back>. |
Example | <back>
<listBibl>
<head>Works Cited</head>
<bibl type="primary" xml:id="bibl798-1">
<title>Lives of the Eastern Saints I</title>
<title>Paul the Mourner</title>
<author>
<persName ref="http://syriaca.org/person/74">John of
Ephesus</persName>
</author>
<editor>
<persName ref="http://syriaca.org/person/403">E. W.
Brooks</persName>
</editor>
<ptr target="http://syriaca.org/cbss/2IBLUVC7"/>
</bibl>
<bibl type="primary" xml:id="bibl798-2">
<title>Paul the Mourner</title>
<author>
<persName ref="http://syriaca.org/person/74">John of
Ephesus</persName>
</author>
<ptr target="http://syriaca.org/work/798"/>
</bibl>
</listBibl>
</back> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="head" minOccurs="1" maxOccurs="1"/> <elementRef key="bibl" minOccurs="1" maxOccurs="unbounded"/> </sequence> </content> ⚓ |
Schema Declaration | element listBibl { att.global.attributes, att.cmc.attributes, att.declarable.attributes, att.sortable.attributes, att.typed.attributes, ( head, bibl+ ) }⚓ |
<listEvent> | |
Module | namesdates — SPEAR Schema Customization |
Contained by | linking: ab |
May contain | namesdates: event |
Note | SPEAR has three basic types of factoid data that are encoded using <listPerson>, <listEvent>, and <listRelation> elements. The <listEvent> element is used to encode prosopographical data related to events. |
Example | <ab type="factoid" subtype="event"
xml:id="factoid-18" resp="#syoung">
<idno type="URI">https://spear-prosop.org/816-18</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/prophecy http://syriaca.org/taxonomy/ordination
http://syriaca.org/taxonomy/persecution"
notBefore="0529">
<desc>
<persName ref="http://syriaca.org/person/50">John</persName> prophesied
that Christians would not be able to find ordaining bishops throughout
the empire.<date notBefore="0529"
calendar="Gregorian">After 529</date>,
<persName ref="http://syriaca.org/person/74">John</persName> observed
that potential priests could go to <placeName ref="http://syriaca.org/place/579">Alexandria</placeName>,<placeName ref="http://syriaca.org/place/586">Constantinople</placeName> without
gaining ordination. </desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/work/816"/>
<citedRange unit="p">320</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/U78B4C66"/>
<citedRange unit="p">522</citedRange>
</bibl>
</ab> |
Content model | <content> <elementRef key="event" minOccurs="1" maxOccurs="1"/> </content> ⚓ |
Schema Declaration | element listEvent { event }⚓ |
<listPerson> | |
Module | namesdates — SPEAR Schema Customization |
Contained by | linking: ab |
May contain | |
Note | SPEAR has three basic types of factoid data that are encoded using <listPerson>, <listEvent>, and <listRelation> elements. The <listPerson> element is used to encode prosopographical data related to personal traits like birth, death, occupation, etc.. |
Example | <ab type="factoid" subtype="socecStatus"
xml:id="factoid-201" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-201</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3256"/>
<socecStatus ana="http://syriaca.org/taxonomy/patricians">
<note type="desc">
<persName ref="http://syriaca.org/person/3256">Sergius</persName> belonged to a distinguished family called the
house of Bar Deba.</note>
</socecStatus>
</person>
</listPerson>
<bibl type="primary">
<ptr target="http://syriaca.org/work/10510"/>
<citedRange unit="p">571-572</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/PHMZMM3R"/>
<citedRange unit="p">225-226</citedRange>
</bibl>
</ab> |
Content model | <content> <alternate minOccurs="1" maxOccurs="1"> <elementRef key="person" minOccurs="1" maxOccurs="1"/> <elementRef key="personGrp" minOccurs="1" maxOccurs="1"/> </alternate> </content> ⚓ |
Schema Declaration | element listPerson { person | personGrp }⚓ |
<listRelation> provides information about relationships identified amongst people, places, and organizations, either informally as prose or as formally expressed relation links. [14.3.2.3. Personal Relationships] | |
Module | namesdates — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | |
May contain | namesdates: relation |
Note | SPEAR has three basic types of factoid data that are encoded using <listPerson>, <listEvent>, and <listRelation> elements. SPEAR removes all attributes from the <listRelation> element and restricts the child elements to <relation>. |
Example | <ab type="factoid" subtype="relation"
xml:id="factoid-4" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/811-4</idno>
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/friendship-for"
mutual="http://syriaca.org/person/2153 http://syriaca.org/person/74">
<desc>
<persName ref="http://syriaca.org/person/2153">Zacharias</persName> and <persName ref="http://syriaca.org/person/74">John of Ephesus</persName>
had a close friendship.
</desc>
</relation>
</listRelation>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/2IBLUVC7"/>
<citedRange unit="p">266</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/work/811"/>
<citedRange unit="p">266</citedRange>
</bibl>
</ab> |
Content model | <content> <elementRef key="relation" minOccurs="1" maxOccurs="unbounded"/> </content> ⚓ |
Schema Declaration | element listRelation { att.global.attributes, att.cmc.attributes, att.sortable.attributes, att.typed.attributes, relation+ }⚓ |
<name> (name, proper noun) contains a proper noun or noun phrase. [3.6.1. Referring Strings] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | |
May contain | |
Note | SPEAR uses the <name> element only in the <teiHeader>. This customization limits the vaules of @ref attributes on <name> as child of <titleStmt> to a Syriaca.org URI for project contributors. |
Example | <titleStmt> ...
<respStmt>
<resp>Data architecture, data entry, editing, proofreading, and revision
by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L.
Schwartz</name>
</respStmt>
<respStmt>
<resp>Text analysis and data encoding by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#ktorabi">Katayoun Torabi</name>
</respStmt>
...
</titleStmt> |
Schematron |
<sch:rule context="//tei:titleStmt/tei:respStmt/tei:name">
<sch:assert test="@ref"> A @ref attribute is required.
</sch:assert>
</sch:rule>
<sch:rule context="//tei:titleStmt/tei:respStmt/tei:name/@ref">
<sch:let name="edsDoc"
value="doc('https://raw.githubusercontent.com/srophe/srophe-eXist-app/master/documentation/editors.xml')"/>
<sch:let name="eds"
value="$edsDoc//tei:text/tei:body/tei:listPerson/tei:person/@xml:id"/>
<sch:let name="refValues"
value="for $i in $eds return concat('http://syriaca.org/documentation/editors.xml#',
$i)"/>
<sch:assert test=" every $i in . satisfies $i = $refValues"> Acceptable values for this @ref attribute include:
<sch:value-of select="string-join($refValues, ' | ')"/>.
</sch:assert>
</sch:rule> |
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ |
Schema Declaration | element name { att.global.attributes, att.cmc.attributes, att.datable.attributes, att.editLike.attributes, att.personal.attributes, att.typed.attributes, macro.phraseSeq }⚓ |
<note> (note) contains a note or annotation. [3.9.1. Notes and Simple Annotation 2.2.6. The Notes Statement 3.12.2.8. Notes and Statement of Language 10.3.5.4. Notes within Entries] | |||||||||||||||||||||||||||||||
Module | core — SPEAR Schema Customization | ||||||||||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||||||||||
Member of | |||||||||||||||||||||||||||||||
Contained by | |||||||||||||||||||||||||||||||
May contain | |||||||||||||||||||||||||||||||
Note | SPEAR factoids contain <note> elements that allow the encoder to offer a semi-structured, prose-oriented description of the data that they have derived from the source they are analyzing. The content of the <note> (and in some instances <desc>) is what human users encounter when using the HTML serialization of the data. This customization constrains the use of this element to ensure that the data marked up inside the <note> agrees with the more data-oriented encoding found elsewhere in the factoid. | ||||||||||||||||||||||||||||||
Example | <ab type="factoid" subtype="birth"
xml:id="factoid-3" resp="#syoung">
<idno type="URI">https://spear-prosop.org/793-3</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3763"/>
<birth>
<placeName ref="http://syriaca.org/place/493">Sophanene</placeName>
<note type="desc">
<persName ref="http://syriaca.org/person/3763">Habib</persName> came from the district of
<placeName ref="http://syriaca.org/place/493">Sophanene</placeName>.
</note>
</birth>
</person>
</listPerson>
...
</ab> | ||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:note[parent::tei:birth and preceding-sibling::tei:placeName]">
<sch:assert test="tei:persName">The <note> element in a birth place factoid
must contain a <persName>.</sch:assert>
<sch:assert test="tei:placeName">The <note> element in a birth place factoid
must contain a <placeName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:birth and preceding-sibling::tei:date]">
<sch:assert test="tei:persName">The <note> element in a birth date factoid
must contain a <persName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:nationality and preceding-sibling::tei:placeName]">
<sch:assert test="tei:persName">The <note> element in a citizenship factoid
must contain a <persName>.</sch:assert>
<sch:assert test="tei:placeName">The <note> element in a citizenship factoid
must contain a <placeName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:death and preceding-sibling::tei:placeName]">
<sch:assert test="tei:persName">The <note> element in a death place factoid
must contain a <persName>.</sch:assert>
<sch:assert test="tei:placeName">The <note> element in a birth place factoid
must contain a <placeName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:education]">
<sch:assert test="tei:persName">The <note> element in an education factoid
must contain a <persName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:death and preceding-sibling::tei:date]">
<sch:assert test="tei:persName">The <note> element in a death date factoid
must contain a <persName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:occupation]">
<sch:assert test="tei:persName">The <note> element in an occupation factoid
must contain a <persName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:residence and preceding-sibling::tei:placeName]">
<sch:assert test="tei:persName">The <note> element in a residence factoid must
contain a <persName>.</sch:assert>
<sch:assert test="tei:placeName">The <note> element in a residence factoid
must contain a <placeName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:socecStatus]">
<sch:assert test="tei:persName">The <note> element in a socioeconomic status
factoid must contain a <persName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:langKnowledge and preceding-sibling::tei:langKnown]">
<sch:assert test="tei:persName">The <note> element in a language-known factoid
must contain a <persName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:trait]">
<sch:assert test="tei:persName">The <note> element inside the <trait>
element must contain a <persName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:state]">
<sch:assert test="tei:persName">The <note> element inside the <state>
element must contain a <persName>.</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:reg and preceding-sibling::tei:date]">
<sch:assert test="@ana">This <note> element requires an @ana
attribute.</sch:assert>
</sch:rule> | ||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:note[parent::tei:birth | parent::tei:death | parent::tei:education
| parent::tei:langKnowledge | parent::tei:nationality | parent::tei:occupation
| parent::tei:residence | parent::tei:socecStatus | parent::tei:state
| parent::tei:trait]/tei:persName[1]/@ref">
<sch:assert test=". = ancestor::tei:person/tei:persName/@ref | ancestor::tei:personGrp/tei:persName/@ref"> The URI in this @ref attribute and the URI in the @ref attribute on the <persName> that
is the child of <person> must match.
</sch:assert>
</sch:rule>
<sch:rule context="tei:note[parent::tei:birth | parent::tei:death | parent::tei:nationality
| parent::tei:residence]/tei:placeName[1]/@ref">
<sch:report test=". = ancestor::tei:person/tei:placeName/@ref | ancestor::tei:personGrp/tei:placeName/@ref"> The URI in this @ref attribute and the URI in the @ref attribute on the <placeName> that
is the child of <person> must match.
</sch:report>
</sch:rule> | ||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:note[parent::tei:reg and preceding-sibling::tei:date]">
<sch:assert test="normalize-space(.) = 'This regularized date was calculated by the
SPEAR editor from a non-calendrical dating system such as regnal years,
etc.'"> The only note allowed in this context must contain the following text: "This
regularized date was calculated by the SPEAR editor from a non-calendrical dating
system such as regnal years, etc." </sch:assert>
</sch:rule> | ||||||||||||||||||||||||||||||
Content model | <content> <macroRef key="macro.specialPara"/> </content> ⚓ | ||||||||||||||||||||||||||||||
Schema Declaration | element note { att.global.attribute.xmlid, att.global.attribute.n, att.global.attribute.xmllang, att.global.attribute.xmlbase, att.global.attribute.xmlspace, att.global.linking.attribute.corresp, att.global.linking.attribute.synch, att.global.linking.attribute.sameAs, att.global.linking.attribute.copyOf, att.global.linking.attribute.next, att.global.linking.attribute.prev, att.global.linking.attribute.exclude, att.global.linking.attribute.select, att.global.rendition.attribute.rend, att.global.rendition.attribute.style, att.global.rendition.attribute.rendition, att.global.responsibility.attribute.cert, att.global.responsibility.attribute.resp, att.global.source.attribute.source, att.cmc.attributes, att.placement.attributes, att.pointing.attributes, att.written.attributes, attribute ana { "#calculated" }?, attribute type { "desc" | "certainty" | "relatedEvent" }?, attribute subtype { "incerta" | "dubia" | "errata" }?, macro.specialPara }⚓ |
<num> (number) contains a number, written in any form. [3.6.3. Numbers and Measures] | |||||||||||||||||||||||
Module | core — SPEAR Schema Customization | ||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||
Member of | |||||||||||||||||||||||
Contained by | |||||||||||||||||||||||
May contain | |||||||||||||||||||||||
Note | Detailed analyses of quantities and units of measure in historical documents may also use the feature structure mechanism described in chapter 19. Feature Structures. The <num> element is intended for use in simple applications. | ||||||||||||||||||||||
Example | <p>I reached <num type="cardinal" value="21">twenty-one</num> on
my <num type="ordinal" value="21">twenty-first</num> birthday</p>
<p>Light travels at <num value="3E10">3×10<hi rend="sup">10</hi>
</num> cm per second.</p> | ||||||||||||||||||||||
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ | ||||||||||||||||||||||
Schema Declaration | element num { att.global.attributes, att.cmc.attributes, att.ranging.attributes, att.typed.attribute.subtype, attribute type { "cardinal" | "ordinal" | "fraction" | "percentage" }?, attribute value { text }?, macro.phraseSeq }⚓ |
<occupation> (occupation) contains an informal description of a person's trade, profession or occupation. [16.2.2. The Participant Description] | |||||||||||||||||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||
Contained by | |||||||||||||||||||||||
May contain | core: note | ||||||||||||||||||||||
Note | This customization restricts the attribute classes of <occupation> to att.datable.w3c and att.global.analytic. If more precise dating is required for a SPEAR factoid, the encoder should use the <date> element. It only allows <note> as a child element and it restricts the required @ana attribute to keyword URIs in the Syriac Taxonomy that pertain to occupations. | ||||||||||||||||||||||
Example | <ab type="factoid" subtype="occupation"
xml:id="factoid-5" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/802-5</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/53"/>
<occupation ana="http://syriaca.org/taxonomy/bishops">
<note type="desc">
<persName ref="http://syriaca.org/person/53">Simeon</persName> was a bishop.
</note>
</occupation>
</person>
</listPerson>
...
</ab> | ||||||||||||||||||||||
Content model | <content> <elementRef key="note" minOccurs="1" maxOccurs="1"/> </content> ⚓ | ||||||||||||||||||||||
Schema Declaration | element occupation { att.datable.w3c.attributes, attribute ana { list { + } }, attribute scheme { text }?, attribute code { text }?, note }⚓ |
<orgName> (organization name) contains an organizational name. [14.2.2. Organizational Names] | |
Module | namesdates — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | |
May contain | |
Example | About a year back, a question of considerable interest was agitated in the <orgName key="PAS1" type="voluntary">
<placeName key="PEN">Pennsyla.</placeName> Abolition Society
</orgName> [...] |
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ |
Schema Declaration | element orgName { att.global.attributes, att.cmc.attributes, att.datable.attributes, att.editLike.attributes, att.personal.attributes, att.typed.attributes, macro.phraseSeq }⚓ |
<orig> (original form) contains a reading which is marked as following the original, rather than being normalized or corrected. [3.5.2. Regularization and Normalization 13. Critical Apparatus] | |
Module | core — SPEAR Schema Customization |
Member of | |
Contained by | |
May contain | |
Note | This customization restricts <orig> to model.choicePart and model.pPart.transcriptional. |
Example | <ab type="factoid" subtype="birth"
xml:id="factoid-77" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/8559-77</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/608"/>
<birth notBefore="0239-10"
notAfter="0240-09">
<choice>
<reg>
<date notBefore="0239-10"
notAfter="0240-09" calendar="Gregorian">A.D. 239/40</date>
</reg>
<orig>
<date when-custom="0551"
calendar="Seleucid">A. Gr. 551</date>
</orig>
</choice>
<note type="desc">
<persName ref="http://syriaca.org/person/608">Mani</persName> was born in 239.</note>
</birth>
</person>
</listPerson>
...
</ab> |
Content model | <content> <macroRef key="macro.paraContent"/> </content> ⚓ |
Schema Declaration | element orig { macro.paraContent }⚓ |
<p> (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | core: note header: availability change editorialDecl licence |
May contain | |
Example | <p>Hallgerd was outside. <q>There is blood on your axe,</q> she said. <q>What have you
done?</q>
</p>
<p>
<q>I have now arranged that you can be married a second time,</q> replied Thjostolf.
</p>
<p>
<q>Then you must mean that Thorvald is dead,</q> she said.
</p>
<p>
<q>Yes,</q> said Thjostolf. <q>And now you must think up some plan for me.</q>
</p> |
Schematron |
<sch:rule context="tei:p">
<sch:report test="(ancestor::tei:ab or ancestor::tei:p) and not( ancestor::tei:floatingText
| 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.
</sch:report>
</sch:rule> |
Schematron |
<sch:rule context="tei:l//tei:p">
<sch:assert test="ancestor::tei:floatingText | parent::tei:figure | parent::tei:note"> Abstract model violation: Metrical lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText.
</sch:assert>
</sch:rule> |
Content model | <content> <macroRef key="macro.paraContent"/> </content> ⚓ |
Schema Declaration | element p { att.global.attributes, att.cmc.attributes, att.declaring.attributes, att.fragmentable.attributes, att.written.attributes, macro.paraContent }⚓ |
<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. [14.2.1. Personal Names] | |||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||
Attributes |
| ||||||||
Member of | |||||||||
Contained by | |||||||||
May contain | |||||||||
Note | This customization requires <persName> to have a @ref attribute that points to a Syriaca.org authority file for a person. | ||||||||
Example | <ab type="factoid" subtype="death"
xml:id="factoid-22" resp="#syoung #dschwartz">
<idno type="URI">https://spear-prosop.org/816-22</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/50"/>
<death notBefore="0529">
<date notBefore="0529">529</date>
<placeName ref="http://syriaca.org/place/10">Antioch</placeName>
<note type="desc">
<persName ref="http://syriaca.org/person/50">John</persName> was martyred in
<placeName ref="http://syriaca.org/place/10">Antioch</placeName>
by <persName ref="http://syriaca.org/person/2274">Ephraim</persName> in 529.
</note>
</death>
</person>
</listPerson>
...
</ab> | ||||||||
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ | ||||||||
Schema Declaration | element persName { att.datable.w3c.attributes, attribute ref { text }, macro.phraseSeq }⚓ |
<person> (person) provides information about an identifiable individual, for example a participant in a language interaction, or a person referred to in a historical source. [14.3.2. The Person Element 16.2.2. The Participant Description] | |
Module | namesdates — SPEAR Schema Customization |
Contained by | namesdates: listPerson |
May contain | namesdates: birth death education langKnowledge occupation persName residence socecStatus state trait |
Note | The <person> element contains person factoid data. This customization requires the proper structure for that data. The first child of <person> must be a self-closing <persName> element with a @ref attribute containing a URIs pointing to Syriaca.org authority file for a person. The next child element must be one of the following: <birth>, <death>, <education>, <langKnown>, <nationality>, <occupation>, <residence>, <socecStatus>, <state>, or <trait>. |
Example | <ab type="factoid" subtype="nameVariant"
xml:id="factoid-4" resp="#ayousif #ekowalik">
<idno type="URI">https://spear-prosop.org/829-4</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/1875"> The blessed Mare </persName>
</person>
</listPerson>
...
</ab>
<ab type="factoid" subtype="birth"
xml:id="factoid-5" resp="#ayousif #ekowalik">
<idno type="URI">https://spear-prosop.org/829-5</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/1533"/>
<birth>
<placeName ref="http://syriaca.org/place/2743">Armenia</placeName>
<note type="desc">
<persName ref="http://syriaca.org/person/1533">Aaron</persName>
was born in the country of <placeName ref="http://syriaca.org/place/2743">Armenia</placeName>.
</note>
</birth>
</person>
</listPerson>
...
</ab> |
Content model | <content> <alternate minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="birth" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="death" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="education" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="langKnowledge" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="nationality" minOccurs="0" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="occupation" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="residence" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="socecStatus" minOccurs="0" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="state" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="trait" minOccurs="0" maxOccurs="1"/> </sequence> </alternate> </content> ⚓ |
Schema Declaration | element person { persName | ( persName, birth ) | ( persName, death ) | ( persName, education ) | ( persName, langKnowledge ) | ( persName, nationality? ) | ( persName, occupation ) | ( persName, residence ) | ( persName, socecStatus? ) | ( persName, state ) | ( persName, trait? ) }⚓ |
<personGrp> (personal group) describes a group of individuals treated as a single person for analytic purposes. [16.2.2. The Participant Description] | |
Module | namesdates — SPEAR Schema Customization |
Contained by | namesdates: listPerson |
May contain | core: ptr namesdates: education langKnowledge occupation persName residence socecStatus state trait |
Note | In addition to collecting prosopographical data on individual persons, SPEAR also collects data on groups. This customization requires the children and attributes of the <personGrp> to follow the expectations of the SPEAR data model. |
Example | <ab type="factoid" subtype="residence"
xml:id="factoid-42" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-42</idno>
<listPerson>
<personGrp>
<persName ref="http://syriaca.org/person/3669"/>
<residence>
<placeName ref="http://syriaca.org/place/399"/>
<note type="desc">
<persName ref="http://syriaca.org/person/3669">Anonymi
3669</persName> resided in the <placeName ref="http://syriaca.org/place/399">Convent of John
Urtaya</placeName> in <placeName ref="http://syriaca.org/place/8">Amida</placeName>. </note>
</residence>
</personGrp>
</listPerson>
<bibl type="primary">
<ptr target="http://syriaca.org/work/10510"/>
<citedRange unit="p">555</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/PHMZMM3R"/>
<citedRange unit="p">209</citedRange>
</bibl>
</ab> |
Content model | <content> <alternate minOccurs="1" maxOccurs="1"> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="ptr" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="education" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="nationality" minOccurs="0" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="residence" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="occupation" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="langKnowledge" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="state" minOccurs="1" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="trait" minOccurs="0" maxOccurs="1"/> </sequence> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="persName" minOccurs="1" maxOccurs="1"/> <elementRef key="socecStatus" minOccurs="0" maxOccurs="1"/> </sequence> </alternate> </content> ⚓ |
Schema Declaration | element personGrp { ( persName, ptr ) | ( persName, education ) | ( persName, nationality? ) | ( persName, residence ) | ( persName, occupation ) | ( persName, langKnowledge ) | ( persName, state ) | ( persName, trait? ) | ( persName, socecStatus? ) }⚓ |
<placeName> (place name) contains an absolute or relative place name. [14.2.3. Place Names] | |||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||
Attributes |
| ||||||||
Member of | |||||||||
Contained by | |||||||||
May contain | |||||||||
Note | This customization requires <placeName> to have a @ref attribute that points to a Syriaca.org authority file for a place. | ||||||||
Example | <ab type="factoid" subtype="birth"
xml:id="factoid-8" resp="#syoung">
<idno type="URI">https://spear-prosop.org/793-8</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3203"/>
<birth>
<placeName ref="http://syriaca.org/place/2779">Fytr</placeName>
<note type="desc">
<persName ref="http://syriaca.org/person/3203">Mara Dada</persName> came from a village called
<placeName ref="http://syriaca.org/place/2779">Fytr</placeName>. </note>
</birth>
</person>
</listPerson>
...
</ab> | ||||||||
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ | ||||||||
Schema Declaration | element placeName { attribute ref { text }, macro.phraseSeq }⚓ |
<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. [2.4. The Profile Description 2.1.1. The TEI Header and Its Components] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: teiHeader |
May contain | Empty element |
Note | Although the content model permits it, it is rarely meaningful to supply multiple occurrences for any of the child elements of <profileDesc> unless these are documenting multiple texts. |
Example | <profileDesc>
<langUsage>
<language ident="fr">French</language>
</langUsage>
<textDesc n="novel">
<channel mode="w">print; part issues</channel>
<constitution type="single"/>
<derivation type="original"/>
<domain type="art"/>
<factuality type="fiction"/>
<interaction type="none"/>
<preparedness type="prepared"/>
<purpose type="entertain" degree="high"/>
<purpose type="inform" degree="medium"/>
</textDesc>
<settingDesc>
<setting>
<name>Paris, France</name>
<time>Late 19th century</time>
</setting>
</settingDesc>
</profileDesc> |
Content model | <content> <classRef key="model.profileDescPart" minOccurs="0" maxOccurs="unbounded"/> </content> ⚓ |
Schema Declaration | element profileDesc { att.global.attributes, model.profileDescPart* }⚓ |
<ptr> (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 17.1. Links] | |||||||||
Module | core — SPEAR Schema Customization | ||||||||
Attributes |
| ||||||||
Member of | |||||||||
Contained by | |||||||||
May contain | Empty element | ||||||||
Note | This customization requires a <ptr> to have a @type attribute (indicating "primary", "secondary", or "URN") and a @target attribute. It also ensures that the @target attribute with primary and secondary sources indicates a Syriaca.org authority file for a work or a bibliographic item. | ||||||||
Example | <ab type="factoid" subtype="nameVariant"
xml:id="factoid-1" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/811-1</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/2153">Zacharias</persName>
</person>
</listPerson>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/2IBLUVC7"/>
<citedRange unit="p">266</citedRange>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/work/811"/>
<citedRange unit="p">266</citedRange>
</bibl>
</ab> | ||||||||
Schematron |
<sch:rule context="tei:ptr">
<sch:report test="@target and @cRef">Only one of the attributes @target and @cRef may be supplied on <sch:name/>.</sch:report>
</sch:rule> | ||||||||
Content model | <content> <empty/> </content> ⚓ | ||||||||
Schema Declaration | element ptr { attribute target { list { + } }, empty }⚓ |
<pubPlace> (publication place) contains the name of the place where a bibliographic item was published. [3.12.2.4. Imprint, Size of a Document, and Reprint Information] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Contained by | core: bibl |
May contain | |
Example | <publicationStmt>
<publisher>Oxford University Press</publisher>
<pubPlace>Oxford</pubPlace>
<date>1989</date>
</publicationStmt> |
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ |
Schema Declaration | element pubPlace { att.global.attributes, att.naming.attributes, macro.phraseSeq }⚓ |
<publicationStmt> (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] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: fileDesc |
May contain | core: date header: authority availability idno |
Note | The <publicationStmt> is where we identify Syriaca.org as the entity responsible for publishing this information, indicate the date of the most recent edit, and identify the use license (Creative Commons CC-BY). |
Example | <publicationStmt>
<authority>Syriaca.org: The Syriac Reference Portal</authority>
<idno type="URI">https://spear-prosop.org/10510/tei</idno>
<availability>
<licence target="http://creativecommons.org/licenses/by/4.0/">
<p>Distributed under a Creative Commons Attribution 4.0 International License (CC BY 4.0)</p>
</licence>
</availability>
<date>2020-01-03-05:00</date>
</publicationStmt> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="authority" minOccurs="1"/> <elementRef key="idno" minOccurs="1"/> <elementRef key="availability" minOccurs="1"/> <elementRef key="date" minOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element publicationStmt { att.global.attributes, ( authority, idno, availability, date ) }⚓ |
<publisher> (publisher) provides the name of the organization responsible for the publication or distribution of a bibliographic item. [3.12.2.4. Imprint, Size of a Document, and Reprint Information 2.2.4. Publication, Distribution, Licensing, etc.] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Contained by | core: bibl |
May contain | |
Note | Use the full form of the name by which a company is usually referred to, rather than any abbreviation of it which may appear on a title page |
Example | <imprint>
<pubPlace>Oxford</pubPlace>
<publisher>Clarendon Press</publisher>
<date>1987</date>
</imprint> |
Content model | <content> <macroRef key="macro.phraseSeq"/> </content> ⚓ |
Schema Declaration | element publisher { att.global.attributes, att.canonical.attributes, macro.phraseSeq }⚓ |
<ref> (reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 17.1. Links] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | |
May contain | |
Note | The target and cRef attributes are mutually exclusive. |
Example | See especially <ref target="http://www.natcorp.ox.ac.uk/Texts/A02.xml#s2">the second
sentence</ref> |
Example | See also <ref target="#locution">s.v. <term>locution</term>
</ref>. |
Schematron |
<sch:rule context="tei:ref">
<sch:report test="@target and @cRef">Only one of the attributes @target and @cRef may be supplied on <sch:name/>.</sch:report>
</sch:rule> |
Content model | <content> <macroRef key="macro.paraContent"/> </content> ⚓ |
Schema Declaration | element ref { att.global.attributes, att.cReferencing.attributes, att.cmc.attributes, att.declaring.attributes, att.internetMedia.attributes, att.pointing.attributes, att.typed.attributes, macro.paraContent }⚓ |
<reg> (regularization) contains a reading which has been regularized or normalized in some sense. [3.5.2. Regularization and Normalization 13. Critical Apparatus] | |
Module | core — SPEAR Schema Customization |
Member of | |
Contained by | |
May contain | |
Note | This customization restricts <reg> to model.choicePart and model.pPart.transcriptional. |
Example | <ab type="factoid" subtype="birth"
xml:id="factoid-77" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/8559-77</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/608"/>
<birth notBefore="0239-10"
notAfter="0240-09">
<choice>
<reg>
<date notBefore="0239-10"
notAfter="0240-09" calendar="Gregorian">A.D. 239/40</date>
</reg>
<orig>
<date when-custom="0551"
calendar="Seleucid">A. Gr. 551</date>
</orig>
</choice>
<note type="desc">
<persName ref="http://syriaca.org/person/608">Mani</persName> was born in 239.</note>
</birth>
</person>
</listPerson>
...
</ab> |
Content model | <content> <macroRef key="macro.paraContent"/> </content> ⚓ |
Schema Declaration | element reg { macro.paraContent }⚓ |
<relation> (relationship) describes any kind of relationship or linkage amongst a specified group of places, events, persons, objects or other items. [14.3.2.3. Personal Relationships] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contained by | namesdates: listRelation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
May contain | core: desc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note | The <relation> element is used for personal relationships and constitutes one of the three main data types in SPEAR. When SPEAR encodes straight relationships, they appear in a relationship factoid (tei:ab[@subtype="relation"]/tei:listRelation/tei:relation). Relationships can also appear inside an event factoid in cases where an event creates a relationship, i.e. a wedding is an event that created a spousal relationship. In such cases, SPEAR encodes this relationship inside the event factoid. In addition to these personal relationships, the <relation> element is also used to encode relationships between closely related events. The <relation> element is also used in the <teiHeader>. In the context of personal relationships, this customization constrains the @ref, @ana, @active, @passive, and @mutual attributes. A @ref attribute is required and must contain a URI pointing to a personal relationship in the Syriac Taxonomy. An @ana attribute is optional but when used must contain a URI pointing to a qualifier relationship in the Syriac Taxonomy, i.e. a sibling relationship might be qualified as a step-sibling relationship using @ana. For mutual relationships where each participant has the same relationship to the other (i.e. spousal), a @mutual attribute is used with all of the participants in that relationship listed. In the case of a directed relationship (i.e. where person X is the parent of person Y) both the @active and @passive attributes are used. The values allowed on the @active, @passive, and @mutual attributes are URIs pointing to Syriaca.org authority files for persons. In the context of relationships between events, this customization only allows appropriate values on @ref while excluding @ana, @active, and @passive attributes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example | ...
<ab type="factoid" subtype="relation"
xml:id="factoid-10" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/8559-10</idno>
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/child-of" active="http://syriaca.org/person/2201"
passive="http://syriaca.org/person/2291">
<desc>
<persName ref="http://syriaca.org/person/2201">Abgar VIII</persName> was the child of
<persName ref="http://syriaca.org/person/2291">Maʿnu</persName>.
</desc>
</relation>
</listRelation>
...
</ab>
...
<ab type="factoid" subtype="relation"
xml:id="factoid-232" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/8559-232</idno>
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/sibling-of"
mutual="http://syriaca.org/person/2234 http://syriaca.org/person/13">
<desc>
<persName ref="http://syriaca.org/person/2234">Anonmyous 2234</persName> and
<persName ref="http://syriaca.org/person/13">Ephrem</persName> were siblings.
</desc>
</relation>
</listRelation>
...
</ab>
...
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Schematron |
<sch:schema>
<sch:ns prefix="rdf"
uri="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<sch:ns uri="http://www.w3.org/2004/02/skos/core#"
prefix="skos"/>
<sch:pattern>
<sch:rule context="tei:ab[@subtype='relation']/tei:listRelation/tei:relation | tei:ab[@subtype='event']/tei:listEvent/tei:event/tei:desc/tei:listRelation/tei:relation">
<sch:let name="taxonomy"
value="doc('https://raw.githubusercontent.com/srophe/syriaca-data/refs/heads/gaddel_development/data/taxonomy/taxonomy.rdf')"/>
<sch:let name="mutual"
value="$taxonomy//rdf:Description[@rdf:about='http://syriaca.org/taxonomy/mutual-relations-collection']/skos:member/@rdf:resource"/>
<sch:let name="directed"
value="$taxonomy//rdf:Description[@rdf:about='http://syriaca.org/taxonomy/directed-relations-collection']/skos:member/@rdf:resource"/>
<sch:report test=".[@ref = $mutual]/@active | .[@ref = $mutual]/@passive">
<sch:value-of select="@ref"/> is a relationship that requires a single @mutual attribute. The use of @active and @passive is not allowed.</sch:report>
<sch:report test=".[@ref = $directed]/@mutual">
<sch:value-of select="@ref"/> is a relationship that requires a the use of @active and @passive attributes, @mutual is not allowed.</sch:report>
</sch:rule>
</sch:pattern>
</sch:schema>
<sch:rule context="tei:ab[@subtype='event']/tei:listRelation/tei:relation">
<sch:assert test="@mutual">A @mutual attribute is required on <relation>
in event factoids.</sch:assert>
<sch:report test="@active">@active attributes are not allowed on <relation>
in event factoids.</sch:report>
<sch:report test="@passive">@passive attributes are not allowed on <relation>
in event factoids.</sch:report>
</sch:rule>
<sch:rule context="tei:ab[@subtype='relation']/tei:listRelation/tei:relation/@mutual
| tei:ab[@subtype='relation']/tei:listRelation/tei:relation/@active
| tei:ab[@subtype='relation']/tei:listRelation/tei:relation/@passive
| tei:ab[@subtype='event']/tei:listEvent/tei:event/tei:desc/tei:listRelation/tei:relation/@mutual
| tei:ab[@subtype='event']/tei:listEvent/tei:event/tei:desc/tei:listRelation/tei:relation/@active
| tei:ab[@subtype='event']/tei:listEvent/tei:event/tei:desc/tei:listRelation/tei:relation/@passive">
<sch:let name="personIndex"
value="doc('https://raw.githubusercontent.com/srophe/syriaca/master/documentation/indexes/persons.xml')"/>
<sch:let name="personURIs"
value="$personIndex//tei:person/@ref"/>
<sch:let name="error" value="."/>
<sch:assert test=" every $i in (tokenize(., ' ')) satisfies $i = $personURIs"
role="warning">
<sch:value-of select="$error"/> is not currently in use.
Note that all person URIs take the form 'http://syriaca.org/person/{\d+}'
(where {\d+} is a number). If a URI is not current available, replace the number portion of the URI with
"#" followed without a space by a number that you use consistently when encoding information
about that person.
</sch:assert>
</sch:rule> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:event[@when]//tei:relation">
<sch:assert test="./@when = ./ancestor::tei:event/@when"> This <relation> must have a @when attribute with the value <sch:value-of select="./ancestor::tei:event/@when"/>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:event[@notBefore]//tei:relation">
<sch:assert test="./@notBefore = ./ancestor::tei:event/@notBefore"> This <relation> must have a @notBefore attribute with the value <sch:value-of select="./ancestor::tei:event/@notBefore"/>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:event[@notAfter]//tei:relation">
<sch:assert test="./@notAfter = ./ancestor::tei:event/@notAfter"> This <relation> must have a @notAfter attribute with the value <sch:value-of select="./ancestor::tei:event/@notAfter"/>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:event[@from]//tei:relation">
<sch:assert test="./@from = ./ancestor::tei:event/@from"> This <relation> must have a @from attribute with the value <sch:value-of select="./ancestor::tei:event/@from"/>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:event[@to]//tei:relation">
<sch:assert test="./@to = ./ancestor::tei:event/@to"> This <relation> must have a @to attribute with the value <sch:value-of select="./ancestor::tei:event/@to"/>.
</sch:assert>
</sch:rule> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:relation">
<sch:assert test="@ref or @key or @name">One of the attributes @name, @ref or @key must be supplied</sch:assert>
</sch:rule> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:relation">
<sch:report test="@active and @mutual">Only one of the attributes @active and @mutual may be supplied</sch:report>
</sch:rule> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:relation">
<sch:report test="@passive and not(@active)">the attribute @passive may be supplied only if the attribute @active is supplied</sch:report>
</sch:rule> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Content model | <content> <elementRef key="desc" minOccurs="0" maxOccurs="1"/> </content> ⚓ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Schema Declaration | element relation { att.global.attribute.xmlid, att.global.attribute.n, att.global.attribute.xmllang, att.global.attribute.xmlbase, att.global.attribute.xmlspace, att.global.linking.attribute.corresp, att.global.linking.attribute.synch, att.global.linking.attribute.sameAs, att.global.linking.attribute.copyOf, att.global.linking.attribute.next, att.global.linking.attribute.prev, att.global.linking.attribute.exclude, att.global.linking.attribute.select, att.global.rendition.attribute.rend, att.global.rendition.attribute.style, att.global.rendition.attribute.rendition, att.global.responsibility.attribute.cert, att.global.responsibility.attribute.resp, att.global.source.attribute.source, att.canonical.attribute.key, att.datable.attributes, att.editLike.attributes, att.sortable.attributes, att.typed.attribute.subtype, attribute ana { list { * } }?, attribute ref { list { + } }?, attribute type { text }, ( attribute active { list { + } }? | attribute mutual { list { + } }? ), attribute name { text }?, attribute passive { list { + } }?, desc? }⚓ |
<residence> | |
Module | namesdates — SPEAR Schema Customization |
Attributes |
|
Contained by | |
May contain | |
Note | This customization limits the attribute classes of the <residence> element to att.datable.custom and att.datable.w3c and removes the <residence> element from all model classes. It also requires exactly one <placeName> child and one <note> child and allows an optional <date> child. |
Example | <ab type="factoid" subtype="residence"
xml:id="factoid-3" resp="#jwalters">
<idno type="URI">https://spear-prosop.org/798-3</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/1980"/>
<residence>
<placeName ref="http://syriaca.org/place/493"/>
<note type="desc">
<persName ref="http://syriaca.org/person/1980">Paul</persName> resided in
<placeName ref="http://syriaca.org/place/493">Sophanene</placeName>.
</note>
</residence>
</person>
</listPerson>
...
</ab> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="placeName" minOccurs="1" maxOccurs="1"/> <elementRef key="date" minOccurs="0" maxOccurs="1"/> <elementRef key="note" minOccurs="1" maxOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element residence { att.datable.custom.attributes, att.datable.w3c.attributes, ( placeName, date?, note ) }⚓ |
<resp> (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.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Contained by | core: respStmt |
May contain | |
Note | The attribute ref, inherited from the class att.canonical may be used to indicate the kind of responsibility in a normalized form by referring directly to a standardized list of responsibility types, such as that maintained by a naming authority, for example the list maintained at http://www.loc.gov/marc/relators/relacode.html for bibliographic usage. |
Example | <respStmt>
<resp ref="http://id.loc.gov/vocabulary/relators/com.html">compiler</resp>
<name>Edward Child</name>
</respStmt> |
Content model | <content> <macroRef key="macro.phraseSeq.limited"/> </content> ⚓ |
Schema Declaration | element resp { att.global.attributes, att.canonical.attributes, att.datable.attributes, macro.phraseSeq.limited }⚓ |
<respStmt> (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.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.2. The Edition Statement 2.2.5. The Series Statement] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Contained by | header: seriesStmt titleStmt |
May contain | |
Example | <respStmt>
<resp>transcribed from original ms</resp>
<persName>Claus Huitfeldt</persName>
</respStmt> |
Example | <respStmt>
<resp>converted to XML encoding</resp>
<name>Alan Morrison</name>
</respStmt> |
Content model | <content> <sequence> <alternate> <sequence> <elementRef key="resp" minOccurs="1" maxOccurs="unbounded"/> <classRef key="model.nameLike.agent" minOccurs="1" maxOccurs="unbounded"/> </sequence> <sequence> <classRef key="model.nameLike.agent" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="resp" minOccurs="1" maxOccurs="unbounded"/> </sequence> </alternate> <elementRef key="note" minOccurs="0" maxOccurs="unbounded"/> </sequence> </content> ⚓ |
Schema Declaration | element respStmt { att.global.attributes, att.canonical.attributes, ( ( ( resp+, model.nameLike.agent+ ) | ( model.nameLike.agent+, resp+ ) ), note* ) }⚓ |
<revisionDesc> (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] | |||||||||||
Module | header — SPEAR Schema Customization | ||||||||||
Attributes |
| ||||||||||
Contained by | header: teiHeader | ||||||||||
May contain | header: change | ||||||||||
Note | SPEAR uses the <revisionDesc> element to indicate the status of the record and to indicate major data changes and the person responsible. | ||||||||||
Example | <revisionDesc status="draft">
<change who="http://syriaca.org/documentation/editors.xml#srophe-util"
when="2020-01-03-05:00" status="draft">CHANGED: Add a human readable version or the
tei:relation element in a tei:desc.</change>
<change who="http://syriaca.org/documentation/editors.xml#syoung"
status="draft">Initial
data collected by Sam Young, Summer 2018. </change>
</revisionDesc> | ||||||||||
Content model | <content> <elementRef key="change" minOccurs="0" maxOccurs="unbounded"/> </content> ⚓ | ||||||||||
Schema Declaration | element revisionDesc { att.global.attributes, attribute status { "draft" | "published" }?, change* }⚓ |
<rs> (referencing string) contains a general purpose name or referring string. [14.2.1. Personal Names 3.6.1. Referring Strings] | |
Module | core — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | |
May contain | Character data only |
Note | Neither SPEAR nor Syriaca.org establish authority control for events. Events are simply too varied and open to interpretation to make this feasable. SPEAR instead relates two or more events that deal with similar or identical event by referencing a corresponding factoid or factoids. The <rs> element is used to do this. |
Example | <ab type="factoid" subtype="event"
xml:id="factoid-11" resp="#ktorabi #dschwartz">
<idno type="URI">https://spear-prosop.org/3050-11</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/letters http://syriaca.org/taxonomy/wealth
http://syriaca.org/taxonomy/property">
<desc>
<persName ref="http://syriaca.org/person/2460">Musonius</persName> sent a letter to
<persName ref="http://syriaca.org/person/2511">Longinus</persName>
seeking illicit gain.
<listRelation>
<relation type="person"
ref="http://syriaca.org/taxonomy/sender-of-letter-to" active="http://syriaca.org/person/2460"
passive="http://syriaca.org/person/2511"/>
</listRelation>
</desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/8GRCM47V"/>
<citedRange unit="p">79</citedRange>
</bibl>
<note type="relatedEvent">
<listRelation>
<relation type="event"
ref="http://syriaca.org/taxonomy/same-event"
mutual="https://spear-prosop.org/3026-11 https://spear-prosop.org/3050-11">
<desc> The following factoids deal with the same event: <rs ref="https://spear-prosop.org/3026-11">3026-11</rs>,
<rs ref="https://spear-prosop.org/3050-11">3050-11</rs>.
</desc>
</relation>
</listRelation>
</note>
</ab> |
Schematron |
<sch:rule context="//tei:ab/tei:listEvent/tei:listRelation/tei:relation/tei:desc/tei:rs/@ref">
<sch:let name="SameEventURIs"
value="tokenize(ancestor::tei:relation/@mutual, ' ')"/>
<sch:let name="countMutual"
value="for $i in $SameEventURIs return count($i)"/>
<sch:assert test=". = $SameEventURIs"> Acceptable values: <sch:value-of select="string-join($SameEventURIs, '; ')"/>
</sch:assert>
</sch:rule>
<sch:rule context="//tei:ab//tei:rs">
<sch:let name="URIno"
value="substring-after(@ref, 'spear-prosop.org/')"/>
<sch:assert test=". = $URIno"> The text node of this <rs> element must be <sch:value-of select="$URIno"/>.
</sch:assert>
</sch:rule> |
Content model | <content> <textNode/> </content> ⚓ |
Schema Declaration | element rs { att.global.attributes, att.cmc.attributes, att.naming.attributes, att.typed.attributes, text }⚓ |
<seriesStmt> (series statement) groups information about the series, if any, to which a publication belongs. [2.2.5. The Series Statement 2.2. The File Description] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: fileDesc |
May contain | |
Note | Individual SPEAR records are part of one or more series. Every record is part of SPEAR itself. A series can be designated according to a collection of works; for example a letter collection or a collection of saints' lives. This allows the data to be querried according to series as well as according to the entire dataset. |
Example | <fileDesc> ...
<seriesStmt>
<title level="s">SPEAR: Syriac Persons, Events, and Relations</title>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<idno type="URI">https://spear-prosop.org</idno>
</seriesStmt>
<seriesStmt>
<title level="m" xml:lang="en">The Letters of Severus of Antioch</title>
<title type="sub">A SPEAR Prosopography</title>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<idno type="URI">https://spear-prosop.org/letters-severus</idno>
<biblScope unit="volume">
<title level="s">SPEAR: Syriac Persons, Events, and Relations</title>
<idno type="URI">https://spear-prosop.org</idno>
</biblScope>
</seriesStmt>
...
</fileDesc> |
Schematron |
<sch:rule context="tei:seriesStmt[1]/tei:title[1]">
<sch:assert test="@level='s'"> The <title> requires a @level attribute with a value of "s".
</sch:assert>
<sch:assert test=". = 'SPEAR: Syriac Persons, Events, and Relations'"> This <title> must be "SPEAR: Syriac Persons, Events, and Relations".
</sch:assert>
</sch:rule>
<sch:rule context="tei:seriesStmt[2]/tei:title[1]">
<sch:assert test="@level='m'"> The <title> requires a @level attribute with a value of "m".
</sch:assert>
<sch:assert test=" . = 'The Chronicle of Edessa' or . = 'The Letters of Severus of Antioch'
or . = 'The Lives of the Eastern Saints' "> This <title> must be one of the following: "The Chronicle of Edessa", "The Lives of the Eastern Saints",
or "The Letters of Severus of Antioch".
</sch:assert>
</sch:rule>
<sch:rule context="tei:seriesStmt[2]/tei:title[2]">
<sch:assert test="@type='sub'"> This <title> requires a @type attribute with a value of "sub".
</sch:assert>
<sch:assert test=". = 'A SPEAR Prosopography'"> This <title> must be "A SPEAR Prosopography".
</sch:assert>
</sch:rule> |
Schematron |
<sch:rule context="tei:seriesStmt/tei:editor">
<sch:assert test="@role='general'"> This <editor> must have a @role attribute with a value of "general".
</sch:assert>
</sch:rule>
<sch:rule context="tei:seriesStmt/tei:editor">
<sch:report test="@role='creator'"> This <editor> cannot have a @role attribute with a value of "creator".
</sch:report>
</sch:rule>
<sch:rule context="tei:seriesStmt[1]/tei:editor">
<sch:assert test="@ref='http://syriaca.org/documentation/editors.xml#dschwartz'"> This <editor> must have a @ref attribute with a value of "http://syriaca.org/documentation/editors.xml#dschwartz".
</sch:assert>
<sch:assert test=". = 'Daniel L. Schwartz'"> This <editor> must be "Daniel L. Schwartz".
</sch:assert>
</sch:rule> |
Schematron |
<sch:rule context="tei:seriesStmt[1]/tei:idno">
<sch:assert test=". = 'https://spear-prosop.org'"> This <idno> must be "https://spear-prosop.org".
</sch:assert>
</sch:rule>
<sch:rule context="tei:seriesStmt[2]/tei:idno[preceding-sibling::tei:title = 'The Lives
of the Eastern Saints']">
<sch:assert test=". = 'https://spear-prosop.org/lives-eastern-saints'"> This <idno> must be "https://spear-prosop.org/lives-eastern-saints".
</sch:assert>
</sch:rule>
<sch:rule context="tei:seriesStmt[2]/tei:idno[preceding-sibling::tei:title = 'The Letters
of Severus of Antioch']">
<sch:assert test=". = 'https://spear-prosop.org/letters-severus'"> This <idno> must be "https://spear-prosop.org/letters-severus".
</sch:assert>
</sch:rule> |
Schematron |
<sch:rule context="tei:seriesStmt[1]">
<sch:report test="tei:biblScope"> This <seriesStmt> cannot contain a <biblScope>.
</sch:report>
</sch:rule>
<sch:rule context="tei:seriesStmt[2]">
<sch:assert test="tei:biblScope"> This <seriesStmt> requires a <biblScope>.
</sch:assert>
</sch:rule>
<sch:rule context="tei:seriesStmt[2]/tei:biblScope">
<sch:assert test="@unit='volume'"> This <biblScope> element requires a a @unit
attribute having a value of "volume".
</sch:assert>
<sch:assert test="tei:title"> This <biblScope> element requires a child <title> element.
</sch:assert>
</sch:rule>
<sch:rule context="tei:seriesStmt[2]/tei:biblScope/tei:title">
<sch:assert test="@level='s'"> This <title> element requires a @level attribute with a value of "s".
</sch:assert>
<sch:assert test=". = 'SPEAR: Syriac Persons, Events, and Relations'"> This <title> element must contain "SPEAR: Syriac Persons, Events, and Relations".
</sch:assert>
</sch:rule> |
Content model | <content> <sequence minOccurs="1" maxOccurs="unbounded"> <elementRef key="title" minOccurs="1" maxOccurs="2"/> <elementRef key="editor" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="respStmt" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="idno" minOccurs="1" maxOccurs="1"/> <elementRef key="biblScope" minOccurs="0" maxOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element seriesStmt { att.global.attributes, att.declarable.attributes, ( ( ( title, title? ), editor+, respStmt*, idno, biblScope? )+ ) }⚓ |
<sic> (Latin for thus or so) contains text reproduced although apparently incorrect or inaccurate. [3.5.1. Apparent Errors] | |
Module | core — SPEAR Schema Customization |
Member of | |
Contained by | |
May contain | |
Note | SPEAR encodes when there is a mistake in the source text and uses the <sic> element to indicate the incorrect information. This customization also restricts <reg> to model.choicePart and model.pPart.transcriptional. |
Example | <ab type="factoid" subtype="event"
xml:id="factoid-52" resp="#dschwartz">
<idno type="URI">https://spear-prosop.org/8559-52</idno>
<listEvent>
<event ana="http://syriaca.org/taxonomy/emperors http://syriaca.org/taxonomy/accession"
when="-0044">
<desc> In
<choice>
<corr>
<date when="-0044"
calendar="Gregorian">44 B.C.</date>
</corr>
<sic>
<reg>
<date notBefore="-0046-10"
notAfter="-0045-09" calendar="Gregorian">46/5 B.C.</date>
</reg>
<orig>
<date when-custom="0266"
datingMethod="Seleucid">A. Gr.
266</date>
</orig>
</sic>
</choice>
<persName ref="http://syriaca.org/person/2238">Augustus</persName> became King of
<placeName ref="http://syriaca.org/place/166"> Rome </placeName>.
</desc>
</event>
</listEvent>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/XQU5AW69"/>
<citedRange unit="p">3</citedRange>
</bibl>
<bibl type="urn">
<ptr target="urn:cts:syriacLit:nhsl8559.syriacCorpus57:3"/>
</bibl>
<bibl type="primary">
<ptr target="http://syriaca.org/cbss/IRKW44YC"/>
<citedRange unit="part">2</citedRange>
</bibl>
<note type="certainty" subtype="errata"> The author has apparently mistaken the date of Augustus'
accession. </note>
</ab> |
Content model | <content> <macroRef key="macro.paraContent"/> </content> ⚓ |
Schema Declaration | element sic { macro.paraContent }⚓ |
<socecStatus> (socio-economic status) contains an informal description of a person's perceived social or economic status. [16.2.2. The Participant Description] | |||||||||||||||||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||
Contained by | |||||||||||||||||||||||
May contain | core: note | ||||||||||||||||||||||
Note | This customization restricts the attribute classes of <socecStatus> to att.datable.w3c and att.global.analytic. If more precise dating is required for a SPEAR factoid, the encoder should use the <date> element. It only allows <note> as a child element and it restricts the required @ana attribute to keyword URIs in the Syriac Taxonomy that pertain to socioeconomic status. | ||||||||||||||||||||||
Example | <ab type="factoid" subtype="socecStatus"
xml:id="factoid-6" resp="#upossekel #mdebie #egarret">
<idno type="URI">https://spear-prosop.org/847-6</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3014"/>
<socecStatus ana="http://syriaca.org/taxonomy/patricians">
<note type="desc">
<persName ref="http://syriaca.org/person/3014">Photius</persName> was a patrician.
</note>
</socecStatus>
</person>
</listPerson>
...
</ab> | ||||||||||||||||||||||
Content model | <content> <elementRef key="note" minOccurs="1" maxOccurs="unbounded"/> </content> ⚓ | ||||||||||||||||||||||
Schema Declaration | element socecStatus { att.datable.w3c.attributes, attribute ana { list { + } }, attribute scheme { text }?, attribute code { text }?, note+ }⚓ |
<sourceDesc> (source description) describes the source(s) 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] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: fileDesc |
May contain | core: listBibl namesdates: listRelation |
Note | Although SPEAR produces born-digital prosographical material, all of the data in SPEAR is derived from print editions or manuscripts of Syriac works. SPEAR uses the <sourceDesc> element to describe that source material and to connect the data in this file to the Syriaca.org knowledge graph. |
Example | <fileDesc> ...
<sourceDesc>
<listBibl>
<head>Sources for the Data in this Born Digital Prosopography</head>
<bibl type="primary">
<title>Lives of the Eastern Saints II</title>
<title>Four
Deacons</title>
<author>
<persName ref="http://syriaca.org/person/74">John
of Ephesus</persName>
</author>
<editor>
<persName ref="http://syriaca.org/person/403">E. W.
Brooks</persName>
</editor>
<ptr target="http://syriaca.org/cbss/U78B4C66"/>
</bibl>
<bibl type="primary">
<title>Four Deacons</title>
<author>
<persName ref="http://syriaca.org/person/74">John of
Ephesus</persName>
</author>
<ptr target="http://syriaca.org/work/834"/>
</bibl>
</listBibl>
<listRelation>
<relation type="part"
active="http://syriaca.org/work/834" name="dcterms:isPartOf"
passive="http://syriaca.org/work/9501"/>
</listRelation>
</sourceDesc>
...
</fileDesc> |
Content model | <content> <sequence minOccurs="0" maxOccurs="unbounded"> <elementRef key="listBibl" minOccurs="1" maxOccurs="1"/> <elementRef key="listRelation" minOccurs="0" maxOccurs="unbounded"/> </sequence> </content> ⚓ |
Schema Declaration | element sourceDesc { att.global.attributes, att.declarable.attributes, ( ( listBibl, listRelation* )* ) }⚓ |
<sponsor> (sponsor) specifies the name of a sponsoring organization or institution. [2.2.1. The Title Statement] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: titleStmt |
May contain | Character data only |
Note | The TEI guidelines recommend that the <titleStmt> element also indicate who is responsible for this TEI file. Since <author> is typically used for the author of a print or manuscript text which was then encoded in TEI, we avoid the use of the <author> element. Instead, we identify Syriaca.org as the sponsoring institution. |
Example | <titleStmt>
<title level="a" type="main">Severus of Antioch, Letter, <title ref="http://syriaca.org/work/3218">To Philexonus the Bishop</title>
</title>
<title type="sub">A SPEAR Prosopography</title>
<sponsor>Syriaca.org: The Syriac Reference Portal</sponsor>
<funder>The National Endowment for the Humanities</funder>
<funder>Texas A&M University</funder>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<editor role="creator"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<respStmt>
<resp>>Data architecture, data entry, editing, proofreading, and revision
by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</name>
</respStmt>
</titleStmt> |
Content model | <content> <textNode/> </content> ⚓ |
Schema Declaration | element sponsor { att.global.attributes, att.canonical.attributes, att.datable.attributes, text }⚓ |
<state> (state) contains a description of some status or quality attributed to a person, place, or organization often at some specific time or for a specific date range. [14.3.1. Basic Principles 14.3.2.1. Personal Characteristics] | |||||||||||||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||||||||||||
Attributes |
| ||||||||||||||||||
Contained by | |||||||||||||||||||
May contain | |||||||||||||||||||
Note | This customization restricts the attribute classes of <state> to att.datable.w3c and att.global.analytic. If more precise dating is required for a SPEAR factoid, the encoder should use the <date> element. It only allows <note> as a child element. It restricts the required @type attribute to the values "citizenship", "mental", "religiousAffiliation", and "sanctity". It restricts the required @ana attribute to keyword URIs in the Syriac Taxonomy that pertain to each of these three types. | ||||||||||||||||||
Example | <ab type="factoid" subtype="sanctity"
xml:id="factoid-4" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-4</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3218"/>
<state type="sanctity"
ana="http://syriaca.org/taxonomy/saints">
<note type="desc">
<persName ref="http://syriaca.org/person/3218">John</persName> was a saint.</note>
</state>
</person>
</listPerson>
...
</ab>
...
<ab type="factoid" subtype="citizenship"
xml:id="factoid-65" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-65</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3185"/>
<state type="citizenship">
<placeName ref="http://syriaca.org/place/8"/>
<note type="desc">
<persName ref="http://syriaca.org/person/3185">Abraham</persName> was from
<placeName ref="http://syriaca.org/place/8">Amida</placeName>.</note>
</state>
</person>
</listPerson>
...
</ab> | ||||||||||||||||||
Content model | <content> <sequence minOccurs="1" maxOccurs="1"> <elementRef key="placeName" minOccurs="0" maxOccurs="1"/> <elementRef key="note" minOccurs="1" maxOccurs="1"/> </sequence> </content> ⚓ | ||||||||||||||||||
Schema Declaration | element state { att.datable.w3c.attributes, attribute ana { text }?, attribute type { "citizenship" | "mental" | "religiousAffiliation" | "sanctity" }, ( placeName?, note ) }⚓ |
<taxonomy> (taxonomy) defines a typology either implicitly, by means of a bibliographic citation, or explicitly by a structured taxonomy. [2.3.7. The Classification Declaration] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: classDecl |
May contain | header: category |
Note | SPEAR only uses <taxonomy> to indicate a date that has been calculated by the editors based on a regnal year given in the text. |
Example | <classDecl>
<taxonomy>
<category xml:id="calculated">
<catDesc> Used to denote a date calculated by the editor from a regnal year
given in the text. </catDesc>
</category>
</taxonomy>
</classDecl> |
Content model | <content> <elementRef key="category" minOccurs="1" maxOccurs="1"/> </content> ⚓ |
Schema Declaration | element taxonomy { att.global.attributes, att.datcat.attributes, category }⚓ |
<teiHeader> (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 16.1. Varieties of Composite Text] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | textstructure: TEI |
May contain | header: encodingDesc fileDesc profileDesc revisionDesc |
Note | Every <teiHeader> contains a <fileDesc> (information about the creation of a file), an <encodingDesc> (editorial rules), a <profileDesc>> (non-bibliographic aspects of a text), and a <revisionDesc> (history of revisions). |
Example | <teiHeader>
<fileDesc>
<titleStmt>
<title level="a" type="main">Severus of Antioch, Letter, <title ref="http://syriaca.org/work/3182">To Charisius the Monk</title>
</title>
<title type="sub">A SPEAR Prosopography</title>
<sponsor>Syriaca.org: The Syriac Reference Portal</sponsor>
<funder>The National Endowment for the Humanities</funder>
<funder>Texas A&M University</funder>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<editor role="creator"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<respStmt>
<resp>>Data architecture, data entry, editing, proofreading, and revision
by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</name>
</respStmt>
</titleStmt>
<editionStmt>
<edition n="1.0"/>
</editionStmt>
<publicationStmt>
<authority>Syriaca.org: The Syriac Reference Portal</authority>
<idno type="URI">https://spear-prosop.org/3182/tei</idno>
<availability>
<licence target="http://creativecommons.org/licenses/by/4.0/">
<p>Distributed under a Creative Commons Attribution 4.0 International License (CC BY 4.0)</p>
</licence>
</availability>
<date>2020-01-03-05:00</date>
</publicationStmt>
<seriesStmt>
<title level="s">SPEAR: Syriac Persons, Events, and Relations</title>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<idno type="URI">https://spear-prosop.org</idno>
</seriesStmt>
<seriesStmt>
<title level="m" xml:lang="en">The Letters of Severus of Antioch</title>
<title type="sub">A SPEAR Prosopography</title>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<idno type="URI">https://spear-prosop.org/letters-severus</idno>
<biblScope unit="volume">
<title level="s">SPEAR: Syriac Persons, Events, and Relations</title>
<idno type="URI">https://spear-prosop.org</idno>
</biblScope>
</seriesStmt>
<sourceDesc>
<listBibl>
<head>Sources for the Data in this Born Digital Prosopography</head>
<bibl type="primary">
<title xml:lang="en">A Collection of Letters of Severus of Antioch</title>
<title xml:lang="la" level="s">Patrologia Orientalis</title>
<author>
<persName ref="http://syriaca.org/person/51">Severus of
Antioch</persName>
</author>
<editor>
<persName ref="http://syriaca.org/person/403">E. W.
Brooks</persName>
</editor>
<biblScope unit="tomus">12</biblScope>
<ptr target="http://syriaca.org/cbss/X6ZICMNL"/>
<citedRange unit="p">292-93</citedRange>
<citedRange unit="part">37</citedRange>
</bibl>
<bibl type="primary">
<title xml:lang="en">To Charisius the Monk</title>
<author>
<persName ref="http://syriaca.org/person/51"/>Severus of
Antioch</author>
<ptr target="http://syriaca.org/work/3182"/>
</bibl>
</listBibl>
</sourceDesc>
</fileDesc>
<encodingDesc>
<classDecl>
<taxonomy>
<category xml:id="calculated">
<catDesc> Used to denote a date calculated by the editor from a regnal year
or some other dating method given in the text. </catDesc>
</category>
</taxonomy>
</classDecl>
</encodingDesc>
<profileDesc/>
<revisionDesc status="draft">
<change who="http://syriaca.org/documentation/editors.xml#dschwartz"
when="2021-10" status="draft">CREATED</change>
</revisionDesc>
</teiHeader> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="fileDesc" minOccurs="1" maxOccurs="1"/> <elementRef key="encodingDesc" minOccurs="1" maxOccurs="1"/> <elementRef key="profileDesc" minOccurs="1" maxOccurs="1"/> <elementRef key="revisionDesc" minOccurs="1" maxOccurs="1"/> </sequence> </content> ⚓ |
Schema Declaration | element teiHeader { att.global.attributes, ( fileDesc, encodingDesc, profileDesc, revisionDesc ) }⚓ |
<text> (text) 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 16.1. Varieties of Composite Text] | |
Module | textstructure — SPEAR Schema Customization |
Attributes |
|
Member of | |
Contained by | textstructure: TEI |
May contain | |
Note | This element should not be used to represent a text which is inserted at an arbitrary point within the structure of another, for example as in an embedded or quoted narrative; the <floatingText> is provided for this purpose. |
Example | <text>
<front>
<docTitle>
<titlePart>Autumn Haze</titlePart>
</docTitle>
</front>
<body>
<l>Is it a dragonfly or a maple leaf</l>
<l>That settles softly down upon the water?</l>
</body>
</text> |
Example | The body of a text may be replaced by a group of nested texts, as in the following schematic: <text>
<front>
<!-- front matter for the whole group -->
</front>
<group>
<text>
<!-- first text -->
</text>
<text>
<!-- second text -->
</text>
</group>
</text> |
Content model | <content> <sequence> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> <sequence minOccurs="0"> <elementRef key="front"/> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> </sequence> <alternate> <elementRef key="body"/> <elementRef key="group"/> </alternate> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> <sequence minOccurs="0"> <elementRef key="back"/> <classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/> </sequence> </sequence> </content> ⚓ |
Schema Declaration | element text { att.global.attributes, att.declaring.attributes, att.typed.attributes, att.written.attributes, ( model.global*, ( ( front, model.global* )? ), ( body | group ), model.global*, ( ( back, model.global* )? ) ) }⚓ |
<title> (title) contains a title for any kind of work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.5. The Series Statement] | |||||||||||||||||||||||
Module | core — SPEAR Schema Customization | ||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||
Member of | |||||||||||||||||||||||
Contained by | |||||||||||||||||||||||
May contain | |||||||||||||||||||||||
Note | SPEAR uses the <title> element both to offer a title for the current document and to connect each SPEAR file to the Syriaca.org knowledge graph using a work URI. The subtitle for a SPEAR work is always "A SPEAR Prosopography." | ||||||||||||||||||||||
Example | <titleStmt>
<title level="a" type="main">John of Ephesus, <title ref="http://syriaca.org/work/816">John of Tella</title>, in <title>The Lives of the Eastern
Saints</title>
</title>
<title type="sub">A SPEAR Prosopography</title>
...
</titleStmt> | ||||||||||||||||||||||
Schematron |
<sch:rule context="tei:title/@ref">
<sch:assert test="matches(., concat('http://syriaca.org/work/', '\d+'))"> The @ref attribute must take a Syriaca.org work URI
which reqires the form 'http://syriaca.org/work/{\d+}'
(where {\d+} is a number).
</sch:assert>
</sch:rule> | ||||||||||||||||||||||
Content model | <content> <macroRef key="macro.paraContent"/> </content> ⚓ | ||||||||||||||||||||||
Schema Declaration | element title { att.global.attributes, att.canonical.attributes, att.cmc.attributes, att.datable.attributes, att.typed.attribute.subtype, attribute type { text }?, attribute level { "a" | "m" | "j" | "s" | "u" }?, macro.paraContent }⚓ |
<titleStmt> (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] | |
Module | header — SPEAR Schema Customization |
Attributes |
|
Contained by | header: fileDesc |
May contain | |
Note | Each <titleStmt> contains (in order) a <title>, an <sponsor>, a <funder> (optional), <editor>, and a <respStmt>. |
Example | <titleStmt>
<title level="a" type="main">John of Ephesus, <title ref="http://syriaca.org/work/793">Habib</title>, in <title>The Lives of the Eastern Saints</title>
</title>
<title type="sub">A SPEAR Prosopography</title>
<sponsor>Syriaca.org: The Syriac Reference Portal</sponsor>
<funder>The National Endowment for the Humanities</funder>
<funder>Texas A&M University</funder>
<editor role="general"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<editor role="creator"
ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</editor>
<editor role="creator"
ref="http://syriaca.org/documentation/editors.xml#syoung">Samuel Young</editor>
<respStmt>
<resp>Data architecture, data entry, editing, proofreading, and revision
by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#dschwartz">Daniel L. Schwartz</name>
</respStmt>
<respStmt>
<resp>Text analysis and data encoding by</resp>
<name ref="http://syriaca.org/documentation/editors.xml#syoung">Samuel Young</name>
</respStmt>
</titleStmt> |
Schematron |
<sch:rule context="//tei:titleStmt/tei:title[1]">
<sch:assert test="@level='m' or @level='a'"> The first <title> element child of <titleStmt> must have
@level attribute with a value of "m" indicating "monographic" or "a" indicating
analytic.
</sch:assert>
<sch:assert test="@type='main'"> The first <title> element child of <titleStmt> must have
@type attribute with a value of "main".
</sch:assert>
</sch:rule>
<sch:rule context="//tei:titleStmt/tei:title[2]">
<sch:assert test="@type='sub'"> The second <title> element child of <titleStmt> must have
@type attribute with a value of "sub".
</sch:assert>
<sch:assert test="normalize-space(.) = 'A SPEAR Prosopography'"> The text node of this subtitle must be "A SPEAR Prosopography".
</sch:assert>
</sch:rule> |
Content model | <content> <sequence minOccurs="1" maxOccurs="1" preserveOrder="true"> <elementRef key="title" minOccurs="2" maxOccurs="2"/> <elementRef key="sponsor" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="funder" minOccurs="0" maxOccurs="unbounded"/> <elementRef key="editor" minOccurs="1" maxOccurs="unbounded"/> <elementRef key="respStmt" minOccurs="1" maxOccurs="unbounded"/> </sequence> </content> ⚓ |
Schema Declaration | element titleStmt { att.global.attributes, ( ( title, title ), sponsor+, funder*, editor+, respStmt+ ) }⚓ |
<trait> (trait) contains a description of some status or quality attributed to a person, place, or organization typically, but not necessarily, independent of the volition or action of the holder and usually not at some specific time or for a specific date range. [14.3.1. Basic Principles 14.3.2.1. Personal Characteristics] | |||||||||||||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||||||||||||
Attributes |
| ||||||||||||||||||
Contained by | |||||||||||||||||||
May contain | core: note | ||||||||||||||||||
Note | This customization restricts the attribute classes of <trait> to att.datable.w3c and att.global.analytic. If more precise dating is required for a SPEAR factoid, the encoder should use the <date> element. It only allows <note> as a child element. It restricts the required @type attribute to the values "physical", "gender", and "ethnicLabel". It restricts the required @ana attribute to keyword URIs in the Syriac Taxonomy that pertain to each of these three types. | ||||||||||||||||||
Example | <ab type="factoid" subtype="gender"
xml:id="factoid-18" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-18</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3192"/>
<trait type="gender"
ana="http://syriaca.org/taxonomy/men">
<note type="desc">
<persName ref="http://syriaca.org/person/3192">Mar Afwrsm</persName> was male.
</note>
</trait>
</person>
</listPerson>
...
</ab>
...
<ab type="factoid" subtype="ethnicLabel"
xml:id="factoid-23" resp="#ktorabi">
<idno type="URI">https://spear-prosop.org/10510-23</idno>
<listPerson>
<person>
<persName ref="http://syriaca.org/person/3218"/>
<trait type="ethnicLabel"
ana="http://syriaca.org/taxonomy/syriacs">
<note type="desc">
<persName ref="http://syriaca.org/person/3218">John Urtaya</persName> was Syrian.
</note>
</trait>
</person>
</listPerson>
...
</ab> | ||||||||||||||||||
Content model | <content> <elementRef key="note" minOccurs="1" maxOccurs="1"/> </content> ⚓ | ||||||||||||||||||
Schema Declaration | element trait { att.datable.w3c.attributes, attribute ana { list { + } }, attribute type { "physical" | "gender" | "ethnicLabel" }, note }⚓ |
model.attributable groups elements that contain a word or phrase that can be attributed to a source. [3.3.3. Quotation 4.3.2. Floating Texts] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.quoteLike |
model.availabilityPart groups elements such as licences and paragraphs of text which may appear as part of an availability statement. [2.2.4. Publication, Distribution, Licensing, etc.] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | licence |
model.biblLike groups elements containing a bibliographic description. [3.12. Bibliographic Citations and References] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | bibl listBibl |
model.choicePart groups elements (other than <choice> itself) which can be used within a <choice> alternation. [3.5. Simple Editorial Changes] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | corr orig reg sic |
model.dateLike groups elements containing temporal expressions. [3.6.4. Dates and Times 14.4. Dates] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | date |
model.divPart groups paragraph-level elements appearing directly within divisions. [1.3. The TEI Class System] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.lLike model.pLike[p] |
Note | Note that this element class does not include members of the model.inter class, which can appear either within or between paragraph-level items. |
model.emphLike groups phrase-level elements which are typographically distinct and to which a specific function can be attributed. [3.3. Highlighting and Quotation] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | title |
model.global groups elements which may appear at any point within a TEI text. [1.3. The TEI Class System] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.global.edit model.global.meta model.milestoneLike model.noteLike[note] |
model.highlighted groups phrase-level elements which are typographically distinct. [3.3. Highlighting and Quotation] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.emphLike[title] model.hiLike |
model.inter groups elements which can appear either within or between paragraph-like elements. [1.3. The TEI Class System] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.attributable[model.quoteLike] model.biblLike[bibl listBibl] model.egLike model.labelLike model.listLike[listRelation] model.oddDecl model.stageLike |
model.limitedPhrase groups phrase-level elements excluding those elements primarily intended for transcription of existing sources. [1.3. The TEI Class System] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.emphLike[title] model.hiLike model.pPart.data[model.addressLike model.dateLike[date] model.measureLike[num] model.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] rs]] model.pPart.editorial[choice] model.pPart.msdesc model.phrase.xml model.ptrLike[ptr ref] |
model.listLike groups list-like elements. [3.8. Lists] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | listRelation |
model.measureLike groups elements which denote a number, a quantity, a measurement, or similar piece of text that conveys some numerical meaning. [3.6.3. Numbers and Measures] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | num |
model.nameLike groups elements which name or refer to a person, place, or organization. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] rs |
Note | A superset of the naming elements that may appear in datelines, addresses, statements of responsibility, etc. |
model.nameLike.agent groups elements which contain names of individuals or corporate bodies. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | name orgName persName |
Note | This class is used in the content model of elements which reference names of people or organizations. |
model.noteLike groups globally-available note-like elements. [3.9. Notes, Annotation, and Indexing] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | note |
model.pLike groups paragraph-like elements. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | p |
model.pPart.data groups phrase-level elements containing names, dates, numbers, measures, and similar data. [3.6. Names, Numbers, Dates, Abbreviations, and Addresses] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.addressLike model.dateLike[date] model.measureLike[num] model.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] rs] |
model.pPart.edit groups phrase-level elements for simple editorial correction and transcription. [3.5. Simple Editorial Changes] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.pPart.editorial[choice] model.pPart.transcriptional[corr orig reg sic] |
model.pPart.editorial groups phrase-level elements for simple editorial interventions that may be useful both in transcribing and in authoring. [3.5. Simple Editorial Changes] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | choice |
model.pPart.transcriptional groups phrase-level elements used for editorial transcription of pre-existing source materials. [3.5. Simple Editorial Changes] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | corr orig reg sic |
model.paraPart groups elements that may appear in paragraphs and similar elements. [3.1. Paragraphs] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.gLike model.global[model.global.edit model.global.meta model.milestoneLike model.noteLike[note]] model.inter[model.attributable[model.quoteLike] model.biblLike[bibl listBibl] model.egLike model.labelLike model.listLike[listRelation] model.oddDecl model.stageLike] model.lLike model.phrase[model.graphicLike model.highlighted[model.emphLike[title] model.hiLike] model.lPart model.pPart.data[model.addressLike model.dateLike[date] model.measureLike[num] model.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] rs]] model.pPart.edit[model.pPart.editorial[choice] model.pPart.transcriptional[corr orig reg sic]] model.pPart.msdesc model.phrase.xml model.ptrLike[ptr ref] model.segLike model.specDescLike] |
model.phrase groups elements which can occur at the level of individual words or phrases. [1.3. The TEI Class System] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.graphicLike model.highlighted[model.emphLike[title] model.hiLike] model.lPart model.pPart.data[model.addressLike model.dateLike[date] model.measureLike[num] model.nameLike[model.nameLike.agent[name orgName persName] model.offsetLike model.persNamePart model.placeStateLike[model.placeNamePart[placeName]] rs]] model.pPart.edit[model.pPart.editorial[choice] model.pPart.transcriptional[corr orig reg sic]] model.pPart.msdesc model.phrase.xml model.ptrLike[ptr ref] model.segLike model.specDescLike |
Note | This class of elements can occur within paragraphs, list items, lines of verse, etc. |
model.placeNamePart groups elements which form part of a place name. [14.2.3. Place Names] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | placeName |
model.placeStateLike groups elements which describe changing states of a place. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | model.placeNamePart[placeName] |
model.ptrLike groups elements used for purposes of location and reference. [3.7. Simple Links and Cross-References] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | ptr ref |
model.resource groups separate elements which constitute the content of a digital resource, as opposed to its metadata. [1.3. The TEI Class System] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Members | text |
att.ascribed provides attributes for elements representing speech or action that can be ascribed to a specific individual. [3.3.3. Quotation 8.3. Elements Unique to Spoken Texts] | |||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||
Members | change | ||||||||||
Attributes |
|
att.cReferencing provides attributes that may be used to supply a canonical reference as a means of identifying the target of a pointer. | |||||||||
Module | tei — SPEAR Schema Customization | ||||||||
Members | ref | ||||||||
Attributes |
|
att.canonical provides attributes that can be used to associate a representation such as a name or title with canonical information about the object being named or referenced. [14.1.1. Linking Names and Their Referents] | |||||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||||
Members | att.naming[att.personal[name orgName] author event pubPlace rs] authority bibl catDesc funder publisher relation resp respStmt sponsor title | ||||||||||||||||||||
Attributes |
| ||||||||||||||||||||
Example | In this contrived example, a canonical reference to the same organisation is provided in four different ways. <author n="1">
<name ref="http://nzetc.victoria.ac.nz/tm/scholarly/name-427308.html"
type="organisation">New Zealand Parliament, Legislative Council</name>
</author>
<author n="2">
<name ref="nzvn:427308"
type="organisation">New Zealand Parliament, Legislative Council</name>
</author>
<author n="3">
<name ref="./named_entities.xml#o427308"
type="organisation">New Zealand Parliament, Legislative Council</name>
</author>
<author n="4">
<name key="name-427308"
type="organisation">New Zealand Parliament, Legislative Council</name>
</author> The first presumes the availability of an internet connection and a processor that can resolve a URI (most can). The second requires, in addition, a <prefixDef> that declares how the nzvm prefix should be interpreted. The third does not require an internet connection, but does require that a file named named_entities.xml be in the same directory as the TEI document. The fourth requires that an entire external system for key resolution be available. | ||||||||||||||||||||
Note | The key attribute is more flexible and general-purpose, but its use in interchange requires that documentation about how the key is to be resolved be sent to the recipient of the TEI document. In contrast values of the ref attribute are resolved using the widely accepted protocols for a URI, and thus less documentation, if any, is likely required by the recipient in data interchange. These guidelines provide no semantic basis or suggested precedence when both key and ref are provided. For this reason simultaneous use of both is not recommended unless documentation explaining the use is provided, probably in an ODD customizaiton, for interchange. |
att.cmc (computer-mediated communication) provides attributes categorizing how the element content was created in a CMC environment. | |||||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||||
Members | bibl head listBibl listRelation name note num orgName p ref rs title | ||||||||||||||||||||
Attributes |
|
att.datable provides attributes for normalization of elements that contain dates, times, or datable events. [3.6.4. Dates and Times 14.4. Dates] | |||||||
Module | tei — SPEAR Schema Customization | ||||||
Members | author change event funder langKnown licence name orgName relation resp sponsor title | ||||||
Attributes |
| ||||||
Note | This ‘superclass’ provides attributes that can be used to provide normalized values of temporal information. By default, the attributes from the att.datable.w3c class are provided. If the module for names & dates is loaded, this class also provides attributes from the att.datable.iso and att.datable.custom classes. In general, the possible values of attributes restricted to the W3C datatypes form a subset of those values available via the ISO 8601 standard. However, the greater expressiveness of the ISO datatypes may not be needed, and there exists much greater software support for the W3C datatypes. |
att.datable.custom provides attributes for normalization of elements that contain datable events to a custom dating system (i.e. other than the Gregorian used by W3 and ISO). [14.4. Dates] | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Members | att.datable[author change event funder langKnown licence name orgName relation resp sponsor title] date residence | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Attributes |
|
att.datable.iso provides attributes for normalization of elements that contain datable events using the ISO 8601:2004 standard. [3.6.4. Dates and Times 14.4. Dates] | |||||||||||||||||||||||||||||||||||
Module | namesdates — SPEAR Schema Customization | ||||||||||||||||||||||||||||||||||
Members | att.datable[author change event funder langKnown licence name orgName relation resp sponsor title] | ||||||||||||||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||||||||||||||
Note | The value of these attributes should be a normalized representation of the date, time, or combined date & time intended, in any of the standard formats specified by ISO 8601:2004, using the Gregorian calendar. If both when-iso and dur-iso are specified, the values should be interpreted as indicating a span of time by its starting time (or date) and duration. That is, <date when-iso="2007-06-01" dur-iso="P8D"/> indicates the same time period as <date when-iso="2007-06-01/P8D"/> In providing a ‘regularized’ form, no claim is made that the form in the source text is incorrect; the regularized form is simply that chosen as the main form for purposes of unifying variant forms under a single heading. |
att.datable.w3c provides attributes for normalization of elements that contain datable events conforming to the W3C XML Schema Part 2: Datatypes Second Edition. [3.6.4. Dates and Times 14.4. Dates] | |||||||||||||||||||||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||||||||||||||||||||
Members | att.datable[author change event funder langKnown licence name orgName relation resp sponsor title] birth date death education occupation persName residence socecStatus state trait | ||||||||||||||||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:*[@when]">
<sch:report test="@notBefore|@notAfter|@from|@to"
role="nonfatal">The @when attribute cannot be used with any other att.datable.w3c attributes.</sch:report>
</sch:rule> | ||||||||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:*[@from]">
<sch:report test="@notBefore"
role="nonfatal">The @from and @notBefore attributes cannot be used together.</sch:report>
</sch:rule> | ||||||||||||||||||||||||||||||||||||
Schematron |
<sch:rule context="tei:*[@to]">
<sch:report test="@notAfter"
role="nonfatal">The @to and @notAfter attributes cannot be used together.</sch:report>
</sch:rule> | ||||||||||||||||||||||||||||||||||||
Example | <date from="1863-05-28" to="1863-06-01">28 May through 1 June 1863</date> | ||||||||||||||||||||||||||||||||||||
Note | The value of these attributes should be a normalized representation of the date, time, or combined date & time intended, in any of the standard formats specified by XML Schema Part 2: Datatypes Second Edition, using the Gregorian calendar. The most commonly-encountered format for the date portion of a temporal attribute is Note that this format does not currently permit use of the value 0000 to represent the year 1 BCE; instead the value -0001 should be used. |
att.datcat provides attributes that are used to align XML elements or attributes with the appropriate Data Categories (DCs) defined by an external taxonomy, in this way establishing the identity of information containers and values, and providing means of interpreting them. [10.5.2. Lexical View 19.3. Other Atomic Feature Values] | |||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||
Members | category taxonomy | ||||||||||||||||||
Attributes |
| ||||||||||||||||||
Example | The example below presents the TEI encoding of the name-value pair <part of speech, common noun> , where the name (key) ‘part of speech’ is abbreviated as ‘POS’, and the value, ‘common noun’ is symbolized by ‘NN’. The entire name-value pair is encoded by means of the element <f>. In TEI XML, that element acts as the container, labeled with the name attribute. Its contents may be complex or simple. In the case at hand, the content is the symbol ‘NN’.The datcat attribute relates the feature name (i.e., the key) to the data category ‘part of speech’, while the attribute valueDatcat relates the feature value to the data category common noun. Both these data categories should be defined in an external and preferably open reference taxonomy or ontology.<fs>
<f name="POS"
datcat="http://hdl.handle.net/11459/CCR_C-396_5a972b93-2294-ab5c-a541-7c344c5f26c3">
<symbol valueDatcat="http://hdl.handle.net/11459/CCR_C-1256_7ec6083c-23d4-224d-6f94-eecbe6861545"
value="NN"/>
</f>
<!-- ... -->
</fs> ‘NN’ is the symbol for common noun used e.g. in the CLAWS-7 tagset defined by the University Centre for Computer Corpus Research on Language at the University of Lancaster. The very same data category used for tagging an early version of the British National Corpus, and coming from the BNC Basic (C5) tagset, uses the symbol ‘NN0’ (rather than ‘NN’). Making these values semantically interoperable would be extremely difficult without a human expert if they were not anchored in a single point of an established reference taxonomy of morphosyntactic data categories. In the case at hand, the string ‘http://hdl.handle.net/11459/CCR_C-1256_7ec6083c-23d4-224d-6f94-eecbe6861545’ is both a persistent identifier of the data category in question, as well as a pointer to a shared definition of common noun.While the symbols ‘NN’, ‘NN0’, and many others (often coming from languages other than English) are implicitly members of the container category ‘part of speech’, it is sometimes useful not to rely on such an implicit relationship but rather use an explicit identifier for that data category, to distinguish it from other morphosyntactic data categories, such as gender, tense, etc. For that purpose, the above example uses the datcat attribute to reference a definition of part of speech. The reference taxonomy in this example is the CLARIN Concept Registry.If the feature structure markup exemplified above is to be repeated many times in a single document, it is much more efficient to gather the persistent identifiers in a single place and to only reference them, implicitly or directly, from feature structure markup. The following example is much more concise than the one above and relies on the concepts of feature structure declaration and feature value library, discussed in chapter [[undefined FS]]. <fs>
<f name="POS" fVal="#commonNoun"/>
<!-- ... -->
</fs> The assumption here is that the relevant feature values are collected in a place that the annotation document in question has access to — preferably, a single document per linguistic resource, for example an <fsdDecl> that is XIncluded as a sibling of <text> or a child of <encodingDesc>; a <taxonomy> available resource-wide (e.g., in a shared header) is also an option.The example below presents an <fvLib> element that collects the relevant feature values (most of them omitted). At the same time, this example shows one way of encoding a tagset, i.e., an established inventory of values of (in the case at hand) morphosyntactic categories. <fvLib n="POS values">
<symbol xml:id="commonNoun" value="NN"
datcat="http://hdl.handle.net/11459/CCR_C-396_5a972b93-2294-ab5c-a541-7c344c5f26c3"/>
<symbol xml:id="properNoun" value="NP"
datcat="http://hdl.handle.net/11459/CCR_C-1371_fbebd9ec-a7f4-9a36-d6e9-88ee16b944ae"/>
<!-- ... -->
</fvLib> Note that these Guidelines do not prescribe a specific choice between datcat and valueDatcat in such cases. The former is the generic way of referencing a data category, whereas the latter is more specific, in that it references a data category that represents a value. The choice between them comes into play where a single element — or a tight element complex, such as the <f>/<symbol> complex illustrated above — make it necessary or useful to distinguish between the container data category and its value. | ||||||||||||||||||
Example | In the context of dictionaries designed with semantic interoperability in mind, the following example ensures that the <pos> element is interpreted as the same information container as in the case of the example of <f name="POS"> above. <gramGrp>
<pos datcat="http://hdl.handle.net/11459/CCR_C-396_5a972b93-2294-ab5c-a541-7c344c5f26c3"
valueDatcat="http://hdl.handle.net/11459/CCR_C-1256_7ec6083c-23d4-224d-6f94-eecbe6861545">NN</pos>
</gramGrp> Efficiency of this type of interoperable markup demands that the references to the particular data categories should best be provided in a single place within the dictionary (or a single place within the project), rather than being repeated inside every entry. For the container elements, this can be achieved at the level of <tagUsage>, although here, the valueDatcat attribute should be used, because it is not the <tagUsage> element that is associated with the relevant data category, but rather the element <pos> (or <case>, etc.) that is described by <tagUsage>: <tagsDecl partial="true">
<!-- ... -->
<namespace name="http://www.tei-c.org/ns/1.0">
<tagUsage gi="pos"
targetDatcat="http://hdl.handle.net/11459/CCR_C-396_5a972b93-2294-ab5c-a541-7c344c5f26c3">Contains the part of speech.</tagUsage>
<tagUsage gi="case"
targetDatcat="http://hdl.handle.net/11459/CCR_C-1840_9f4e319c-f233-6c90-9117-7270e215f039">Contains information about the grammatical case that the described form is inflected for.</tagUsage>
<!-- ... -->
</namespace>
</tagsDecl> Another possibility is to shorten the URIs by means of the <prefixDef> mechanism, as illustrated below: <listPrefixDef>
<prefixDef ident="ccr" matchPattern="pos"
replacementPattern="http://hdl.handle.net/11459/CCR_C-396_5a972b93-2294-ab5c-a541-7c344c5f26c3"/>
<prefixDef ident="ccr" matchPattern="adj"
replacementPattern="http://hdl.handle.net/11459/CCR_C-1230_23653c21-fca1-edf8-fd7c-3df2d6499157"/>
</listPrefixDef>
<!-- ... -->
<entry>
<!--...-->
<form>
<orth>isotope</orth>
</form>
<gramGrp>
<pos datcat="ccr:pos"
valueDatcat="ccr:adj">adj</pos>
</gramGrp>
<!--...-->
</entry> This mechanism creates implications that are not always wanted, among others, in the case at hand, suggesting that the identifiers ‘pos’ and ‘adj’ belong to a namespace associated with the CLARIN Concept Repository (CCR), whereas that is solely a shorthand mechanism whose scope is the current resource. Documenting this clearly in the header of the dictionary is therefore advised.Yet another possibility is to associate the information about the relationship between a TEI markup element and the data category that it is intended to model already at the level of modeling the dictionary resource, that is, at the level of the ODD, in the <equiv> element that is a child of <elementSpec> or <attDef>. | ||||||||||||||||||
Example | The <taxonomy> element is a handy tool for encoding taxonomies that are later referenced by att.datcat attributes, but it can also act as an intermediary device, for example holding a fragment of an external taxonomy (or ‘flattening’ an external ontology) that is relevant to the project or document at hand. (It is also imaginable that, for the purpose of the project at hand, the local <taxonomy> element combines vocabularies that originate from more than one external taxonomy or ontology.) In such cases, the <taxonomy> creates a local layer of indirection: the att.datcat attributes internal to the resource may reference the <category> elements stored in the header (as well as the <taxonomy> element itself), whereas these same <category> and <taxonomy> elements use att.datcat attributes to reference the original taxonomy or ontology. <encodingDesc>
<!-- ... -->
<classDecl>
<!-- ... -->
<taxonomy xml:id="UD-SYN"
datcat="https://universaldependencies.org/u/dep/index.html">
<desc>
<term>UD syntactic relations</term>
</desc>
<category xml:id="acl"
valueDatcat="https://universaldependencies.org/u/dep/acl.html">
<catDesc>
<term>acl</term>: Clausal modifier of noun (adjectival clause)</catDesc>
</category>
<category xml:id="acl_relcl"
valueDatcat="https://universaldependencies.org/u/dep/acl-relcl.html">
<catDesc>
<term>acl:relcl</term>: relative clause modifier</catDesc>
</category>
<category xml:id="advcl"
valueDatcat="https://universaldependencies.org/u/dep/advcl.html">
<catDesc>
<term>advcl</term>: Adverbial clause modifier</catDesc>
</category>
<!-- ... -->
</taxonomy>
</classDecl>
</encodingDesc> The above fragment was excerpted from the GB subset of the ParlaMint project in April 2023, and enriched with att.datcat attributes for the purpose of illustrating the mechanism described here.Note that, in the ideal case, the values of att.datcat attributes should be persistent identifiers, and that the addressing scheme of Universal Dependencies is treated here as persistent for the sake of illustration. Note also that the contrast between datcat used on <taxonomy> on the one hand, and the valueDatcat used on <category> on the other, is not mandatory: both kinds of relations could be encoded by means of the generic datcat attribute, but using the former for the container and the latter for the content is more user-friendly. | ||||||||||||||||||
Example | The targetDatcat attribute is designed to be used in, e.g., feature structure declarations, and is analogous to the targetLang attribute of the att.pointing class, in that it describes the object that is being referenced, rather than the referencing object. <fDecl name="POS"
targetDatcat="http://hdl.handle.net/11459/CCR_C-396_5a972b93-2294-ab5c-a541-7c344c5f26c3">
<fDescr>part of speech (morphosyntactic category)</fDescr>
<vRange>
<vAlt>
<symbol value="NN"
datcat="http://hdl.handle.net/11459/CCR_C-1256_7ec6083c-23d4-224d-6f94-eecbe6861545"/>
<symbol value="NP"
datcat="http://hdl.handle.net/11459/CCR_C-1371_fbebd9ec-a7f4-9a36-d6e9-88ee16b944ae"/>
<!-- ... -->
</vAlt>
</vRange>
</fDecl> Above, the <fDecl> uses targetDatcat, because if it were to use datcat, it would be asserting that it is an instance of the container data category part of speech, whereas it is not — it models a container (<f>) that encodes a part of speech. Note also that it is the <f> that is modeled above, not its values, which are used as direct references to data categories; hence the use of datcat in the <symbol> element. | ||||||||||||||||||
Example | The att.datcat attributes can be used for any sort of taxonomies. The example below illustrates their usefulness for describing usage domain labels in dictionaries on the example of the Diccionario da Lingua Portugueza by António de Morais Silva, retro-digitised in the MORDigital project.
<!-- in the dictionary header --><encodingDesc>
<classDecl>
<taxonomy xml:id="domains">
<!--...-->
<category xml:id="domain.medical_and_health_sciences">
<catDesc xml:lang="en">Medical and Health Sciences</catDesc>
<catDesc xml:lang="pt">Ciências Médicas e da Saúde</catDesc>
<category xml:id="domain.medical_and_health_sciences.medicine"
valueDatcat="https://vocabs.rossio.fcsh.unl.pt/pub/morais_domains/pt/page/0025">
<catDesc xml:lang="en">
<term>Medicine</term>
<gloss>
<!--...-->
</gloss>
</catDesc>
<catDesc xml:lang="pt">
<term>Medicina</term>
<gloss>
<!--...-->
</gloss>
</catDesc>
</category>
</category>
<!--...-->
</taxonomy>
</classDecl>
</encodingDesc>
<!--
inside an <entry> element: -->
<usg type="domain"
valueDatcat="#domain.medical_and_health_sciences.medicine">Med.</usg> In the Morais dictionary, the relevant domain labels are in the header, getting referenced inside the dictionary, from <usg> elements. The vocabulary used for dictionary-internal labelling is in turn anchored in the MorDigital controlled vocabulary service of the NOVA University of Lisbon – School of Social Sciences and Humanities (NOVA FCSH). | ||||||||||||||||||
Note | The TEI Abstract Model can be expressed as a hierarchy of attribute-value matrices (AVMs) of various types and of various levels of complexity, nested or grouped in various ways. At the most abstract level, an AVM consists of an information container and the value (contents) of that container. A simple example of an XML serialization of such structures is, on the one hand, the opening and closing tags that delimit and name the container, and, on the other, the content enclosed by the two tags that constitues the value. An analogous example is an attribute name and the value of that attribute. In a TEI XML example of two equivalent serializations expressing the name-value pair The att.datcat class provides means of addressing the containers and their values, while at the same time providing a way to interpret them in the context of external taxonomies or ontologies. Aligning e.g. both the <pos> element and the pos attribute with the same value of an external reference point (i.e., an entry in an agreed taxonomy) affirms the identity of the concept serialised by both the element container and the attribute container, and optionally provides a definition of that concept (in the case at hand, the concept part of speech). The value of the att.datcat attributes should be a PID (persistent identifier) that points to a specific — and, ideally, shared — taxonomy or ontology. Among the resources that can, to a lesser or greater extent, be used as inventories of (more or less) standardized linguistic categories are the GOLD ontology, CLARIN CCR, OLiA, or TermWeb's DatCatInfo, and also the Universal Dependencies inventory, on the assumption that its URIs are going to persist. It is imaginable that a project may choose to address a local taxonomy store instead, but this risks losing the advantage of interchangeability with other projects. Historically, datcat and valueDatcat originate from the (now obsolete) ISO 12620:2009 standard, describing the data model and procedures for a Data Category Registry (DCR). The current version of that standard, ISO 12620-1, does not standardize the serialization of pointers, merely mentioning the TEI att.datcat as an example. Note that no constraint prevents the occurrence of a combination of att.datcat attributes: the <fDecl> element, which is a natural bearer of the targetDatcat attribute, is an instance of a specific modeling element, and, in principle, could be semantically fixed by an appropriate reference taxonomy of modeling devices. |
att.declarable provides attributes for those elements in the TEI header which may be independently selected by means of the special purpose decls attribute. [16.3. Associating Contextual Information with a Text] | |||||||||
Module | tei — SPEAR Schema Customization | ||||||||
Members | availability bibl editorialDecl listBibl seriesStmt sourceDesc | ||||||||
Attributes |
| ||||||||
Note | The rules governing the association of declarable elements with individual parts of a TEI text are fully defined in chapter 16.3. Associating Contextual Information with a Text. Only one element of a particular type may have a default attribute with a value of true. |
att.declaring provides attributes for elements which may be independently associated with a particular declarable element within the header, thus overriding the inherited default for that element. [16.3. Associating Contextual Information with a Text] | |||||||
Module | tei — SPEAR Schema Customization | ||||||
Members | back body p ref text | ||||||
Attributes |
| ||||||
Note | The rules governing the association of declarable elements with individual parts of a TEI text are fully defined in chapter 16.3. Associating Contextual Information with a Text. |
att.docStatus provides attributes for use on metadata elements describing the status of a document. | |||||||||
Module | tei — SPEAR Schema Customization | ||||||||
Members | bibl change revisionDesc | ||||||||
Attributes |
| ||||||||
Example | <revisionDesc status="published">
<change when="2010-10-21"
status="published"/>
<change when="2010-10-02" status="cleared"/>
<change when="2010-08-02"
status="embargoed"/>
<change when="2010-05-01" status="frozen"
who="#MSM"/>
<change when="2010-03-01" status="draft"
who="#LB"/>
</revisionDesc> |
att.editLike provides attributes describing the nature of an encoded scholarly intervention or interpretation of any kind. [3.5. Simple Editorial Changes 11.3.1. Origination 14.3.2. The Person Element 12.3.1.1. Core Elements for Transcriptional Work] | |||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||
Members | event langKnown name orgName relation | ||||||||||||||||
Attributes |
| ||||||||||||||||
Note | The members of this attribute class are typically used to represent any kind of editorial intervention in a text, for example a correction or interpretation, or to date or localize manuscripts etc. Each pointer on the source (if present) corresponding to a witness or witness group should reference a bibliographic citation such as a <witness>, <msDesc>, or <bibl> element, or another external bibliographic citation, documenting the source concerned. |
att.fragmentable provides attributes for representing fragmentation of a structural element, typically as a consequence of some overlapping hierarchy. | |||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||
Members | p | ||||||||||
Attributes |
|
att.global provides attributes common to all elements in the TEI encoding scheme. [1.3.1.1. Global Attributes] | |||||||||||||||||||||||||||||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||||||||||||||||||||||||||||
Members | TEI author authority availability back bibl biblScope body catDesc category change classDecl edition editionStmt editorialDecl encodingDesc event fileDesc funder head langKnown licence listBibl listRelation name note num orgName p profileDesc pubPlace publicationStmt publisher ref relation resp respStmt revisionDesc rs seriesStmt sourceDesc sponsor taxonomy teiHeader text title titleStmt | ||||||||||||||||||||||||||||||||||||||||||||
Attributes |
|
att.global.analytic I have needed to include this because it somehow disappeared from this customization. I do not know why this was necessary. | |||||||||||
Module | derived-module-SPEAR | ||||||||||
Members | att.global[TEI author authority availability back bibl biblScope body catDesc category change classDecl edition editionStmt editorialDecl encodingDesc event fileDesc funder head langKnown licence listBibl listRelation name note num orgName p profileDesc pubPlace publicationStmt publisher ref relation resp respStmt revisionDesc rs seriesStmt sourceDesc sponsor taxonomy teiHeader text title titleStmt] occupation socecStatus state trait | ||||||||||
Attributes |
|
att.global.linking provides a set of attributes for hypertextual linking. [17. Linking, Segmentation, and Alignment] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Module | linking — SPEAR Schema Customization | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Members | att.global[TEI author authority availability back bibl biblScope body catDesc category change classDecl edition editionStmt editorialDecl encodingDesc event fileDesc funder head langKnown licence listBibl listRelation name note num orgName p profileDesc pubPlace publicationStmt publisher ref relation resp respStmt revisionDesc rs seriesStmt sourceDesc sponsor taxonomy teiHeader text title titleStmt] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Attributes |
|
att.global.rendition provides rendering attributes common to all elements in the TEI encoding scheme. [1.3.1.1.3. Rendition Indicators] | |||||||||||||||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||||||||||||||
Members | att.global[TEI author authority availability back bibl biblScope body catDesc category change classDecl edition editionStmt editorialDecl encodingDesc event fileDesc funder head langKnown licence listBibl listRelation name note num orgName p profileDesc pubPlace publicationStmt publisher ref relation resp respStmt revisionDesc rs seriesStmt sourceDesc sponsor taxonomy teiHeader text title titleStmt] | ||||||||||||||||||||||||||||||
Attributes |
|
att.global.responsibility provides attributes indicating the agent responsible for some aspect of the text, the markup or something asserted by the markup, and the degree of certainty associated with it. [1.3.1.1.4. Sources, certainty, and responsibility 3.5. Simple Editorial Changes 12.3.2.2. Hand, Responsibility, and Certainty Attributes 18.3. Spans and Interpretations 14.1.1. Linking Names and Their Referents] | |||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||
Members | att.global[TEI author authority availability back bibl biblScope body catDesc category change classDecl edition editionStmt editorialDecl encodingDesc event fileDesc funder head langKnown licence listBibl listRelation name note num orgName p profileDesc pubPlace publicationStmt publisher ref relation resp respStmt revisionDesc rs seriesStmt sourceDesc sponsor taxonomy teiHeader text title titleStmt] | ||||||||||||||
Attributes |
| ||||||||||||||
Example | Blessed are the
<choice>
<sic>cheesemakers</sic>
<corr resp="#editor" cert="high">peacemakers</corr>
</choice>: for they shall be called the children of God. | ||||||||||||||
Example |
<!-- in the <text> ... --><lg>
<!-- ... -->
<l>Punkes, Panders, baſe extortionizing
sla<choice>
<sic>n</sic>
<corr resp="#JENS1_transcriber">u</corr>
</choice>es,</l>
<!-- ... -->
</lg>
<!-- in the <teiHeader> ... -->
<!-- ... -->
<respStmt xml:id="JENS1_transcriber">
<resp when="2014">Transcriber</resp>
<name>Janelle Jenstad</name>
</respStmt> |
att.global.source provides attributes used by elements to point to an external source. [1.3.1.1.4. Sources, certainty, and responsibility 3.3.3. Quotation 8.3.4. Writing] | |||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||
Members | att.global[TEI author authority availability back bibl biblScope body catDesc category change classDecl edition editionStmt editorialDecl encodingDesc event fileDesc funder head langKnown licence listBibl listRelation name note num orgName p profileDesc pubPlace publicationStmt publisher ref relation resp respStmt revisionDesc rs seriesStmt sourceDesc sponsor taxonomy teiHeader text title titleStmt] | ||||||||||
Attributes |
| ||||||||||
Example | <p>
<!-- ... --> As Willard McCarty (<bibl xml:id="mcc_2012">2012, p.2</bibl>) tells us, <quote source="#mcc_2012">‘Collaboration’ is a problematic and should be a contested
term.</quote>
<!-- ... -->
</p> | ||||||||||
Example | <p>
<!-- ... -->
<quote source="#chicago_15_ed">Grammatical theories are in flux, and the more we learn, the
less we seem to know.</quote>
<!-- ... -->
</p>
<!-- ... -->
<bibl xml:id="chicago_15_ed">
<title level="m">The Chicago Manual of Style</title>,
<edition>15th edition</edition>. <pubPlace>Chicago</pubPlace>: <publisher>University of
Chicago Press</publisher> (<date>2003</date>), <biblScope unit="page">p.147</biblScope>.
</bibl> | ||||||||||
Example | <elementRef key="p" source="tei:2.0.1"/> Include in the schema an element named <p> available from the TEI P5 2.0.1 release. | ||||||||||
Example | <schemaSpec ident="myODD"
source="mycompiledODD.xml">
<!-- further declarations specifying the components required -->
</schemaSpec> Create a schema using components taken from the file mycompiledODD.xml. |
att.internetMedia provides attributes for specifying the type of a computer resource using a standard taxonomy. | |||||||
Module | tei — SPEAR Schema Customization | ||||||
Members | ref | ||||||
Attributes |
| ||||||
Example | In this example mimeType is used to indicate that the URL points to a TEI XML file encoded in UTF-8. <ref mimeType="application/tei+xml; charset=UTF-8"
target="https://raw.githubusercontent.com/TEIC/TEI/dev/P5/Source/guidelines-en.xml"/> | ||||||
Note | This attribute class provides an attribute for describing a computer resource, typically available over the internet, using a value taken from a standard taxonomy. At present only a single taxonomy is supported, the Multipurpose Internet Mail Extensions (MIME) Media Type system. This typology of media types is defined by the Internet Engineering Task Force in RFC 2046. The list of types is maintained by the Internet Assigned Numbers Authority (IANA). The mimeType attribute must have a value taken from this list. |
att.locatable provides attributes for referencing locations by pointing to entries in a canonical list of places. [2.3.9. The Unit Declaration 14.3.4.3. States, Traits, and Events] | |||||||
Module | tei — SPEAR Schema Customization | ||||||
Members | event | ||||||
Attributes |
|
att.naming provides attributes common to elements which refer to named persons, places, organizations etc. [3.6.1. Referring Strings 14.3.7. Names and Nyms] | |||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||
Members | att.personal[name orgName] author event pubPlace rs | ||||||||||||||
Attributes |
|
att.personal (attributes for components of names usually, but not necessarily, personal names) common attributes for those elements which form part of a name usually, but not necessarily, a personal name. [14.2.1. Personal Names] | |||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||
Members | name orgName | ||||||||||||||
Attributes |
|
att.placement provides attributes for describing where on the source page or object a textual element appears. [3.5.3. Additions, Deletions, and Omissions 12.3.1.4. Additions and Deletions] | |||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||
Members | head note | ||||||||||||
Attributes |
|
att.pointing provides a set of attributes used by all elements which point to other elements by means of one or more URI references. [1.3.1.1.2. Language Indicators 3.7. Simple Links and Cross-References] | |||||||||||||||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||||||||||||||
Members | licence note ref | ||||||||||||||||||||||||||||||
Attributes |
|
att.ranging provides attributes for describing numerical ranges. | |||||||||||||||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||||||||||||||
Members | num | ||||||||||||||||||||||||||||||
Attributes |
| ||||||||||||||||||||||||||||||
Example | The MS. was lost in transmission by mail from
<del rend="overstrike">
<gap reason="illegible"
extent="one or two letters" atLeast="1" atMost="2" unit="chars"/>
</del>
Philadelphia to the Graphic office, New York.
| ||||||||||||||||||||||||||||||
Example | Americares has been supporting the health sector in Eastern Europe since 1986,
and since 1992 has provided <measure atLeast="120000000" unit="USD"
commodity="currency">more
than $120m</measure> in aid to Ukrainians.
|
att.sortable provides attributes for elements in lists or groups that are sortable, but whose sorting key cannot be derived mechanically from the element content. [10.1. Dictionary Body and Overall Structure] | |||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||
Members | bibl event listBibl listRelation relation | ||||||||||
Attributes |
|
att.typed provides attributes that can be used to classify or subclassify elements in any way. [1.3.1. Attribute Classes 18.1.1. Words and Above 3.6.1. Referring Strings 3.7. Simple Links and Cross-References 3.6.5. Abbreviations and Their Expansions 3.13.1. Core Tags for Verse 7.2.5. Speech Contents 4.1.1. Un-numbered Divisions 4.1.2. Numbered Divisions 4.2.1. Headings and Trailers 4.4. Virtual Divisions 14.3.2.3. Personal Relationships 12.3.1.1. Core Elements for Transcriptional Work 17.1.1. Pointers and Links 17.3. Blocks, Segments, and Anchors 13.2. Linking the Apparatus to the Text 23.5.1.2. Defining Content Models: RELAX NG 8.3. Elements Unique to Spoken Texts 24.3.1.3. Modification of Attribute and Attribute Value Lists] | |||||||||||||||||||
Module | tei — SPEAR Schema Customization | ||||||||||||||||||
Members | TEI bibl change event head listBibl listRelation name note num orgName ref relation rs text title | ||||||||||||||||||
Attributes |
| ||||||||||||||||||
Schematron |
<sch:rule 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> | ||||||||||||||||||
Note | When appropriate, values from an established typology should be used. Alternatively a typology may be defined in the associated TEI header. If values are to be taken from a project-specific list, this should be defined using the <valList> element in the project-specific schema description, as described in 24.3.1.3. Modification of Attribute and Attribute Value Lists . |
att.written provides attributes to indicate the hand in which the content of an element was written in the source being transcribed. [1.3.1. Attribute Classes] | |||||||
Module | tei — SPEAR Schema Customization | ||||||
Members | head note p text | ||||||
Attributes |
|
macro.paraContent (paragraph content) defines the content of paragraphs and similar elements. [1.3. The TEI Class System] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.paraPart"/> </alternate> </content> ⚓ |
Declaration | macro.paraContent = ( text | model.paraPart )*⚓ |
macro.phraseSeq (phrase sequence) defines a sequence of character data and phrase-level elements. [1.4.1. Standard Content Models] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <classRef key="model.attributable"/> <classRef key="model.phrase"/> <classRef key="model.global"/> </alternate> </content> ⚓ |
Declaration | macro.phraseSeq = ( text | model.gLike | model.attributable | model.phrase | model.global )*⚓ |
macro.phraseSeq.limited (limited phrase sequence) defines a sequence of character data and those phrase-level elements that are not typically used for transcribing extant documents. [1.4.1. Standard Content Models] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.limitedPhrase"/> <classRef key="model.global"/> </alternate> </content> ⚓ |
Declaration | macro.phraseSeq.limited = ( text | model.limitedPhrase | model.global )*⚓ |
macro.specialPara ('special' paragraph content) defines the content model of elements such as notes or list items, which either contain a series of component-level elements or else have the same structure as a paragraph, containing a series of phrase-level and inter-level elements. [1.3. The TEI Class System] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate minOccurs="0" maxOccurs="unbounded"> <textNode/> <classRef key="model.gLike"/> <classRef key="model.phrase"/> <classRef key="model.inter"/> <classRef key="model.divPart"/> <classRef key="model.global"/> </alternate> </content> ⚓ |
Declaration | macro.specialPara = ( text | model.gLike | model.phrase | model.inter | model.divPart | model.global )*⚓ |
teidata.certainty defines the range of attribute values expressing a degree of certainty. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <valList type="closed"> <valItem ident="high"/> <valItem ident="medium"/> <valItem ident="low"/> <valItem ident="unknown"/> </valList> </content> ⚓ |
Declaration | teidata.certainty = "high" | "medium" | "low" | "unknown"⚓ |
Note | Certainty may be expressed by one of the predefined symbolic values high, medium, or low. The value unknown should be used in cases where the encoder does not wish to assert an opinion about the matter. |
teidata.count defines the range of attribute values used for a non-negative integer value used as a count. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="nonNegativeInteger"/> </content> ⚓ |
Declaration | teidata.count = xsd:nonNegativeInteger⚓ |
Note | Any positive integer value or zero is permitted |
teidata.duration.iso defines the range of attribute values available for representation of a duration in time using ISO 8601 standard formats. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="token" restriction="[0-9.,DHMPRSTWYZ/:+\-]+"/> </content> ⚓ |
Declaration | teidata.duration.iso = token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" }⚓ |
Example | <time dur-iso="PT0,75H">three-quarters of an hour</time> |
Example | <date dur-iso="P1,5D">a day and a half</date> |
Example | <date dur-iso="P14D">a fortnight</date> |
Example | <time dur-iso="PT0.02S">20 ms</time> |
Note | A duration is expressed as a sequence of number-letter pairs, preceded by the letter P; the letter gives the unit and may be Y (year), M (month), D (day), H (hour), M (minute), or S (second), in that order. The numbers are all unsigned integers, except for the last, which may have a decimal component (using either For complete details, see ISO 8601 Data elements and interchange formats — Information interchange — Representation of dates and times. |
teidata.duration.w3c defines the range of attribute values available for representation of a duration in time using W3C datatypes. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="duration"/> </content> ⚓ |
Declaration | teidata.duration.w3c = xsd:duration⚓ |
Example | <time dur="PT45M">forty-five minutes</time> |
Example | <date dur="P1DT12H">a day and a half</date> |
Example | <date dur="P7D">a week</date> |
Example | <time dur="PT0.02S">20 ms</time> |
Note | A duration is expressed as a sequence of number-letter pairs, preceded by the letter P; the letter gives the unit and may be Y (year), M (month), D (day), H (hour), M (minute), or S (second), in that order. The numbers are all unsigned integers, except for the For complete details, see the W3C specification. |
teidata.enumerated defines the range of attribute values expressed as a single XML name taken from a list of documented possibilities. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef key="teidata.word"/> </content> ⚓ |
Declaration | teidata.enumerated = teidata.word⚓ |
Note | Attributes using this datatype must contain a single ‘word’ which contains only letters, digits, punctuation characters, or symbols: thus it cannot include whitespace. Typically, the list of documented possibilities will be provided (or exemplified) by a value list in the associated attribute specification, expressed with a <valList> element. |
teidata.language defines the range of attribute values used to identify a particular combination of human language and writing system. [6.1. Language Identification] | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate> <dataRef name="language"/> <valList> <valItem ident=""/> </valList> </alternate> </content> ⚓ |
Declaration | teidata.language = xsd:language | ( "" )⚓ |
Note | The values for this attribute are language ‘tags’ as defined in BCP 47. Currently BCP 47 comprises RFC 5646 and RFC 4647; over time, other IETF documents may succeed these as the best current practice. A ‘language tag’, per BCP 47, is assembled from a sequence of components or subtags separated by the hyphen character (-, U+002D). The tag is made of the following subtags, in the following order. Every subtag except the first is optional. If present, each occurs only once, except the fourth and fifth components (variant and extension), which are repeatable.
There are two exceptions to the above format. First, there are language tags in the IANA registry that do not match the above syntax, but are present because they have been ‘grandfathered’ from previous specifications. Second, an entire language tag can consist of only a private use subtag. These tags start with Examples include
The W3C Internationalization Activity has published a useful introduction to BCP 47, Language tags in HTML and XML. |
teidata.name defines the range of attribute values expressed as an XML Name. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="Name"/> </content> ⚓ |
Declaration | teidata.name = xsd:Name⚓ |
Note | Attributes using this datatype must contain a single word which follows the rules defining a legal XML name (see https://www.w3.org/TR/REC-xml/#dt-name): for example they cannot include whitespace or begin with digits. |
teidata.numeric defines the range of attribute values used for numeric values. | |
Module | tei — SPEAR Schema Customization |
Used by | Element:
|
Content model | <content> <alternate> <dataRef name="double"/> <dataRef name="token" restriction="(\-?[\d]+/\-?[\d]+)"/> <dataRef name="decimal"/> </alternate> </content> ⚓ |
Declaration | teidata.numeric = xsd:double | token { pattern = "(\-?[\d]+/\-?[\d]+)" } | xsd:decimal⚓ |
Note | Any numeric value, represented as a decimal number, in floating point format, or as a ratio. To represent a floating point number, expressed in scientific notation, ‘E notation’, a variant of ‘exponential notation’, may be used. In this format, the value is expressed as two numbers separated by the letter E. The first number, the significand (sometimes called the mantissa) is given in decimal format, while the second is an integer. The value is obtained by multiplying the mantissa by 10 the number of times indicated by the integer. Thus the value represented in decimal notation as 1000.0 might be represented in scientific notation as 10E3. A value expressed as a ratio is represented by two integer values separated by a solidus (/) character. Thus, the value represented in decimal notation as 0.5 might be represented as a ratio by the string 1/2. |
teidata.outputMeasurement defines a range of values for use in specifying the size of an object that is intended for display. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="token" restriction="[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|ch|rem|vw|vh|vmin|vmax)"/> </content> ⚓ |
Declaration | teidata.outputMeasurement = token { pattern = "[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|ch|rem|vw|vh|vmin|vmax)" }⚓ |
Example | <figure>
<head>The TEI Logo</head>
<figDesc>Stylized yellow angle brackets with the letters <mentioned>TEI</mentioned> in
between and <mentioned>text encoding initiative</mentioned> underneath, all on a white
background.</figDesc>
<graphic height="600px" width="600px"
url="http://www.tei-c.org/logos/TEI-600.jpg"/>
</figure> |
Note | These values map directly onto the values used by XSL-FO and CSS. For definitions of the units see those specifications; at the time of this writing the most complete list is in the CSS3 working draft. |
teidata.pattern defines attribute values which are expressed as a regular expression. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="token"/> </content> ⚓ |
Declaration | teidata.pattern = token⚓ |
Note | A regular expression, often called a pattern, is an expression that describes a set of strings. They are usually used to give a concise description of a set, without having to list all elements. For example, the set containing the three strings Handel, Händel, and Haendel can be described by the pattern WikipediaH(ä|ae?)ndel (or alternatively, it is said that the pattern H(ä|ae?)ndel matches each of the three strings)This TEI datatype is mapped to the XSD token datatype, and may therefore contain any string of characters. However, it is recommended that the value used conform to the particular flavour of regular expression syntax supported by XSD Schema. |
teidata.pointer defines the range of attribute values used to provide a single URI, absolute or relative, pointing to some other resource, either within the current document or elsewhere. | |
Module | tei — SPEAR Schema Customization |
Used by | Element:
|
Content model | <content> <dataRef restriction="\S+" name="anyURI"/> </content> ⚓ |
Declaration | teidata.pointer = xsd:anyURI { pattern = "\S+" }⚓ |
Note | The range of syntactically valid values is defined by RFC 3986 Uniform Resource Identifier (URI): Generic Syntax. Note that the values themselves are encoded using RFC 3987 Internationalized Resource Identifiers (IRIs) mapping to URIs. For example, |
teidata.probCert defines a range of attribute values which can be expressed either as a numeric probability or as a coded certainty value. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate> <dataRef key="teidata.probability"/> <dataRef key="teidata.certainty"/> </alternate> </content> ⚓ |
Declaration | teidata.probCert = teidata.probability | teidata.certainty⚓ |
teidata.probability defines the range of attribute values expressing a probability. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="double"> <dataFacet name="minInclusive" value="0"/> <dataFacet name="maxInclusive" value="1"/> </dataRef> </content> ⚓ |
Declaration | teidata.probability = xsd:double⚓ |
Note | Probability is expressed as a real number between 0 and 1; 0 representing certainly false and 1 representing certainly true. |
teidata.replacement defines attribute values which contain a replacement template. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <textNode/> </content> ⚓ |
Declaration | teidata.replacement = text⚓ |
teidata.temporal.iso defines the range of attribute values expressing a temporal expression such as a date, a time, or a combination of them, that conform to the international standard Data elements and interchange formats – Information interchange – Representation of dates and times. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate> <dataRef name="date"/> <dataRef name="gYear"/> <dataRef name="gMonth"/> <dataRef name="gDay"/> <dataRef name="gYearMonth"/> <dataRef name="gMonthDay"/> <dataRef name="time"/> <dataRef name="dateTime"/> <dataRef name="token" restriction="[0-9.,DHMPRSTWYZ/:+\-]+"/> </alternate> </content> ⚓ |
Declaration | teidata.temporal.iso = xsd:date | xsd:gYear | xsd:gMonth | xsd:gDay | xsd:gYearMonth | xsd:gMonthDay | xsd:time | xsd:dateTime | token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" }⚓ |
Note | If it is likely that the value used is to be compared with another, then a time zone indicator should always be included, and only the dateTime representation should be used. For all representations for which ISO 8601:2004 describes both a basic and an extended format, these Guidelines recommend use of the extended format. |
teidata.temporal.w3c defines the range of attribute values expressing a temporal expression such as a date, a time, or a combination of them, that conform to the W3C XML Schema Part 2: Datatypes Second Edition specification. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate> <dataRef name="date"/> <dataRef name="gYear"/> <dataRef name="gMonth"/> <dataRef name="gDay"/> <dataRef name="gYearMonth"/> <dataRef name="gMonthDay"/> <dataRef name="time"/> <dataRef name="dateTime"/> </alternate> </content> ⚓ |
Declaration | teidata.temporal.w3c = xsd:date | xsd:gYear | xsd:gMonth | xsd:gDay | xsd:gYearMonth | xsd:gMonthDay | xsd:time | xsd:dateTime⚓ |
Note | If it is likely that the value used is to be compared with another, then a time zone indicator should always be included, and only the dateTime representation should be used. |
teidata.text defines the range of attribute values used to express some kind of identifying string as a single sequence of Unicode characters possibly including whitespace. | |
Module | tei — SPEAR Schema Customization |
Used by | Element:
|
Content model | <content> <dataRef name="string"/> </content> ⚓ |
Declaration | teidata.text = string⚓ |
Note | Attributes using this datatype must contain a single ‘token’ in which whitespace and other punctuation characters are permitted. |
teidata.truthValue defines the range of attribute values used to express a truth value. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="boolean"/> </content> ⚓ |
Declaration | teidata.truthValue = xsd:boolean⚓ |
Note | The possible values of this datatype are 1 or true, or 0 or false. This datatype applies only for cases where uncertainty is inappropriate; if the attribute concerned may have a value other than true or false, e.g. unknown, or inapplicable, it should have the extended version of this datatype: teidata.xTruthValue. |
teidata.version defines the range of attribute values which may be used to specify a TEI or Unicode version number. | |
Module | tei — SPEAR Schema Customization |
Used by | Element:
|
Content model | <content> <dataRef name="token" restriction="[\d]+(\.[\d]+){0,2}"/> </content> ⚓ |
Declaration | teidata.version = token { pattern = "[\d]+(\.[\d]+){0,2}" }⚓ |
Note | The value of this attribute follows the pattern specified by the Unicode consortium for its version number (https://unicode.org/versions/). A version number contains digits and fullstop characters only. The first number supplied identifies the major version number. A second and third number, for minor and sub-minor version numbers, may also be supplied. |
teidata.versionNumber defines the range of attribute values used for version numbers. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="token" restriction="[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}"/> </content> ⚓ |
Declaration | teidata.versionNumber = token { pattern = "[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}" }⚓ |
teidata.word defines the range of attribute values expressed as a single word or token. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <dataRef name="token" restriction="[^\p{C}\p{Z}]+"/> </content> ⚓ |
Declaration | teidata.word = token { pattern = "[^\p{C}\p{Z}]+" }⚓ |
Note | Attributes using this datatype must contain a single ‘word’ which contains only letters, digits, punctuation characters, or symbols: thus it cannot include whitespace. |
teidata.xTruthValue (extended truth value) defines the range of attribute values used to express a truth value which may be unknown. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <alternate> <dataRef name="boolean"/> <valList> <valItem ident="unknown"/> <valItem ident="inapplicable"/> </valList> </alternate> </content> ⚓ |
Declaration | teidata.xTruthValue = xsd:boolean | ( "unknown" | "inapplicable" )⚓ |
Note | In cases where where uncertainty is inappropriate, use the datatype teidata.TruthValue. |
teidata.xpath defines attribute values which contain an XPath expression. | |
Module | tei — SPEAR Schema Customization |
Used by | |
Content model | <content> <textNode/> </content> ⚓ |
Declaration | teidata.xpath = text⚓ |
Note | Any XPath expression using the syntax defined in 6.2.. When writing programs that evaluate XPath expressions, programmers should be mindful of the possibility of malicious code injection attacks. For further information about XPath injection attacks, see the article at OWASP. |