default namespace = "http://www.tei-c.org/ns/1.0" namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" namespace ns1 = "http://www.isocat.org/ns/dcr" namespace rng = "http://relaxng.org/ns/structure/1.0" namespace s = "http://www.ascc.net/xml/schematron" namespace sch = "http://purl.oclc.org/dsdl/schematron" namespace xlink = "http://www.w3.org/1999/xlink" # Schema generated from ODD source 2013-05-27T12:17:20Z. # Edition: 2.3.0. Last updated on 17th January 2013. # Edition Location: http://www.tei-c.org/Vault/P5/2.3.0/ # # This schema for the TextGrid baseline encoding is freely available and you are hereby authorised to copy, modify, and redistribute it in any way without further reference or permissions. However, you must release the modified version under a different name than "TextGrid baseline encoding" macro.paraContent = (text | model.gLike | model.phrase | model.inter | model.global | lg)* macro.limitedContent = (text | model.limitedPhrase | model.inter)* macro.phraseSeq = (text | model.gLike | model.phrase | model.global)* macro.phraseSeq.limited = (text | model.limitedPhrase | model.global)* macro.specialPara = (text | model.gLike | model.phrase | model.inter | model.divPart | model.global)* macro.xtext = (text | model.gLike)* data.certainty = "high" | "medium" | "low" | "unknown" data.probability = xsd:double { minInclusive = "0" maxInclusive = "1" } data.numeric = xsd:double | xsd:token { pattern = "(\-?[\d]+/\-?[\d]+)" } | xsd:decimal data.count = xsd:nonNegativeInteger data.temporal.w3c = xsd:date | xsd:gYear | xsd:gMonth | xsd:gDay | xsd:gYearMonth | xsd:gMonthDay | xsd:time | xsd:dateTime data.truthValue = xsd:boolean data.xTruthValue = xsd:boolean | "unknown" | "inapplicable" data.language = xsd:language data.sex = "0" | "1" | "2" | "9" data.outputMeasurement = xsd:token { pattern = "[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|gd|rem|vw|vh|vm)" } data.pattern = xsd:token data.pointer = xsd:anyURI data.version = xsd:token { pattern = "[\d]+(\.[\d]+){0,2}" } data.word = xsd:token { pattern = "(\p{L}|\p{N}|\p{P}|\p{S})+" } data.text = xsd:string data.code = data.word data.name = xsd:Name data.enumerated = data.name data.temporal.iso = xsd:date | xsd:gYear | xsd:gMonth | xsd:gDay | xsd:gYearMonth | xsd:gMonthDay | xsd:time | xsd:dateTime | xsd:token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } att.ascribed.attributes = att.ascribed.attribute.who att.ascribed.attribute.who = ## indicates the person, or group of people, to whom the element content is ascribed. attribute who { list { data.pointer+ } }? att.canonical.attributes = att.canonical.attribute.key, att.canonical.attribute.ref att.canonical.attribute.key = ## provides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind. attribute key { data.text }? att.canonical.attribute.ref = ## (reference) provides an explicit means of locating a full definition for the entity being named by means of one or more URIs. attribute ref { list { data.pointer+ } }? att.ranging.attributes = att.ranging.attribute.atLeast, att.ranging.attribute.atMost, att.ranging.attribute.min, att.ranging.attribute.max, att.ranging.attribute.confidence att.ranging.attribute.atLeast = ## gives a minimum estimated value for the approximate measurement. attribute atLeast { data.numeric }? att.ranging.attribute.atMost = ## gives a maximum estimated value for the approximate measurement. attribute atMost { data.numeric }? att.ranging.attribute.min = ## where the measurement summarizes more than one observation or a range, supplies the minimum value observed. attribute min { data.numeric }? att.ranging.attribute.max = ## where the measurement summarizes more than one observation or a range, supplies the maximum value observed. attribute max { data.numeric }? att.ranging.attribute.confidence = ## specifies the degree of statistical confidence (between zero and one) that a value falls within the range specified by min and max, or the proportion of observed values that fall within that range. attribute confidence { data.probability }? att.dimensions.attributes = att.ranging.attributes, att.dimensions.attribute.unit, att.dimensions.attribute.quantity, att.dimensions.attribute.extent, att.dimensions.attribute.precision, att.dimensions.attribute.scope att.dimensions.attribute.unit = ## names the unit used for the measurement ## Suggested values include: 1] cm(centimetres) ; 2] mm(millimetres) ; 3] in(inches) ; 4] lines; 5] chars(characters) attribute unit { ## (centimetres) "cm" | ## (millimetres) "mm" | ## (inches) "in" | ## lines of text "lines" | ## (characters) characters of text "chars" | xsd:Name }? att.dimensions.attribute.quantity = ## specifies the length in the units specified attribute quantity { data.numeric }? att.dimensions.attribute.extent = ## indicates the size of the object concerned using a project-specific vocabulary combining quantity and units in a single string of words. attribute extent { data.text }? att.dimensions.attribute.precision = ## characterizes the precision of the values specified by the other attributes. attribute precision { data.certainty }? att.dimensions.attribute.scope = ## where the measurement summarizes more than one observation, specifies the applicability of this measurement. ## Sample values include: 1] all; 2] most; 3] range attribute scope { data.enumerated }? att.breaking.attributes = att.breaking.attribute.break att.breaking.attribute.break = ## indicates whether or not the element bearing this attribute should be considered to mark the end of an orthographic token in the same way as whitespace. attribute break { data.enumerated }? att.datable.w3c.attributes = att.datable.w3c.attribute.when, att.datable.w3c.attribute.notBefore, att.datable.w3c.attribute.notAfter, att.datable.w3c.attribute.from, att.datable.w3c.attribute.to att.datable.w3c.attribute.when = ## supplies the value of the date or time in a standard form, e.g. yyyy-mm-dd. attribute when { data.temporal.w3c }? att.datable.w3c.attribute.notBefore = ## specifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd. attribute notBefore { data.temporal.w3c }? att.datable.w3c.attribute.notAfter = ## specifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd. attribute notAfter { data.temporal.w3c }? att.datable.w3c.attribute.from = ## indicates the starting point of the period in standard form, e.g. yyyy-mm-dd. attribute from { data.temporal.w3c }? att.datable.w3c.attribute.to = ## indicates the ending point of the period in standard form, e.g. yyyy-mm-dd. attribute to { data.temporal.w3c }? att.datable.attributes = att.datable.w3c.attributes, att.datable.iso.attributes, att.datable.custom.attributes, att.datable.attribute.calendar, att.datable.attribute.period att.datable.attribute.calendar = ## indicates the system or calendar to which the date represented by the content of this element belongs. attribute calendar { data.pointer }? sch:pattern [ id = "calendar-constraint-calendar" "\x{a}" ~ " " sch:rule [ context = "tei:*[@calendar]" "\x{a}" ~ " " sch:assert [ test = "string-length(.) gt 0" "\x{a}" ~ "@calendar indicates the system or calendar to which the date represented by the content of this element\x{a}" ~ "belongs, but this " sch:name [ ] " element has no textual content." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] att.datable.attribute.period = ## supplies a pointer to some location defining a named period of time within which the datable item is understood to have occurred. attribute period { data.pointer }? att.datcat.attributes = att.datcat.attribute.datcat, att.datcat.attribute.valueDatcat att.datcat.attribute.datcat = ## contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat. attribute ns1:datcat { list { data.pointer+ } }? att.datcat.attribute.valueDatcat = ## contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat. attribute ns1:valueDatcat { list { data.pointer+ } }? att.declarable.attributes = att.declarable.attribute.default att.declarable.attribute.default = ## indicates whether or not this element is selected by default when its parent is selected. [ a:defaultValue = "false" ] attribute default { ## This element is selected if its parent is selected "true" | ## This element can only be selected explicitly, unless it is the only one of its kind, in which case it is selected if its parent is selected. "false" }? att.fragmentable.attributes = att.fragmentable.attribute.part att.fragmentable.attribute.part = ## specifies whether or not its parent element is fragmented in some way, typically by some other overlapping structure : for example a speech which is divided between two or more verse stanzas, a paragraph which is split across a page division, a verse line which is divided between two speakers. [ a:defaultValue = "N" ] attribute part { ## (yes) the element is fragmented in some (unspecified) respect "Y" | ## (no) either the element is not fragmented, or no claim is made as to its completeness. "N" | ## (initial) this is the initial part of a fragmented element "I" | ## (medial) this is a medial part of a fragmented element "M" | ## (final) this is the final part of a fragmented element "F" }? att.divLike.attributes = att.metrical.attributes, att.fragmentable.attributes, att.divLike.attribute.part att.divLike.attribute.part = ## attribute part { text }? att.docStatus.attributes = att.docStatus.attribute.status att.docStatus.attribute.status = ## describes the status of a document either currently or, when associated with a dated element, at the time indicated. ## Sample values include: 1] approved; 2] candidate; 3] cleared; 4] deprecated; 5] draft; 6] embargoed; 7] expired; 8] frozen; 9] galley; 10] proposed; 11] published; 12] recommendation; 13] submitted; 14] unfinished; 15] withdrawn [ a:defaultValue = "draft" ] attribute status { data.enumerated }? att.responsibility.attributes = att.responsibility.attribute.cert, att.responsibility.attribute.resp att.responsibility.attribute.cert = ## (certainty) signifies the degree of certainty associated with the intervention or interpretation. attribute cert { data.certainty }? att.responsibility.attribute.resp = ## (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. attribute resp { list { data.pointer+ } }? att.editLike.attributes = att.dimensions.attributes, att.responsibility.attributes, att.editLike.attribute.evidence, att.editLike.attribute.source, att.editLike.attribute.instant att.editLike.attribute.evidence = ## indicates the nature of the evidence supporting the reliability or accuracy of the intervention or interpretation. ## Suggested values include: 1] internal; 2] external; 3] conjecture attribute evidence { list { ( ## there is internal evidence to support the intervention. "internal" | ## there is external evidence to support the intervention. "external" | ## the intervention or interpretation has been made by the editor, cataloguer, or scholar on the basis of their expertise. "conjecture" | xsd:Name)+ } }? att.editLike.attribute.source = ## contains a list of one or more pointers indicating sources supporting the given intervention or interpretation. attribute source { list { data.pointer+ } }? att.editLike.attribute.instant = ## indicates whether this is an instant revision or not. [ a:defaultValue = "false" ] attribute instant { data.xTruthValue }? att.global.attributes = att.global.linking.attributes, att.global.analytic.attributes, att.global.facs.attributes, att.global.change.attributes, att.global.attribute.xmlid, att.global.attribute.n, att.global.attribute.xmllang, att.global.attribute.style, att.global.attribute.xmlspace att.global.attribute.xmlid = ## (identifier) provides a unique identifier for the element bearing the attribute. attribute xml:id { xsd:ID }? att.global.attribute.n = ## (number) gives a number (or other label) for an element, which is not necessarily unique within the document. attribute n { data.text }? att.global.attribute.xmllang = ## (language) indicates the language of the element content using a tag generated according to BCP 47. attribute xml:lang { data.language }? att.global.attribute.style = ## contains an expression in some formal style definition language which defines the rendering or presentation used for this element in the source text attribute style { data.text }? att.global.attribute.xmlspace = ## signals an intention about how white space should be managed by applications. attribute xml:space { ## signals that the application's default white-space processing modes are acceptable "default" | ## indicates the intent that applications preserve all white space "preserve" }? att.handFeatures.attributes = att.handFeatures.attribute.scribe, att.handFeatures.attribute.scribeRef, att.handFeatures.attribute.script, att.handFeatures.attribute.scriptRef, att.handFeatures.attribute.medium, att.handFeatures.attribute.scope att.handFeatures.attribute.scribe = ## gives a name or other identifier for the scribe believed to be responsible for this hand. attribute scribe { data.name }? att.handFeatures.attribute.scribeRef = ## points to a full description of the scribe concerned, typically supplied by a person element elsewhere in the description. attribute scribeRef { list { data.pointer+ } }? att.handFeatures.attribute.script = ## characterizes the particular script or writing style used by this hand, for example secretary, copperplate, Chancery, Italian, etc. attribute script { list { data.name+ } }? att.handFeatures.attribute.scriptRef = ## points to a full description of the script or writing style used by this hand, typically supplied by a scriptNote element elsewhere in the description. attribute scriptRef { list { data.pointer+ } }? att.handFeatures.attribute.medium = ## describes the tint or type of ink, e.g. brown, or other writing medium, e.g. pencil attribute medium { data.enumerated }? att.handFeatures.attribute.scope = ## specifies how widely this hand is used in the manuscript. attribute scope { ## only this hand is used throughout the manuscript "sole" | ## this hand is used through most of the manuscript "major" | ## this hand is used occasionally in the manuscript "minor" }? att.internetMedia.attributes = att.internetMedia.attribute.mimeType att.internetMedia.attribute.mimeType = ## (MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type attribute mimeType { list { data.word+ } }? att.media.attribute.width = ## Where the media are displayed, indicates the display width attribute width { data.outputMeasurement }? att.media.attribute.height = ## Where the media are displayed, indicates the display height attribute height { data.outputMeasurement }? att.media.attribute.scale = ## Where the media are displayed, indicates a scale factor to be applied when generating the desired display size attribute scale { data.numeric }? att.resourced.attributes = att.resourced.attribute.url att.resourced.attribute.url = ## (uniform resource locator) specifies the URL from which the media concerned may be obtained. attribute url { data.pointer } att.naming.attributes = att.canonical.attributes, att.naming.attribute.role, att.naming.attribute.nymRef att.naming.attribute.role = ## may be used to specify further information about the entity referenced by this name, for example the occupation of a person, or the status of a place. attribute role { data.enumerated }? att.naming.attribute.nymRef = ## (reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it. attribute nymRef { list { data.pointer+ } }? att.placement.attributes = att.placement.attribute.place att.placement.attribute.place = ## specifies where this item is placed ## Suggested values include: 1] below; 2] bottom; 3] margin; 4] top; 5] opposite; 6] overleaf; 7] above; 8] end; 9] inline; 10] inspace attribute place { list { ( ## below the line "below" | ## at the foot of the page "bottom" | ## in the margin (left, right, or both) "margin" | ## at the top of the page "top" | ## on the opposite, i.e. facing, page "opposite" | ## on the other side of the leaf "overleaf" | ## above the line "above" | ## at the end of e.g. chapter or volume. "end" | ## within the body of the text. "inline" | ## in a predefined space, for example left by an earlier scribe. "inspace" | xsd:Name)+ } }? att.typed.attributes = att.typed.attribute.type, att.typed.attribute.subtype att.typed.attribute.type = ## characterizes the element in some sense, using any convenient classification scheme or typology. attribute type { data.enumerated }? att.typed.attribute.subtype = ## provides a sub-categorization of the element, if needed attribute subtype { data.enumerated }? sch:pattern [ id = "att.typed-constraint-subtypeTyped" "\x{a}" ~ " " sch:rule [ context = "*[@subtype]" "\x{a}" ~ " " sch:assert [ test = "@type" "The " sch:name [ ] " element should not be categorized in detail with @subtype\x{a}" ~ " unless also categorized in general with @type" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] att.pointing.attributes = att.pointing.attribute.targetLang, att.pointing.attribute.target, att.pointing.attribute.evaluate att.pointing.attribute.targetLang = ## specifies the language of the content to be found at the destination referenced by target, using a language tag generated according to BCP 47. attribute targetLang { data.language }? sch:pattern [ id = "targetLang-constraint-targetLang" "\x{a}" ~ " " sch:rule [ context = "tei:*[not(self::tei:schemaSpec)][@targetLang]" "\x{a}" ~ " " sch:assert [ test = "count(@target)" "@targetLang can only be used if @target is specified." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] att.pointing.attribute.target = ## specifies the destination of the reference by supplying one or more URI References attribute target { list { data.pointer+ } }? att.pointing.attribute.evaluate = ## specifies the intended meaning when the target of a pointer is itself a pointer. attribute evaluate { ## if the element pointed to is itself a pointer, then the target of that pointer will be taken, and so on, until an element is found which is not a pointer. "all" | ## if the element pointed to is itself a pointer, then its target (whether a pointer or not) is taken as the target of this pointer. "one" | ## no further evaluation of targets is carried out beyond that needed to find the element specified in the pointer's target. "none" }? att.segLike.attributes = att.metrical.attributes, att.datcat.attributes, att.fragmentable.attributes, att.segLike.attribute.function att.segLike.attribute.function = ## characterizes the function of the segment. attribute function { data.enumerated }? att.sortable.attributes = att.sortable.attribute.sortKey att.sortable.attribute.sortKey = ## supplies the sort key for this element in an index, list or group which contains it. attribute sortKey { data.word }? att.edition.attributes = att.edition.attribute.ed, att.edition.attribute.edRef att.edition.attribute.ed = ## (edition) supplies an arbitrary identifier for the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. attribute ed { list { data.code+ } }? att.edition.attribute.edRef = ## (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. attribute edRef { list { data.pointer+ } }? att.spanning.attributes = att.spanning.attribute.spanTo att.spanning.attribute.spanTo = ## indicates the end of a span initiated by the element bearing this attribute. attribute spanTo { data.pointer }? sch:pattern [ id = "spanTo-constraint-spanTo-2" "\x{a}" ~ " " sch:rule [ context = "tei:*[@spanTo]" "\x{a}" ~ " " sch:assert [ test = "following::*[@xml:id=substring(current()/@target,2)]" "\x{a}" ~ "The element indicated by @spanTo must follow the current element " sch:name [ ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] sch:pattern [ id = "spanTo-constraint-spanTo-3" "\x{a}" ~ " " sch:rule [ context = "tei:*[@spanTo]" "\x{a}" ~ " " sch:assert [ test = "id(substring(@spanTo,2))" "\x{a}" ~ "@spanTo on " sch:name [ ] " must point to the identifier of some element in this document" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] att.styleDef.attributes = att.styleDef.attribute.scheme att.styleDef.attribute.scheme = ## identifies the language used to describe the rendition. attribute scheme { ## Cascading Stylesheet Language "css" | ## Extensible Stylesheet Language Formatting Objects "xslfo" | ## Informal free text description "free" | ## A user-defined rendition description language "other" }? att.tableDecoration.attributes = att.tableDecoration.attribute.role, att.tableDecoration.attribute.rows, att.tableDecoration.attribute.cols att.tableDecoration.attribute.role = ## indicates the kind of information held in this cell or in each cell of this row. ## Suggested values include: 1] label; 2] data [ a:defaultValue = "data" ] attribute role { ## labelling or descriptive information only. "label" | ## data values. "data" | xsd:Name }? att.tableDecoration.attribute.rows = ## indicates the number of rows occupied by this cell or row. [ a:defaultValue = "1" ] attribute rows { data.count }? att.tableDecoration.attribute.cols = ## (columns) indicates the number of columns occupied by this cell or row. [ a:defaultValue = "1" ] attribute cols { data.count }? att.timed.attributes = att.timed.attribute.start, att.timed.attribute.end att.timed.attribute.start = ## indicates the location within a temporal alignment at which this element begins. attribute start { data.pointer }? att.timed.attribute.end = ## indicates the location within a temporal alignment at which this element ends. attribute end { data.pointer }? att.transcriptional.attributes = att.editLike.attributes, att.transcriptional.attribute.hand, att.transcriptional.attribute.status, att.transcriptional.attribute.cause, att.transcriptional.attribute.seq att.transcriptional.attribute.hand = ## signifies the hand of the agent which made the intervention. attribute hand { data.pointer }? att.transcriptional.attribute.status = ## indicates the effect of the intervention, for example in the case of a deletion, strikeouts which include too much or too little text, or in the case of an addition, an insertion which duplicates some of the text already present. ## Sample values include: 1] duplicate; 2] duplicate-partial; 3] excessStart; 4] excessEnd; 5] shortStart; 6] shortEnd; 7] partial; 8] unremarkable [ a:defaultValue = "unremarkable" ] attribute status { data.enumerated }? att.transcriptional.attribute.cause = ## documents the presumed cause for the intervention. attribute cause { ## repeated for the purpose of fixation "fix" | ## repeated to clarify a previously illegible or badly written text or mark "unclear" }? att.transcriptional.attribute.seq = ## (sequence) assigns a sequence number related to the order in which the encoded features carrying this attribute are believed to have occurred. attribute seq { data.count }? model.nameLike.agent = orgName | persName model.nameLike.agent_alternation = orgName | persName model.nameLike.agent_sequence = orgName, persName model.nameLike.agent_sequenceOptional = orgName?, persName? model.nameLike.agent_sequenceOptionalRepeatable = orgName*, persName* model.nameLike.agent_sequenceRepeatable = orgName+, persName+ model.segLike = w | c | pc model.hiLike = hi model.hiLike_alternation = hi model.hiLike_sequence = hi model.hiLike_sequenceOptional = hi? model.hiLike_sequenceOptionalRepeatable = hi* model.hiLike_sequenceRepeatable = hi+ model.emphLike = foreign | emph | term | title model.emphLike_alternation = foreign | emph | term | title model.emphLike_sequence = foreign, emph, term, title model.emphLike_sequenceOptional = foreign?, emph?, term?, title? model.emphLike_sequenceOptionalRepeatable = foreign*, emph*, term*, title* model.emphLike_sequenceRepeatable = foreign+, emph+, term+, title+ model.highlighted = model.hiLike | model.emphLike model.dateLike = date | time model.dateLike_alternation = date | time model.dateLike_sequence = date, time model.dateLike_sequenceOptional = date?, time? model.dateLike_sequenceOptionalRepeatable = date*, time* model.dateLike_sequenceRepeatable = date+, time+ model.dimLike = height | depth | width model.measureLike = dim | height | depth | width | geo model.measureLike_alternation = dim | height | depth | width | geo model.measureLike_sequence = dim, height, depth, width, geo model.measureLike_sequenceOptional = dim?, height?, depth?, width?, geo? model.measureLike_sequenceOptionalRepeatable = dim*, height*, depth*, width*, geo* model.measureLike_sequenceRepeatable = dim+, height+, depth+, width+, geo+ model.egLike = notAllowed model.egLike_alternation = notAllowed model.egLike_sequence = empty model.egLike_sequenceOptional = empty model.egLike_sequenceOptionalRepeatable = empty model.egLike_sequenceRepeatable = notAllowed model.graphicLike = media | graphic | formula model.offsetLike = offset | geogFeat model.offsetLike_alternation = offset | geogFeat model.offsetLike_sequence = offset, geogFeat model.offsetLike_sequenceOptional = offset?, geogFeat? model.offsetLike_sequenceOptionalRepeatable = offset*, geogFeat* model.offsetLike_sequenceRepeatable = offset+, geogFeat+ model.pPart.msdesc = catchwords | dimensions | heraldry | locus | locusGrp | material | objectType | origDate | origPlace | secFol | signatures | stamp | watermark model.pPart.editorial = choice model.pPart.editorial_alternation = choice model.pPart.editorial_sequence = choice model.pPart.editorial_sequenceOptional = choice? model.pPart.editorial_sequenceOptionalRepeatable = choice* model.pPart.editorial_sequenceRepeatable = choice+ model.pPart.transcriptional = app | surplus | mod | redo | retrace | undo model.pPart.transcriptional_alternation = app | surplus | mod | redo | retrace | undo model.pPart.transcriptional_sequence = app, surplus, mod, redo, retrace, undo model.pPart.transcriptional_sequenceOptional = app?, surplus?, mod?, redo?, retrace?, undo? model.pPart.transcriptional_sequenceOptionalRepeatable = app*, surplus*, mod*, redo*, retrace*, undo* model.pPart.transcriptional_sequenceRepeatable = app+, surplus+, mod+, redo+, retrace+, undo+ model.pPart.edit = model.pPart.editorial | model.pPart.transcriptional model.linePart = model.segLike | model.hiLike | model.pPart.transcriptional | line model.ptrLike = ref model.lPart = caesura | rhyme model.global.meta = index | substJoin | listTranspose | fs | fLib model.milestoneLike = milestone | gb | pb | lb | cb | anchor model.gLike = g model.biblLike = bibl | biblStruct | biblFull | msDesc | listRelation | relationGrp model.biblLike_alternation = bibl | biblStruct | biblFull | msDesc | listRelation | relationGrp model.biblLike_sequence = bibl, biblStruct, biblFull, msDesc, listRelation, relationGrp model.biblLike_sequenceOptional = bibl?, biblStruct?, biblFull?, msDesc?, listRelation?, relationGrp? model.biblLike_sequenceOptionalRepeatable = bibl*, biblStruct*, biblFull*, msDesc*, listRelation*, relationGrp* model.biblLike_sequenceRepeatable = bibl+, biblStruct+, biblFull+, msDesc+, listRelation+, relationGrp+ model.headLike = head model.headLike_alternation = head model.headLike_sequence = head model.headLike_sequenceOptional = head? model.headLike_sequenceOptionalRepeatable = head* model.headLike_sequenceRepeatable = head+ model.labelLike = label model.labelLike_alternation = label model.labelLike_sequence = label model.labelLike_sequenceOptional = label? model.labelLike_sequenceOptionalRepeatable = label* model.labelLike_sequenceRepeatable = label+ model.listLike = \list | table | listApp | listWit | listOrg | listEvent | listPerson | listPlace | listNym model.listLike_alternation = \list | table | listApp | listWit | listOrg | listEvent | listPerson | listPlace | listNym model.listLike_sequence = \list, table, listApp, listWit, listOrg, listEvent, listPerson, listPlace, listNym model.listLike_sequenceOptional = \list?, table?, listApp?, listWit?, listOrg?, listEvent?, listPerson?, listPlace?, listNym? model.listLike_sequenceOptionalRepeatable = \list*, table*, listApp*, listWit*, listOrg*, listEvent*, listPerson*, listPlace*, listNym* model.listLike_sequenceRepeatable = \list+, table+, listApp+, listWit+, listOrg+, listEvent+, listPerson+, listPlace+, listNym+ model.noteLike = note | witDetail model.lLike = l model.lLike_alternation = l model.lLike_sequence = l model.lLike_sequenceOptional = l? model.lLike_sequenceOptionalRepeatable = l* model.lLike_sequenceRepeatable = l+ model.pLike = p model.pLike_alternation = p model.pLike_sequence = p model.pLike_sequenceOptional = p? model.pLike_sequenceOptionalRepeatable = p* model.pLike_sequenceRepeatable = p+ model.stageLike = stage | move | view | camera | sound | caption | tech model.stageLike_alternation = stage | move | view | camera | sound | caption | tech model.stageLike_sequence = stage, move, view, camera, sound, caption, tech model.stageLike_sequenceOptional = stage?, move?, view?, camera?, sound?, caption?, tech? model.stageLike_sequenceOptionalRepeatable = stage*, move*, view*, camera*, sound*, caption*, tech* model.stageLike_sequenceRepeatable = stage+, move+, view+, camera+, sound+, caption+, tech+ model.featureVal.complex = fs model.featureVal.single = symbol model.entryPart = superEntry | sense | form | gramGrp | pos | subc | def | etym | usg | xr | re model.entryPart.top = cit | form | gramGrp | def | etym | usg | xr | re model.global.edit = gap | addSpan | delSpan model.divPart = model.lLike | model.pLike | lg | sp | spGrp | figure model.persStateLike = persName | affiliation | age | education | faith | floruit | langKnowledge | nationality | occupation | residence | sex | socecStatus | trait model.persEventLike = birth | death | event | listEvent model.personLike = org | person | personGrp model.personPart = model.persStateLike | model.persEventLike | bibl | idno model.placeNamePart = country | settlement model.placeNamePart_alternation = country | settlement model.placeNamePart_sequence = country, settlement model.placeNamePart_sequenceOptional = country?, settlement? model.placeNamePart_sequenceOptionalRepeatable = country*, settlement* model.placeNamePart_sequenceRepeatable = country+, settlement+ model.placeStateLike = model.placeNamePart | climate | location | population | terrain | trait model.placeStateLike_alternation = model.placeNamePart_alternation | climate | location | population | terrain | trait model.placeStateLike_sequence = model.placeNamePart_sequence, climate, location, population, terrain, trait model.placeStateLike_sequenceOptional = model.placeNamePart_sequenceOptional?, climate?, location?, population?, terrain?, trait? model.placeStateLike_sequenceOptionalRepeatable = model.placeNamePart_sequenceOptionalRepeatable*, climate*, location*, population*, terrain*, trait* model.placeStateLike_sequenceRepeatable = model.placeNamePart_sequenceRepeatable+, climate+, location+, population+, terrain+, trait+ model.placeEventLike = event model.orgPart = listOrg | listPerson | listPlace model.publicationStmtPart = address | date | publisher | pubPlace | authority | idno | availability model.availabilityPart = licence model.certLike = notAllowed model.descLike = notAllowed model.quoteLike = quote | cit model.quoteLike_alternation = quote | cit model.quoteLike_sequence = quote, cit model.quoteLike_sequenceOptional = quote?, cit? model.quoteLike_sequenceOptionalRepeatable = quote*, cit* model.quoteLike_sequenceRepeatable = quote+, cit+ model.qLike = model.quoteLike | q model.qLike_alternation = model.quoteLike_alternation | q model.qLike_sequence = model.quoteLike_sequence, q model.qLike_sequenceOptional = model.quoteLike_sequenceOptional?, q? model.qLike_sequenceOptionalRepeatable = model.quoteLike_sequenceOptionalRepeatable*, q* model.qLike_sequenceRepeatable = model.quoteLike_sequenceRepeatable+, q+ model.respLike = author | editor model.divWrapper = byline | dateline | epigraph | salute | docAuthor | docDate model.divTopPart = model.headLike | opener model.divTop = model.divWrapper | model.divTopPart model.frontPart.drama = set | prologue | epilogue | performance | castList model.pLike.front = head | byline | epigraph | docTitle | titlePart | docAuthor | docEdition | docImprint | docDate model.divBottomPart = trailer | closer | signed | postscript model.divBottom = model.divWrapper | model.divBottomPart model.titlepagePart = graphic | figure | byline | epigraph | docTitle | titlePart | docAuthor | imprimatur | docEdition | docImprint | docDate model.msQuoteLike = title | colophon | explicit | finalRubric | incipit | rubric model.msItemPart = model.quoteLike | model.respLike | model.msQuoteLike | bibl | biblStruct | textLang | filiation | msItem | msItemStruct | decoNote model.choicePart = sic | corr | reg | orig | unclear | abbr | expan model.imprintPart = publisher | pubPlace model.castItemPart = role | roleDesc | actor model.physDescPart_sequenceOptional = objectDesc?, handDesc?, typeDesc?, scriptDesc?, musicNotation?, decoDesc?, additions?, bindingDesc?, sealDesc?, accMat? model.addressLike = address | affiliation model.addressLike_alternation = address | affiliation model.addressLike_sequence = address, affiliation model.addressLike_sequenceOptional = address?, affiliation? model.addressLike_sequenceOptionalRepeatable = address*, affiliation* model.addressLike_sequenceRepeatable = address+, affiliation+ model.nameLike = model.nameLike.agent | model.offsetLike | model.placeStateLike | rs | idno | model.persNamePart model.nameLike_alternation = model.nameLike.agent_alternation | model.offsetLike_alternation | model.placeStateLike_alternation | rs | idno | model.persNamePart_alternation model.nameLike_sequence = model.nameLike.agent_sequence, model.offsetLike_sequence, model.placeStateLike_sequence, rs, idno, model.persNamePart_sequence model.nameLike_sequenceOptional = model.nameLike.agent_sequenceOptional?, model.offsetLike_sequenceOptional?, model.placeStateLike_sequenceOptional?, rs?, idno?, model.persNamePart_sequenceOptional? model.nameLike_sequenceOptionalRepeatable = model.nameLike.agent_sequenceOptionalRepeatable*, model.offsetLike_sequenceOptionalRepeatable*, model.placeStateLike_sequenceOptionalRepeatable*, rs*, idno*, model.persNamePart_sequenceOptionalRepeatable* model.nameLike_sequenceRepeatable = model.nameLike.agent_sequenceRepeatable+, model.offsetLike_sequenceRepeatable+, model.placeStateLike_sequenceRepeatable+, rs+, idno+, model.persNamePart_sequenceRepeatable+ model.global = model.global.meta | model.milestoneLike | model.noteLike | model.global.edit | notatedMusic | metamark model.featureVal = model.featureVal.complex | model.featureVal.single model.biblPart = model.respLike | model.imprintPart | citedRange | bibl | textLang | edition | extent | msIdentifier model.frontPart = model.frontPart.drama | titlePage model.addrPart = model.nameLike | addrLine model.pPart.data = model.dateLike | model.measureLike | model.addressLike | model.nameLike model.inter = model.egLike | model.biblLike | model.labelLike | model.listLike | model.stageLike | model.qLike | castList model.common = model.divPart | model.inter | model.entryLike model.phrase = model.segLike | model.highlighted | model.graphicLike | model.pPart.msdesc | model.pPart.edit | model.ptrLike | model.lPart | model.pPart.data model.limitedPhrase = model.hiLike | model.emphLike | model.pPart.msdesc | model.pPart.editorial | model.ptrLike | model.pPart.data model.divLike = \div model.divGenLike = notAllowed model.div1Like = notAllowed model.teiHeaderPart = encodingDesc | profileDesc model.sourceDescPart = notAllowed model.encodingDescPart = charDecl | editorialDecl | styleDefDecl | listPrefixDef | variantEncoding model.editorialDeclPart = normalization model.profileDescPart = calendarDesc | handNotes | listTranspose att.source.attributes = att.source.attribute.source att.source.attribute.source = ## (pointer to a bibliographical source reference) provides a pointer to the bibliographical source from which a quotation or citation is drawn. attribute source { list { data.pointer+ } }? model.resourceLike = sourceDoc att.personal.attributes = att.naming.attributes, att.personal.attribute.full, att.personal.attribute.sort att.personal.attribute.full = ## indicates whether the name component is given in full, as an abbreviation or simply as an initial. [ a:defaultValue = "yes" ] attribute full { ## the name component is spelled out in full. "yes" | ## (abbreviated) the name component is given in an abbreviated form. "abb" | ## (initial letter) the name component is indicated only by one initial. "init" }? att.personal.attribute.sort = ## specifies the sort order of the name component in relation to others within the name. attribute sort { data.count }? model.placeLike = place p = ## (paragraph) marks paragraphs in prose. [3.1. 7.2.5. ] element p { macro.paraContent, att.global.attributes, att.fragmentable.attributes, empty } foreign = ## (foreign) identifies a word or phrase as belonging to some language other than that of the surrounding text. [3.3.2.1. ] element foreign { macro.phraseSeq, att.global.attributes, empty } emph = ## (emphasized) marks words or phrases which are stressed or emphasized for linguistic or rhetorical effect. [3.3.2.2. 3.3.2. ] element emph { macro.paraContent, att.global.attributes, empty } hi = ## (highlighted) marks a word or phrase as graphically distinct from the surrounding text, for reasons concerning which no claim is made. [3.3.2.2. 3.3.2. ] element hi { macro.paraContent, att.global.attributes, empty } quote = ## (quotation) contains a phrase or passage attributed by the narrator or author to some agency external to the text. [3.3.3. 4.3.1. ] element quote { macro.specialPara, att.global.attributes, att.typed.attributes, att.msExcerpt.attributes, att.source.attributes, empty } q = ## (quoted) contains material which is distinguished from the surrounding text using quotation marks or a similar method, for any one of a variety of reasons including, but not limited to: direct speech or thought, technical terms or jargon, authorial distance, quotations from elsewhere, and passages that are mentioned but not used. [3.3.3. ] element q { macro.specialPara, att.global.attributes, att.ascribed.attributes, att.source.attributes, ## may be used to indicate whether the offset passage is spoken or thought, or to characterize it more finely. ## Suggested values include: 1] spoken; 2] thought; 3] written; 4] soCalled; 5] foreign(foreign words) ; 6] distinct(linguistically distinct) ; 7] term(technical term) ; 8] emph(rhetorically emphasized) ; 9] mentioned attribute type { ## representation of speech "spoken" | ## representation of thought, e.g. internal monologue "thought" | ## quotation from a written source "written" | ## authorial distance "soCalled" | ## (foreign words) "foreign" | ## (linguistically distinct) "distinct" | ## (technical term) "term" | ## (rhetorically emphasized) "emph" | ## refering to itself, not its normal referant "mentioned" | xsd:Name }?, empty } cit = ## (cited quotation) contains a quotation from some other document, together with a bibliographic reference to its source. In a dictionary it may contain an example text with at least one occurrence of the word form, used in the sense being described, or a translation of the headword, or an example. [3.3.3. 4.3.1. 9.3.5.1. ] element cit { (model.qLike | model.egLike | model.biblLike | model.ptrLike | model.global | model.entryPart)+, att.global.attributes, att.typed.attributes, empty } term = ## contains a single-word, multi-word, or symbolic designation which is regarded as a technical term. [3.3.4. ] element term { macro.phraseSeq, att.global.attributes, att.pointing.attribute.targetLang, att.pointing.attribute.evaluate, att.canonical.attributes, ## specifies the destination of the reference by supplying one or more URI References attribute target { list { data.pointer+ } }?, empty } sic = ## (Latin for thus or so) contains text reproduced although apparently incorrect or inaccurate. [3.4.1. ] element sic { macro.paraContent } corr = ## (correction) contains the correct form of a passage apparently erroneous in the copy text. [3.4.1. ] element corr { macro.paraContent } choice = ## groups a number of alternative encodings for the same point in a text. [3.4. ] element choice { (model.choicePart | choice)* } reg = ## (regularization) contains a reading which has been regularized or normalized in some sense. [3.4.2. 12. ] element reg { macro.paraContent } orig = ## (original form) contains a reading which is marked as following the original, rather than being normalized or corrected. [3.4.2. 12. ] element orig { macro.paraContent } gap = ## (gap) indicates a point where material has been omitted in a transcription, whether for editorial reasons described in the TEI header, as part of sampling practice, or because the material is illegible, invisible, or inaudible. [3.4.3. ] element gap { (model.descLike | model.certLike)*, att.global.attributes, att.editLike.attributes, ## gives the reason for omission. Sample values include sampling, inaudible, irrelevant, cancelled. attribute reason { list { data.word+ } }?, ## in the case of text omitted from the transcription because of deliberate deletion by an identifiable hand, signifies the hand which made the deletion. attribute hand { data.pointer }?, ## In the case of text omitted because of damage, categorizes the cause of the damage, if it can be identified. ## Sample values include: 1] rubbing; 2] mildew; 3] smoke attribute agent { data.enumerated }?, empty } unclear = ## contains a word, phrase, or passage which cannot be transcribed with certainty because it is illegible or inaudible in the source. [11.3.3.1. 3.4.3. ] element unclear { macro.paraContent, ## indicates why the material is hard to transcribe. attribute reason { list { data.word+ } }?, ## Where the difficulty in transcription arises from action (partial deletion, etc.) assignable to an identifiable hand, signifies the hand responsible for the action. attribute hand { data.pointer }?, ## Where the difficulty in transcription arises from damage, categorizes the cause of the damage, if it can be identified. ## Sample values include: 1] rubbing; 2] mildew; 3] smoke attribute agent { data.enumerated }?, empty } rs = ## (referencing string) contains a general purpose name or referring string. [13.2.1. 3.5.1. ] element rs { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attribute.subtype, ## (You must indicate the type of the referring string) characterizes the element in some sense, using any convenient classification scheme or typology. attribute type { ## (natural person) "person" | ## (literary figure) "figure" | ## (self explanatory) "geographic-entity" | ## (any type of organization) "organization" | ## "other" }, empty } address = ## contains a postal address, for example of a publisher, an organization, or an individual. [3.5.2. 2.2.4. 3.11.2.3. ] element address { (model.global*, (model.addrPart, model.global*)+), att.global.attributes, empty } addrLine = ## (address line) contains one line of a postal address. [3.5.2. 2.2.4. 3.11.2.3. ] element addrLine { macro.phraseSeq, att.global.attributes, empty } date = ## contains a date in any format. [3.5.4. 2.2.4. 2.5. 3.11.2.3. 15.2.3. 13.3.6. ] element date { (text | model.gLike | model.phrase | model.global)*, att.global.attribute.xmlid, att.global.attribute.n, att.global.attribute.xmllang, att.global.attribute.style, 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.facs.attribute.facs, att.global.change.attribute.change, att.datable.attribute.period, att.datable.iso.attribute.when-iso, att.datable.iso.attribute.notBefore-iso, att.datable.iso.attribute.notAfter-iso, att.datable.iso.attribute.from-iso, att.datable.iso.attribute.to-iso, 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.custom.attribute.datingMethod, att.editLike.attribute.instant, att.dimensions.attribute.unit, att.dimensions.attribute.quantity, att.dimensions.attribute.extent, att.dimensions.attribute.precision, att.dimensions.attribute.scope, att.ranging.attribute.atLeast, att.ranging.attribute.atMost, att.ranging.attribute.min, att.ranging.attribute.max, att.ranging.attribute.confidence, ## (You must enter a date in ISO format) supplies the value of the date or time in a standard form, e.g. yyyy-mm-dd. attribute when { data.temporal.iso }?, ## (You must enter a date in ISO format) specifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd. attribute notBefore { data.temporal.iso }?, ## (You must enter a date in ISO format) specifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd. attribute notAfter { data.temporal.iso }?, ## (You must enter a date in ISO format) indicates the starting point of the period in standard form, e.g. yyyy-mm-dd. attribute from { data.temporal.iso }?, ## (You must enter a date in ISO format) indicates the ending point of the period in standard form, e.g. yyyy-mm-dd. attribute to { data.temporal.iso }?, empty } time = ## contains a phrase defining a time of day in any format. [3.5.4. ] element time { (text | model.gLike | model.phrase | model.global)*, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.typed.attributes, empty } abbr = ## (abbreviation) contains an abbreviation of any sort. [3.5.5. ] element abbr { macro.phraseSeq } expan = ## (expansion) contains the expansion of an abbreviation. [3.5.5. ] element expan { macro.phraseSeq } ref = ## (takes the function of ref and ptr. Can therefore also be empty) defines a reference to another location, possibly modified by additional text or comment. [3.6. 16.1. ] element ref { macro.paraContent >> sch:pattern [ id = "ref-constraint-refAtts" "\x{a}" ~ " " sch:rule [ context = "tei:ref" "\x{a}" ~ " " sch:report [ test = "@target and @cRef" "Only one of the\x{a}" ~ " attributes @target' and @cRef' may be supplied on " sch:name [ ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.pointing.attribute.targetLang, att.internetMedia.attributes, att.typed.attribute.subtype, ## (The target of this pointer / reference) specifies the destination of the reference by supplying one or more URI References attribute target { data.pointer }, empty } \list = ## (list) contains any sequence of items organized as a list. [3.7. ] element list { ((model.divTop | model.global)*, ((item, model.global*)+ | (label, model.global*, item, model.global*)+), (model.divBottom, model.global*)*), att.global.attributes, att.sortable.attributes, ## describes the form of the list. ## Suggested values include: 1] ordered; 2] bulleted; 3] simple; 4] gloss [ a:defaultValue = "simple" ] attribute type { ## list items are numbered or lettered. "ordered" | ## list items are marked with a bullet or other typographic device. "bulleted" | ## list items are not numbered or bulleted. "simple" | ## each list item glosses some term or concept, which is given by a label element preceding the list item. "gloss" | xsd:Name }?, empty } item = ## contains one component of a list. [3.7. 2.5. ] element item { macro.specialPara, att.global.attributes, att.sortable.attributes, empty } label = ## contains any label or heading used to identify part of a text, typically but not exclusively in a list or glossary. [3.7. ] element label { macro.phraseSeq, att.global.attributes, att.typed.attributes, att.placement.attributes, empty } 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. ] element head { (text | lg | model.gLike | model.phrase | model.inter | model.lLike | model.global)*, att.global.attributes, att.typed.attributes, empty } note = ## contains a note or annotation. [3.8.1. 2.2.6. 3.11.2.7. 9.3.5.4. ] element note { macro.specialPara, att.global.attribute.xmlid, att.global.attribute.n, att.global.attribute.xmllang, att.global.attribute.style, 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.facs.attribute.facs, att.global.change.attribute.change, att.pointing.attribute.targetLang, att.pointing.attribute.evaluate, att.responsibility.attribute.cert, att.typed.attribute.subtype, ## (The place of the note should be specified ## whenever the note refers to a note present in the ## original text. The current text is a simplified version ## of the P5 one) specifies where this item is placed attribute place { list { ( ## "margin" | ## "other" | ## "app" | ## "foot" | ## "end" | ## "inline" | ## "interlinear")+ } }?, ## specifies the destination of the reference by supplying one or more URI References attribute target { list { data.pointer+ } }?, ## (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. attribute resp { list { data.pointer+ } }?, ## (The place of the note must be specified. The ## current text is a simplified version of the P5 ## one) characterizes the element in some sense, using any convenient classification scheme or typology. attribute type { ## "annotation" | ## "gloss" | ## "citation" | ## "other" }?, ## indicates whether the copy text shows the exact place of reference for the note. [ a:defaultValue = "true" ] attribute anchored { data.truthValue }?, empty } index = ## (index entry) marks a location to be indexed for whatever purpose. [3.8.2. ] element index { (term, index?)*, att.global.attributes, att.spanning.attributes, ## (You must indicate the type of this index) a single word which follows the rules defining a legal XML name (see ), supplying a name to specify which index (of several) the index entry belongs to. attribute indexName { ## "name" | ## "place" | ## "subject" | ## "citation" | ## "other" }, empty } media = ## indicates the location of any form of external media such as an audio or video clip etc. [3.9. ] element media { model.descLike*, att.typed.attributes, att.global.attributes, att.media.attribute.width, att.media.attribute.height, att.media.attribute.scale, att.resourced.attributes, att.timed.attributes, ## (MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type attribute mimeType { list { data.word+ } }, empty } graphic = ## indicates the location of an inline graphic, illustration, or figure. [3.9. ] element graphic { model.descLike*, att.global.attributes, att.internetMedia.attribute.mimeType, ## (The notation used to express this formula) specifies the URL from which the media concerned may be obtained. attribute url { data.pointer }, empty } milestone = ## marks a boundary point separating any kind of section of a text, typically but not necessarily indicating a point at which some part of a standard reference system changes, where the change is not represented by a structural element. [3.10.3. ] element milestone { empty, att.global.attributes, att.typed.attributes, att.edition.attributes, att.spanning.attributes, att.breaking.attributes, ## (You must indicate the unit that this milestone ## marks. The proposed values have been taken from the P5 ## documentation) provides a conventional name for the kind of section changing at this milestone. attribute unit { ## "book" | ## "poem" | ## "canto" | ## "stanza" | ## "act" | ## "scene" | ## "section" | ## "absent" }, empty } gb = ## (gathering begins) marks the point in a transcribed codex at which a new gathering or quire begins. [3.10.3. ] element gb { empty, att.global.attributes, att.typed.attributes, att.spanning.attributes, att.breaking.attributes, empty } pb = ## (page break) marks the boundary between one page of a text and the next in a standard reference system. [3.10.3. ] element pb { empty, att.global.attributes, att.typed.attributes, att.edition.attributes, att.spanning.attributes, att.breaking.attributes, empty } lb = ## (line break) marks the start of a new (typographic) line in some edition or version of a text. [3.10.3. 7.2.5. ] element lb { empty, att.global.attributes, att.typed.attributes, att.edition.attributes, att.spanning.attributes, att.breaking.attributes, empty } cb = ## (column break) marks the boundary between one column of a text and the next in a standard reference system. [3.10.3. ] element cb { empty, att.global.attributes, att.typed.attributes, att.edition.attributes, att.spanning.attributes, att.breaking.attributes, empty } monogr = ## (monographic level) contains bibliographic elements describing an item (e.g. a book or journal) published as an independent item (i.e. as a separate physical object). [3.11.2.1. ] element monogr { ((((author | editor), (author | editor)*, title+, (idno | textLang | editor)*) | ((title | ref)+, (idno | textLang | author | editor)*) | (authority, idno))?, model.noteLike*, (edition, (idno | editor)*)*, imprint, (imprint | extent)*), att.global.attributes, empty } 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.11.2.2. 2.2.1. ] element author { macro.phraseSeq, att.global.attributes, att.naming.attributes, empty } 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.11.2.2. ] element editor { macro.phraseSeq, att.global.attributes, att.naming.attributes, empty } title = ## contains a title for any kind of work. [3.11.2.2. 2.2.1. 2.2.5. ] element title { macro.paraContent, att.global.attributes, att.canonical.attributes, att.typed.attribute.subtype, ## classifies the title according to some convenient typology. ## Sample values include: 1] main; 2] sub(subordinate) ; 3] alt(alternate) ; 4] short; 5] desc(descriptive) attribute type { data.enumerated }?, ## indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. attribute level { ## (analytic) analytic title (article, poem, or other item published as part of a larger item) "a" | ## (monographic) monographic title (book, collection, or other item published as a distinct item, including single volumes of multi-volume works) "m" | ## (journal) journal title "j" | ## (series) series title "s" | ## (unpublished) title of unpublished material (including theses and dissertations unless published by a commercial press) "u" }?, empty } imprint = ## groups information relating to the publication or distribution of a bibliographic item. [3.11.2.3. ] element imprint { ((model.imprintPart | model.dateLike), model.global*)+, att.global.attributes, empty } publisher = ## provides the name of the organization responsible for the publication or distribution of a bibliographic item. [3.11.2.3. 2.2.4. ] element publisher { macro.phraseSeq, att.global.attributes, empty } citedRange = ## (cited range) defines the range of cited content, often represented by pages or other units [3.11.2.3. ] element citedRange { macro.phraseSeq, att.global.attributes, att.pointing.attributes, ## identifies the type of information conveyed by the element, e.g. columns, pages, volume. ## Suggested values include: 1] vol (volume) ; 2] issue; 3] pp (pages) ; 4] ll (lines) ; 5] chap (chapter) ; 6] part attribute unit { ## (volume) the element contains a volume number. "vol" | ## the element contains an issue number, or volume and issue numbers. "issue" | ## (pages) the element contains a page number or page range. "pp" | ## (lines) the element contains a line number or line range. "ll" | ## (chapter) the element contains a chapter indication (number and/or title) "chap" | ## the element identifies a part of a book or collection. "part" | xsd:Name }?, ## specifies the starting point of the range of units indicated by the unit attribute. attribute from { data.word }?, ## specifies the end-point of the range of units indicated by the unit attribute. attribute to { data.word }?, empty } pubPlace = ## (publication place) contains the name of the place where a bibliographic item was published. [3.11.2.3. ] element pubPlace { macro.phraseSeq, att.global.attributes, att.naming.attributes, empty } bibl = ## (bibliographic citation) contains a loosely-structured bibliographic citation of which the sub-components may or may not be explicitly tagged. [3.11.1. 2.2.7. 15.3.2. ] element bibl { (text | model.gLike | model.highlighted | model.pPart.data | model.pPart.edit | model.segLike | model.ptrLike | model.biblPart | model.global)*, att.global.attributes, att.declarable.attributes, att.typed.attributes, att.sortable.attributes, att.docStatus.attributes, empty } biblStruct = ## (structured bibliographic citation) contains a structured bibliographic citation, in which only bibliographic sub-elements appear and in a specified order. [3.11.1. 2.2.7. 15.3.2. ] element biblStruct { (monogr+, (model.noteLike | idno | model.ptrLike | citedRange)*), att.global.attributes, att.declarable.attributes, att.typed.attributes, att.sortable.attributes, att.docStatus.attributes, empty } l = ## (verse line) contains a single, possibly incomplete, line of verse. [3.12.1. 3.12. 7.2.5. ] element l { macro.paraContent, att.global.attributes, att.metrical.attributes, att.enjamb.attributes, att.fragmentable.attributes, empty } lg = ## (line group) contains one or more verse lines functioning as a formal unit, e.g. a stanza, refrain, verse paragraph, etc. [3.12.1. 3.12. 7.2.5. ] element lg { ((model.divTop | model.global)*, (model.lLike | model.stageLike | model.labelLike | lg), (model.lLike | model.stageLike | model.labelLike | model.global | lg)*, (model.divBottom, model.global*)*) >> sch:pattern [ id = "lg-constraint-atleast1oflggapl" "\x{a}" ~ " " sch:rule [ context = "tei:lg" "\x{a}" ~ " " sch:assert [ test = "count(descendant::tei:lg|descendant::tei:l|descendant::tei:gap) > 0" "An lg element\x{a}" ~ " must contain at least one child l, lg or gap element." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.divLike.attributes, att.typed.attributes, empty } sp = ## (speech) contains an individual speech in a performance text, or a passage presented as such in a prose or verse text. [3.12.2. 3.12. 7.2.2. ] element sp { (model.global*, (speaker, model.global*)?, ((lg | model.lLike | model.pLike | model.listLike | model.stageLike | model.qLike), model.global*)+), att.global.attributes, att.ascribed.attributes, empty } speaker = ## contains a specialized form of heading or label, giving the name of one or more speakers in a dramatic text or fragment. [3.12.2. ] element speaker { macro.phraseSeq, att.global.attributes, empty } stage = ## (stage direction) contains any kind of stage direction within a dramatic text or fragment. [3.12.2. 3.12. 7.2.4. ] element stage { macro.specialPara, att.global.attributes, ## indicates the kind of stage direction. ## Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed attribute type { ## describes a setting. "setting" | ## describes an entrance. "entrance" | ## describes an exit. "exit" | ## describes stage business. "business" | ## is a narrative, motivating stage direction. "novelistic" | ## describes how a character speaks. "delivery" | ## gives some detail about a character. "modifier" | ## describes a location. "location" | ## more than one of the above "mixed" | xsd:Name }?, empty } textLang = ## (text language) describes the languages and writing systems identified within the bibliographic work being described, rather than its description. [3.11.2.3. 10.6.6. ] element textLang { macro.phraseSeq, att.global.attributes, ## (main language) supplies a code which identifies the chief language used in the bibliographic work. attribute mainLang { data.language }?, ## (other languages) one or more codes identifying any other languages used in the bibliographic work. attribute otherLangs { list { data.language* } }?, empty } model.entryLike = superEntry | entry att.entryLike.attributes = att.entryLike.attribute.type att.entryLike.attribute.type = ## indicates type of entry, in dictionaries with multiple types. ## Suggested values include: 1] main; 2] hom(homograph) ; 3] xref(cross reference) ; 4] affix; 5] abbr(abbreviation) ; 6] supplemental; 7] foreign [ a:defaultValue = "main" ] attribute type { ## a main entry (default). "main" | ## (homograph) groups information relating to one homograph within an entry. "hom" | ## (cross reference) a reduced entry whose only function is to point to another main entry (e.g. for forms of an irregular verb or for variant spellings: was pointing to be, or esthete to aesthete). "xref" | ## an entry for a prefix, infix, or suffix. "affix" | ## (abbreviation) an entry for an abbreviation. "abbr" | ## a supplemental entry (for use in dictionaries which issue supplements to their main work in which they include updated information about entries). "supplemental" | ## an entry for a foreign word in a monolingual dictionary. "foreign" | xsd:Name }? att.lexicographic.attributes = att.datcat.attributes, att.lexicographic.attribute.expand, att.lexicographic.attribute.norm, att.lexicographic.attribute.split, att.lexicographic.attribute.value, att.lexicographic.attribute.orig, att.lexicographic.attribute.location, att.lexicographic.attribute.mergedIn, att.lexicographic.attribute.opt att.lexicographic.attribute.expand = ## gives an expanded form of information presented more concisely in the dictionary attribute expand { text }? att.lexicographic.attribute.norm = ## (normalized) gives a normalized form of information given by the source text in a non-normalized form attribute norm { text }? att.lexicographic.attribute.split = ## gives the list of split values for a merged form attribute split { text }? att.lexicographic.attribute.value = ## gives a value which lacks any realization in the printed source text. attribute value { text }? att.lexicographic.attribute.orig = ## (original) gives the original string or is the empty string when the element does not appear in the source text. attribute orig { text }? att.lexicographic.attribute.location = ## provides a reference to an anchor element typically elsewhere in the document, but possibly in another document, indicating the original location of this component. attribute location { data.pointer }? att.lexicographic.attribute.mergedIn = ## gives a reference to another element, where the original appears as a merged form. attribute mergedIn { data.pointer }? att.lexicographic.attribute.opt = ## (optional) indicates whether the element is optional or not [ a:defaultValue = "false" ] attribute opt { xsd:boolean }? superEntry = ## groups a sequence of entries within any kind of lexical resource, such as a dictionary or lexicon which function as a single unit, for example a set of homographs. [9.1. ] element superEntry { entry+, att.global.attributes, att.entryLike.attributes, att.sortable.attributes, empty } entry = ## contains a single structured entry in any kind of lexical resource, such as a dictionary or lexicon. [9.1. 9.2. ] element entry { (model.milestoneLike*, usg*, form, sense), att.global.attributes, att.entryLike.attributes, att.sortable.attributes, empty } sense = ## groups together all information relating to one word sense in a dictionary entry, for example definitions, examples, and translation equivalents. [9.2. ] element sense { (text | model.gLike | sense | model.entryPart.top | model.phrase | model.global)*, att.lexicographic.attributes, ## gives the nesting depth of this sense. attribute level { data.count }?, empty } form = ## (form information group) groups all the information on the written and spoken forms of one headword. [9.3.1. ] element form { (text | model.gLike | model.phrase | model.inter | model.formPart | model.global)*, att.global.attributes, att.lexicographic.attributes, ## classifies form as lemma (line), headword or simple. attribute type { ## (lemma, containing the headword) "lemma" | ## (the headword itself) "headword" | ## (single free lexical item) "simple" }, empty } gen = ## (gender) identifies the morphological gender of a lexical item, as given in the dictionary. [9.3.1. ] element gen { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } model.morphLike = gen model.morphLike_alternation = gen model.morphLike_sequence = gen model.morphLike_sequenceOptional = gen? model.morphLike_sequenceOptionalRepeatable = gen* model.morphLike_sequenceRepeatable = gen+ model.gramPart = model.morphLike | gramGrp | pos | subc | usg model.formPart = form | model.gramPart gramGrp = ## (grammatical information group) groups morpho-syntactic information about a lexical item, e.g. pos, gen, number, case, or iType (inflectional class). [9.3.2. ] element gramGrp { pos, (text | model.gLike | model.phrase | model.inter | model.gramPart | model.global)*, att.lexicographic.attributes, empty } pos = ## (part of speech) indicates the part of speech assigned to a dictionary headword such as noun, verb, or adjective. [9.3.2. ] element pos { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } subc = ## (subcategorization) contains subcategorization information (transitive/intransitive, countable/non-countable, etc.) [9.3.2. ] element subc { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } def = ## (definition) contains definition text in a dictionary entry. [9.3.3.1. ] element def { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } etym = ## (etymology) encloses the etymological information in a dictionary entry. [9.3.4. ] element etym { (text | model.gLike | model.phrase | model.inter | usg | def | model.morphLike | xr | model.global)*, att.global.attributes, att.lexicographic.attributes, empty } usg = ## (usage) contains usage information in a dictionary entry. [9.3.5.2. ] element usg { macro.paraContent, att.global.attributes, att.lexicographic.attributes, ## classifies the usage information using any convenient typology. ## Sample values include: 1] geo(geographic) ; 2] time; 3] dom(domain) ; 4] register(register) ; 5] style; 6] plev(preference level) ; 7] lang(language) ; 8] gram(grammatical) ; 9] syn(synonym) ; 10] hyper(hypernym) ; 11] colloc(collocation) ; 12] comp(complement) ; 13] obj(object) ; 14] subj(subject) ; 15] verb; 16] hint attribute type { data.enumerated }?, empty } xr = ## (cross-reference phrase) contains a phrase, sentence, or icon referring the reader to some other location in this or another text. [9.3.5.3. ] element xr { (text | model.gLike | model.phrase | model.inter | usg | model.global)*, att.lexicographic.attributes, ## indicates the type of cross reference, using any convenient typology. ## Sample values include: 1] syn(synonym) ; 2] etym(etymological) ; 3] cf(compare or consult) ; 4] illus(illustration) attribute type { data.enumerated }?, empty } re = ## (related entry) contains a dictionary entry for a lexical item related to the headword, such as a compound phrase or derived form, embedded inside a larger entry. [9.3.6. ] element re { (text | model.gLike | sense | model.entryPart.top | model.phrase | model.global)*, att.global.attributes, att.lexicographic.attributes, att.typed.attributes, empty } set = ## (setting) contains a description of the setting, time, locale, appearance, etc., of the action of a play, typically found in the front matter of a printed performance text (not a stage direction). [7.1. ] element set { ((model.headLike | model.global)*, (model.common, model.global*)*), att.global.attributes, empty } prologue = ## contains the prologue to a drama, typically spoken by an actor out of character, possibly in association with a particular performance or venue. [7.1.2. 7.1. ] element prologue { ((model.divTop | model.global)*, (model.common, model.global*)+, (model.divBottom, model.global*)*), att.global.attributes, empty } epilogue = ## contains the epilogue to a drama, typically spoken by an actor out of character, possibly in association with a particular performance or venue. [7.1.2. 7.1. ] element epilogue { ((model.divTop | model.global)*, (model.common, model.global*)+, (model.divBottom, model.global*)*), att.global.attributes, empty } performance = ## contains a section of front or back matter describing how a dramatic piece is to be performed in general or how it was performed on some specific occasion. [7.1.3. 7.1. ] element performance { ((model.divTop | model.global)*, (model.common, model.global*)+, (model.divBottom, model.global*)*), att.global.attributes, empty } castList = ## (cast list) contains a single cast list or dramatis personae. [7.1.4. 7.1. ] element castList { ((model.divTop | model.global)*, (model.common, model.global*)*, ((castItem | castGroup), model.global*)+, (model.common, model.global*)*), att.global.attributes, empty } castGroup = ## (cast list grouping) groups one or more individual castItem elements within a cast list. [7.1.4. ] element castGroup { ((model.global | model.headLike)*, ((castItem | castGroup | roleDesc), model.global*)+, (trailer, model.global*)?), att.global.attributes, empty } castItem = ## (cast list item) contains a single entry within a cast list, describing either a single role or a list of non-speaking roles. [7.1.4. ] element castItem { (text | model.gLike | model.castItemPart | model.phrase | model.global)*, att.global.attributes, ## characterizes the cast item. [ a:defaultValue = "role" ] attribute type { ## the item describes a single role. "role" | ## the item describes a list of non-speaking roles. "list" }?, empty } role = ## contains the name of a dramatic role, as given in a cast list. [7.1.4. ] element role { macro.phraseSeq, att.global.attributes, empty } roleDesc = ## (role description) describes a character's role in a drama. [7.1.4. ] element roleDesc { macro.phraseSeq, att.global.attributes, empty } actor = ## contains the name of an actor appearing within a cast list. [7.1.4. ] element actor { macro.phraseSeq, att.global.attributes, empty } spGrp = ## (speech group) contains a group of speeches or songs in a performance text presented in a source as constituting a single unit or number. [7.2.3. ] element spGrp { (model.headLike*, (model.global | sp | model.stageLike)+), att.global.attributes, att.typed.attributes, att.ascribed.attributes, empty } move = ## (movement) marks the actual entrance or exit of one or more characters on stage. [7.2.4. ] element move { empty, att.global.attributes, att.ascribed.attributes, ## characterizes the movement, for example as an entrance or exit. ## Suggested values include: 1] entrance; 2] exit; 3] onStage attribute type { ## character is entering the stage. "entrance" | ## character is exiting the stage. "exit" | ## character moves on stage "onStage" | xsd:Name }?, ## specifies the direction of a stage movement. ## Sample values include: 1] L(left) ; 2] R(right) ; 3] C(center) attribute where { list { data.enumerated+ } }?, ## (performance) identifies the performance or performances in which this movement occurred as specified. attribute perf { list { data.pointer+ } }?, empty } view = ## describes the visual context of some part of a screen play in terms of what the spectator sees, generally independent of any dialogue. [7.3.1. 7.3. ] element view { macro.specialPara, att.global.attributes, empty } camera = ## describes a particular camera angle or viewpoint in a screen play. [7.3.1. 7.3. ] element camera { macro.paraContent, att.global.attributes, att.typed.attributes, empty } sound = ## describes a sound effect or musical sequence specified within a screen play or radio script. [7.3.1. 7.3. ] element sound { macro.paraContent, att.global.attributes, ## categorizes the sound in some respect, e.g. as music, special effect, etc. attribute type { data.enumerated }?, ## indicates whether the sound overlaps the surrounding speeches or interrupts them. [ a:defaultValue = "unknown" ] attribute discrete { data.xTruthValue }?, empty } caption = ## contains the text of a caption or other text displayed as part of a film script or screenplay. [7.3.1. 7.3. ] element caption { macro.paraContent, att.global.attributes, empty } tech = ## (technical stage direction) describes a special-purpose stage direction that is not meant for the actors. [7.3.1. ] element tech { macro.paraContent, att.global.attributes, ## categorizes the technical stage direction. attribute type { ## a lighting cue "light" | ## a sound cue "sound" | ## a prop cue "prop" | ## a blocking instruction "block" }?, ## (performance) identifies the performance or performances to which this technical direction applies. attribute perf { data.enumerated }?, empty } table = ## contains text displayed in tabular form, in rows and columns. [14.1.1. ] element table { ((model.headLike | model.global)*, ((row, model.global*)+ | (model.graphicLike, model.global*)+), (model.divBottom, model.global*)*), att.global.attributes, ## indicates the number of rows in the table. attribute rows { data.count }?, ## (columns) indicates the number of columns in each row of the table. attribute cols { data.count }?, empty } row = ## contains one row of a table. [14.1.1. ] element row { cell+, att.global.attributes, att.tableDecoration.attributes, empty } cell = ## contains one cell of a table. [14.1.1. ] element cell { macro.paraContent, att.global.attributes, att.tableDecoration.attributes, empty } formula = ## contains a mathematical or other formula. [14.2. ] element formula { (text | model.graphicLike | model.hiLike)*, att.global.attributes, ## (The notation used to express this formula) names the notation used for the content of the element. attribute notation { data.enumerated }, empty } notatedMusic = ## encodes the presence of music notation in a text element notatedMusic { (model.labelLike | model.ptrLike | graphic)*, att.global.attributes, att.placement.attributes, att.typed.attributes, empty } figure = ## groups elements representing or containing graphic information such as an illustration, formula, or figure. [14.4. ] element figure { (model.headLike | model.common | figDesc | model.graphicLike | model.global | model.divBottomPart)* } figDesc = ## (description of figure) contains a brief prose description of the appearance or content of a graphic figure, for use when documenting an image without displaying it. [14.4. ] element figDesc { macro.limitedContent, att.global.attributes, empty } g = ## (character or glyph) represents a glyph, or a non-standard character. [5. ] element g { text, att.global.attributes, att.typed.attributes, ## points to a description of the character or glyph intended. attribute ref { data.pointer }?, empty } char = ## (character) provides descriptive information about a character. element char { (charName?, model.descLike*, charProp*, mapping*, figure*, model.graphicLike*, model.noteLike*), att.global.attributes, empty } charName = ## (character name) contains the name of a character, expressed following Unicode conventions. element charName { text, att.global.attributes, empty } charProp = ## (character property) provides a name and value for some property of the parent character or glyph. element charProp { ((unicodeName | localName), value), att.global.attributes, att.typed.attributes, empty } charDecl = ## (character declarations) provides information about nonstandard characters and glyphs. element charDecl { (char | glyph)+, att.global.attributes, empty } glyph = ## (character glyph) provides descriptive information about a character glyph. element glyph { (glyphName?, model.descLike*, charProp*, mapping*, figure*, model.graphicLike*, model.noteLike*), att.global.attributes, empty } glyphName = ## (character glyph name) contains the name of a glyph, expressed following Unicode conventions for character names. element glyphName { text, att.global.attributes, empty } localName = ## (locally-defined property name) contains a locally defined name for some property. element localName { text, att.global.attributes, empty } mapping = ## (character mapping) contains one or more characters which are related to the parent character or glyph in some respect, as specified by the type attribute. element mapping { macro.xtext, att.global.attributes, att.typed.attributes, empty } unicodeName = ## (unicode property name) contains the name of a registered Unicode normative or informative property. element unicodeName { text, att.global.attributes, ## specifies the version number of the Unicode Standard in which this property name is defined. attribute version { data.version }?, empty } value = ## (value) contains a single value for some property, attribute, or other analysis. element value { macro.xtext, att.global.attributes, empty } teiHeader = ## (TEI Header) supplies the descriptive and declarative information making up an electronic title page prefixed to every TEI-conformant text. [2.1.1. 15.1. ] element teiHeader { (fileDesc, model.teiHeaderPart*, revisionDesc?), att.global.attributes, ## specifies the kind of document to which the header is attached, for example whether it is a corpus or individual text. ## Sample values include: 1] text; 2] corpus [ a:defaultValue = "text" ] attribute type { data.enumerated }?, empty } fileDesc = ## (file description) contains a full bibliographic description of an electronic file. [2.2. 2.1.1. ] element fileDesc { ((titleStmt, extent?, publicationStmt, seriesStmt?, notesStmt?), sourceDesc+), att.global.attributes, empty } titleStmt = ## (title statement) groups information about the title of a work and those responsible for its content. [2.2.1. 2.2. ] element titleStmt { (title+, model.respLike*), att.global.attributes, empty } edition = ## (edition) describes the particularities of one edition of a text. [2.2.2. ] element edition { macro.phraseSeq, att.global.attributes, empty } extent = ## describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. [2.2.3. 2.2. 3.11.2.3. 10.7.1. ] element extent { macro.phraseSeq, att.global.attributes, empty } publicationStmt = ## (publication statement) groups information concerning the publication or distribution of an electronic or other text. [2.2.4. 2.2. ] element publicationStmt { (model.pLike+ | model.publicationStmtPart+), att.global.attributes, empty } 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. ] element authority { macro.phraseSeq.limited, att.global.attributes, empty } 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. [2.2.4. 2.2.5. 3.11.2.3. ] element idno { (text | model.gLike | idno)*, att.global.attributes, att.sortable.attributes, ## categorizes the identifier, for example as an ISBN, Social Security number, etc. attribute type { data.enumerated }?, empty } 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. ] element availability { (model.availabilityPart | model.pLike)+, att.global.attributes, att.declarable.attributes, ## supplies a code identifying the current availability of the text. [ a:defaultValue = "unknown" ] attribute status { ## the text is freely available. "free" | ## the status of the text is unknown. "unknown" | ## the text is not freely available. "restricted" }?, empty } licence = ## contains information about a licence or other legal agreement applicable to the text. [2.2.4. ] element licence { macro.specialPara, att.global.attributes, att.pointing.attributes, att.datable.attributes, empty } seriesStmt = ## (series statement) groups information about the series, if any, to which a publication belongs. [2.2.5. 2.2. ] element seriesStmt { (model.pLike+ | (title+, (editor)*, (idno)*)), att.global.attributes, empty } notesStmt = ## (notes statement) collects together any notes providing information about a text additional to that recorded in other parts of the bibliographic description. [2.2.6. 2.2. ] element notesStmt { model.noteLike+, att.global.attributes, empty } sourceDesc = ## (source description) describes the source from which an electronic text was derived or generated, typically a bibliographic description in the case of a digitized text, or a phrase such as "born digital" for a text which has no previous existence. [2.2.7. ] element sourceDesc { (model.pLike+ | (model.biblLike | model.sourceDescPart | model.listLike)+), att.global.attributes, empty } biblFull = ## (fully-structured bibliographic citation) contains a fully-structured bibliographic citation, in which all components of the TEI file description are present. [3.11.1. 2.2. 2.2.7. 15.3.2. ] element biblFull { ((titleStmt, extent?, publicationStmt, seriesStmt?, notesStmt?), sourceDesc*), att.global.attributes, att.declarable.attributes, att.sortable.attributes, att.docStatus.attributes, empty } encodingDesc = ## (encoding description) documents the relationship between an electronic text and the source or sources from which it was derived. [2.3. 2.1.1. ] element encodingDesc { (model.encodingDescPart | model.pLike)+, att.global.attributes, empty } editorialDecl = ## (editorial practice declaration) provides details of editorial principles and practices applied during the encoding of a text. [2.3.3. 2.3. 15.3.2. ] element editorialDecl { (model.pLike | model.editorialDeclPart)+, att.global.attributes, att.declarable.attributes, empty } normalization = ## indicates the extent of normalization or regularization of the original source carried out in converting it to electronic form. [2.3.3. 15.3.2. ] element normalization { model.pLike+, att.global.attributes, att.declarable.attributes, ## indicates the authority for any normalization carried out. attribute source { data.pointer }?, ## indicates the method adopted to indicate normalizations within the text. [ a:defaultValue = "silent" ] attribute method { ## normalization made silently "silent" | ## normalization represented using markup "markup" }?, empty } styleDefDecl = ## (style definition language declaration) specifies the name of the formal language in which style or renditional information is supplied elsewhere in the document. [2.3.5. ] element styleDefDecl { model.pLike*, att.global.attributes, att.declarable.attributes, att.styleDef.attributes, empty } att.patternReplacement.attributes = att.patternReplacement.attribute.matchPattern, att.patternReplacement.attribute.replacementPattern att.patternReplacement.attribute.matchPattern = ## specifies a regular expression against which the values of other attributes can be matched. attribute matchPattern { data.pattern } att.patternReplacement.attribute.replacementPattern = ## specifies a replacement pattern which, once subpattern substitution has been performed, provides a URI. attribute replacementPattern { text } prefixDef = ## (prefixing scheme used in data.pointer values) defines a prefixing scheme used in data.pointer values, showing how abbreviated URIs using the scheme may be expanded into full URIs. [16.2.3. ] element prefixDef { model.pLike*, att.global.attributes, att.patternReplacement.attributes, ## supplies the identifier which functions as the prefix for an abbreviated pointing scheme such as a private URI scheme. The prefix constitutes the text preceding the first colon. attribute ident { data.name }, empty } listPrefixDef = ## (list of prefix definitions) contains a list of definitions of prefixing schemes used in data.pointer values, showing how abbreviated URIs using each scheme may be expanded into full URIs. [16.2.3. ] element listPrefixDef { (prefixDef | listPrefixDef)+, att.global.attributes, empty } 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. 2.1.1. ] element profileDesc { model.profileDescPart*, att.global.attributes, empty } handNote = ## (note on hand) describes a particular style or hand distinguished within a manuscript. [10.7.2. ] element handNote { macro.specialPara, att.global.attributes, att.handFeatures.attributes, empty } calendarDesc = ## (calendar description) contains a description of the calendar system used in any dating expression found in the text. [2.4. 2.4.4. ] element calendarDesc { calendar+, att.global.attributes, empty } calendar = ## describes a calendar or dating system used in a dating formula in the text. [2.4.4. ] element calendar { model.pLike+, att.global.attributes, att.pointing.attributes, empty } revisionDesc = ## (revision description) summarizes the revision history for a file. [2.5. 2.1.1. ] element revisionDesc { (\list | listChange | change+), att.global.attributes, att.docStatus.attributes, empty } 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.5. 2.4.1. ] element change { macro.specialPara, att.ascribed.attributes, att.datable.attributes, att.docStatus.attributes, att.global.attributes, att.typed.attributes, ## points to one or more elements that belong to this change. attribute target { list { data.pointer+ } }?, empty } typeNote = ## describes a particular font or other significant typographic feature distinguished within the description of a printed resource. [10.7.2. ] element typeNote { macro.specialPara, att.global.attributes, att.handFeatures.attributes, empty } scriptNote = ## describes a particular script distinguished within the description of a manuscript or similar resource. [10.7.2. ] element scriptNote { macro.specialPara, att.global.attributes, att.handFeatures.attributes, empty } listChange = ## groups a number of change descriptions associated with either the creation of a source text or the revision of an encoded text. element listChange { (listChange | change)+, att.global.attributes, att.sortable.attributes, ## indicates whether the ordering of its child change elements is to be considered significant or not [ a:defaultValue = "true" ] attribute ordered { data.truthValue }?, empty } model.rdgLike = rdg app = ## (apparatus entry) contains one entry in a critical apparatus, with an optional lemma and usually one or more reading or a note on the relevant passage. [12.1.1. ] element app { (model.global*, (lem, model.global*, (wit, model.global*)?)?, ((model.rdgLike, model.global*, (wit, model.global*)?) | (rdgGrp, model.global*, (wit, model.global*)?))*) >> sch:pattern [ id = "app-constraint-only1lem" "\x{a}" ~ " " sch:rule [ context = "tei:app" "\x{a}" ~ " " sch:assert [ test = "count( descendant::tei:lem[ generate-id( current() ) = generate-id( ancestor::tei:app[1] ) ]) < 2" "\x{a}" ~ "Only one element may appear within a single apparatus\x{a}" ~ "entry, whether it appears outside a \x{a}" ~ "element or within it." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, ## classifies the variation contained in this element according to some convenient typology. attribute type { data.enumerated }?, ## identifies the beginning of the lemma in the base text, if necessary. attribute from { data.pointer }?, ## identifies the endpoint of the lemma in the base text, if necessary. attribute to { data.pointer }?, ## (location) indicates the location of the variation, when the location-referenced method of apparatus markup is used. attribute loc { list { data.word+ } }?, empty } listApp = ## (list of apparatus entries) contains a list of apparatus entries. [12.2. ] element listApp { (model.headLike*, (app | listApp)+), att.global.attributes, att.sortable.attributes, att.declarable.attributes, att.typed.attributes, empty } lem = ## (lemma) contains the lemma, or base text, of a textual variation. [12.1. ] element lem { (text | model.gLike | model.phrase | model.inter | model.global | model.rdgPart)*, att.global.attributes, att.textCritical.attributes, att.witnessed.attributes, empty } rdg = ## (reading) contains a single reading within a textual variation. [12.1. ] element rdg { (text | model.gLike | model.phrase | model.inter | model.global | model.rdgPart)*, att.global.attributes, att.textCritical.attributes, att.witnessed.attributes, empty } rdgGrp = ## (reading group) within a textual variation, groups two or more readings perceived to have a genetic relationship or other affinity. [12.1. ] element rdgGrp { ((rdgGrp, wit?) | ((lem, wit?)?, (model.rdgLike, wit?))*)+, att.global.attributes, att.textCritical.attributes, empty } witDetail = ## (witness detail) gives further information about a particular witness, or witnesses, to a particular reading. [12.1. ] element witDetail { macro.phraseSeq, att.global.attributes, att.placement.attributes, att.responsibility.attributes, att.pointing.attributes, ## (witnesses) indicates the sigil or sigla for the witnesses to which the detail refers. attribute wit { list { data.pointer+ } }, ## describes the type of information given about the witness. attribute type { data.enumerated }?, empty } wit = ## contains a list of one or more sigla of witnesses attesting a given reading, in a textual variation. [12.1.4. ] element wit { macro.phraseSeq, att.global.attributes, att.rdgPart.attributes, empty } listWit = ## (witness list) lists definitions for all the witnesses referred to by a critical apparatus, optionally grouped hierarchically. [12.1. ] element listWit { (model.headLike?, (witness | listWit)+), att.global.attributes, att.sortable.attributes, empty } witness = ## contains either a description of a single witness referred to within the critical apparatus, or a list of witnesses which is to be referred to by a single sigil. [12.1. ] element witness { macro.limitedContent, att.global.attributes, att.sortable.attributes, empty } witStart = ## (fragmented witness start) indicates the beginning, or resumption, of the text of a fragmentary witness. [12.1.5. ] element witStart { empty, att.global.attributes, att.rdgPart.attributes, empty } witEnd = ## (fragmented witness end) indicates the end, or suspension, of the text of a fragmentary witness. [12.1.5. ] element witEnd { empty, att.global.attributes, att.rdgPart.attributes, empty } lacunaStart = ## indicates the beginning of a lacuna in the text of a mostly complete textual witness. [12.1.5. ] element lacunaStart { empty, att.global.attributes, att.rdgPart.attributes, empty } lacunaEnd = ## indicates the end of a lacuna in a mostly complete textual witness. [12.1.5. ] element lacunaEnd { empty, att.global.attributes, att.rdgPart.attributes, empty } variantEncoding = ## declares the method used to encode text-critical variants. [12.1.1. ] element variantEncoding { empty, att.global.attributes, ## indicates which method is used to encode the apparatus of variants. attribute method { ## apparatus uses line numbers or other canonical reference scheme referenced in a base text. "location-referenced" | ## apparatus indicates the precise locations of the beginning and ending of each lemma relative to a base text. "double-end-point" | ## alternate readings of a passage are given in parallel in the text; no notion of a base text is necessary. "parallel-segmentation" }, ## indicates whether the apparatus appears within the running text or external to it. attribute location { ## apparatus appears within the running text. "internal" | ## apparatus appears outside the base text. "external" }, empty } model.rdgPart = wit | witStart | witEnd | lacunaStart | lacunaEnd att.rdgPart.attributes = att.rdgPart.attribute.wit att.rdgPart.attribute.wit = ## (witness or witnesses) contains a list of one or more sigla indicating the witnesses which begin or end at this point. attribute wit { list { data.pointer+ } }? att.witnessed.attributes = att.witnessed.attribute.wit att.witnessed.attribute.wit = ## (witness or witnesses) contains a list of one or more pointers indicating the witnesses which attest to a given reading. attribute wit { list { data.pointer+ } }? att.textCritical.attributes = att.responsibility.attributes, att.textCritical.attribute.type, att.textCritical.attribute.cause, att.textCritical.attribute.varSeq, att.textCritical.attribute.hand att.textCritical.attribute.type = ## classifies the reading according to some useful typology. ## Sample values include: 1] substantive; 2] orthographic attribute type { data.enumerated }? att.textCritical.attribute.cause = ## classifies the cause for the variant reading, according to any appropriate typology of possible origins. ## Sample values include: 1] homeoteleuton; 2] homeoarchy; 3] paleographicConfusion; 4] haplography; 5] dittography; 6] falseEmendation attribute cause { data.enumerated }? att.textCritical.attribute.varSeq = ## (variant sequence) provides a number indicating the position of this reading in a sequence, when there is reason to presume a sequence to the variants on any one lemma. attribute varSeq { data.count }? att.textCritical.attribute.hand = ## signifies the hand responsible for a particular reading in the witness. attribute hand { data.pointer }? msDesc = ## (manuscript description) contains a description of a single identifiable manuscript or other text-bearing object. [10.1. ] element msDesc { (msIdentifier, model.headLike*, (model.pLike+ | (msContents?, physDesc?, history?, additional?, msPart*))), att.global.attributes, att.sortable.attributes, att.typed.attributes, empty } catchwords = ## describes the system used to ensure correct ordering of the quires making up a codex or incunable, typically by means of annotations at the foot of the page. [10.3.7. ] element catchwords { macro.phraseSeq, att.global.attributes, empty } dimensions = ## contains a dimensional specification. [10.3.4. ] element dimensions { ((dim | model.dimLike)*) >> sch:pattern [ id = "dimensions-constraint-duplicateDim1" "\x{a}" ~ " " sch:rule [ context = "tei:dimensions" "\x{a}" ~ " " sch:report [ test = "count(tei:width)> 1" "\x{a}" ~ "The element " sch:name [ ] " may appear once only\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "dimensions-constraint-duplicateDim2" "\x{a}" ~ " " sch:rule [ context = "tei:dimensions" "\x{a}" ~ " " sch:report [ test = "count(tei:height)> 1" "\x{a}" ~ "The element " sch:name [ ] " may appear once only\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "dimensions-constraint-duplicateDim3" "\x{a}" ~ " " sch:rule [ context = "tei:dimensions" "\x{a}" ~ " " sch:report [ test = "count(tei:depth)> 1" "\x{a}" ~ "The element " sch:name [ ] " may appear once only\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.dimensions.attributes, ## indicates which aspect of the object is being measured. ## Sample values include: 1] leaves; 2] ruled; 3] pricked; 4] written; 5] miniatures; 6] binding; 7] box attribute type { data.enumerated }?, empty } dim = ## contains any single measurement forming part of a dimensional specification of some sort. [10.3.4. ] element dim { macro.xtext, att.global.attributes, att.typed.attributes, att.dimensions.attributes, empty } height = ## contains a measurement measured along the axis at right angles to the bottom of the written surface, i.e. parallel to the spine for a codex or book. [10.3.4. ] element height { macro.xtext, att.global.attributes, att.dimensions.attributes, empty } depth = ## contains a measurement measured across the spine of a book or codex, or (for other text-bearing objects) perpendicular to the measurement given by the width element. [10.3.4. ] element depth { macro.xtext, att.global.attributes, att.dimensions.attributes, empty } width = ## contains a measurement measured along the axis parallel to the bottom of the written surface, i.e. perpendicular to the spine of a book or codex. [10.3.4. ] element width { macro.xtext, att.global.attributes, att.dimensions.attributes, empty } heraldry = ## contains a heraldic formula or phrase, typically found as part of a blazon, coat of arms, etc. [10.3.8. ] element heraldry { macro.phraseSeq, att.global.attributes, empty } locus = ## defines a location within a manuscript or manuscript part, usually as a (possibly discontinuous) sequence of folio references. [10.3.5. ] element locus { macro.xtext, att.global.attributes, att.pointing.attributes, ## identifies the foliation scheme in terms of which the location is being specified. attribute scheme { data.pointer }?, ## specifies the starting point of the location in a normalized form. attribute from { data.word }?, ## specifies the end-point of the location in a normalized form. attribute to { data.word }?, empty } locusGrp = ## groups a number of locations which together form a distinct but discontinuous item within a manuscript or manuscript part, according to a specific foliation. [10.3.5. ] element locusGrp { locus+, att.global.attributes, ## identifies the foliation scheme in terms of which all the locations contained by the group are specified. attribute scheme { data.pointer }?, empty } material = ## contains a word or phrase describing the material of which the object being described is composed. [10.3.2. ] element material { macro.phraseSeq, att.global.attributes, att.canonical.attributes, empty } objectType = ## contains a word or phrase describing the type of object being refered to. [10.3.2. ] element objectType { macro.phraseSeq, att.global.attributes, att.canonical.attributes, empty } origDate = ## (origin date) contains any form of date, used to identify the date of origin for a manuscript or manuscript part. [10.3.1. ] element origDate { (text | model.gLike | model.phrase | model.global)*, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.typed.attributes, empty } origPlace = ## (origin place) contains any form of place name, used to identify the place of origin for a manuscript or manuscript part. [10.3.1. ] element origPlace { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.datable.attributes, att.editLike.attributes, att.typed.attributes, empty } secFol = ## (second folio) marks the word or words taken from a fixed point in a codex (typically the beginning of the second leaf) in order to provide a unique identifier for it. [10.3.7. ] element secFol { macro.phraseSeq, att.global.attributes, empty } signatures = ## contains discussion of the leaf or quire signatures found within a codex. [10.3.7. ] element signatures { macro.phraseSeq, att.global.attributes, empty } stamp = ## contains a word or phrase describing a stamp or similar device. [10.3.3. ] element stamp { macro.phraseSeq, att.global.attributes, att.typed.attributes, att.datable.attributes, empty } watermark = ## contains a word or phrase describing a watermark or similar device. [10.3.3. ] element watermark { macro.phraseSeq, att.global.attributes, empty } msIdentifier = ## (manuscript identifier) contains the information required to identify the manuscript being described. [10.4. ] element msIdentifier { ((model.placeNamePart_sequenceOptional, institution?, repository?, collection*, idno?), (msName | altIdentifier)*) >> sch:pattern [ id = "msIdentifier-constraint-msId_minimal" "\x{a}" ~ " " sch:rule [ context = "tei:msIdentifier" "\x{a}" ~ " " sch:report [ test = "local-name(*[1])='idno' or local-name(*[1])='altIdentifier' or .='' " "\x{a}" ~ "You must supply either a locator of some type or a name for " sch:name [ ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, empty } institution = ## contains the name of an organization such as a university or library, with which a manuscript is identified, generally its holding institution. [10.4. ] element institution { macro.xtext, att.global.attributes, att.naming.attributes, empty } repository = ## contains the name of a repository within which manuscripts are stored, possibly forming part of an institution. [10.4. ] element repository { macro.xtext, att.global.attributes, att.naming.attributes, empty } collection = ## contains the name of a collection of manuscripts, not necessarily located within a single repository. [10.4. ] element collection { macro.xtext, att.global.attributes, att.naming.attributes, att.typed.attributes, empty } altIdentifier = ## (alternative identifier) contains an alternative or former structured identifier used for a manuscript, such as a former catalogue number. [10.4. ] element altIdentifier { (model.placeNamePart_sequenceOptional, institution?, repository?, collection?, idno, note?), att.global.attributes, att.typed.attributes, empty } msName = ## (alternative name) contains any form of unstructured alternative name used for a manuscript, such as an ocellus nominum, or nickname. [10.4. ] element msName { macro.xtext, att.global.attributes, att.typed.attributes, empty } colophon = ## contains the colophon of a manuscript item: that is, a statement providing information regarding the date, place, agency, or reason for production of the manuscript. [10.6.1. ] element colophon { macro.phraseSeq, att.global.attributes, empty } explicit = ## contains the explicit of a manuscript item, that is, the closing words of the text proper, exclusive of any rubric or colophon which might follow it. [10.6.1. ] element explicit { macro.phraseSeq, att.global.attributes, att.typed.attributes, att.msExcerpt.attributes, empty } filiation = ## contains information concerning the manuscript's filiation, i.e. its relationship to other surviving manuscripts of the same text, its protographs, antigraphs and apographs. [10.6.1. ] element filiation { macro.specialPara, att.global.attributes, att.typed.attributes, empty } finalRubric = ## contains the string of words that denotes the end of a text division, often with an assertion as to its author and title, usually set off from the text itself by red ink, by a different size or type of script, or by some other such visual device. [10.6.1. ] element finalRubric { macro.phraseSeq, att.global.attributes, att.typed.attributes, empty } incipit = ## contains the incipit of a manuscript item, that is the opening words of the text proper, exclusive of any rubric which might precede it, of sufficient length to identify the work uniquely; such incipts were, in fomer times, frequently used a means of reference to a work, in place of a title. [10.6.1. ] element incipit { macro.phraseSeq, att.global.attributes, att.typed.attributes, att.msExcerpt.attributes, empty } msContents = ## (manuscript contents) describes the intellectual content of a manuscript or manuscript part, either as a series of paragraphs or as a series of structured manuscript items. [10.6. ] element msContents { (model.pLike+ | (summary?, textLang?, titlePage?, (msItem | msItemStruct)*)), att.global.attributes, att.msExcerpt.attributes, ## identifies the text types or classifications applicable to this object. attribute class { list { data.pointer+ } }?, empty } msItem = ## (manuscript item) describes an individual work or item within the intellectual content of a manuscript or manuscript part. [10.6.1. ] element msItem { ((locus | locusGrp)*, (model.pLike+ | (model.titlepagePart | model.msItemPart | model.global)+)), att.global.attributes, att.msExcerpt.attributes, ## identifies the text types or classifications applicable to this item attribute class { list { data.pointer+ } }?, empty } msItemStruct = ## (structured manuscript item) contains a structured description for an individual work or item within the intellectual content of a manuscript or manuscript part. [10.6.1. ] element msItemStruct { ((locus | locusGrp)?, (model.pLike+ | (author*, title*, rubric?, incipit?, msItemStruct*, explicit?, finalRubric?, colophon*, decoNote*, (bibl | biblStruct)*, model.noteLike*, textLang?))), att.global.attributes, att.msExcerpt.attributes, ## identifies the text types or classifications applicable to this item attribute class { list { data.pointer+ } }?, empty } rubric = ## contains the text of any rubric or heading attached to a particular manuscript item, that is, a string of words through which a manuscript signals the beginning of a text division, often with an assertion as to its author and title, which is in some way set off from the text itself, usually in red ink, or by use of different size or type of script, or some other such visual device. [10.6.1. ] element rubric { macro.phraseSeq, att.global.attributes, att.typed.attributes, empty } summary = ## contains an overview of the available information concerning some aspect of an item (for example, its intellectual content, history, layout, typography etc.) as a complement or alternative to the more detailed information carried by more specific elements. element summary { macro.phraseSeq, att.global.attributes, empty } att.msExcerpt.attributes = att.msExcerpt.attribute.defective att.msExcerpt.attribute.defective = ## indicates whether the passage being quoted is defective, i.e. incomplete through loss or damage. [ a:defaultValue = "false" ] attribute defective { data.xTruthValue }? physDesc = ## (physical description) contains a full physical description of a manuscript or manuscript part, optionally subdivided using more specialized elements from the model.physDescPart class. [10.7. ] element physDesc { (model.pLike*, model.physDescPart_sequenceOptional), att.global.attributes, empty } objectDesc = ## contains a description of the physical components making up the object which is being described. [10.7.1. ] element objectDesc { (model.pLike+ | (supportDesc?, layoutDesc?)), att.global.attributes, ## a short project-specific name identifying the physical form of the carrier, for example as a codex, roll, fragment, partial leaf, cutting etc. attribute form { data.enumerated }?, empty } supportDesc = ## (support description) groups elements describing the physical support for the written part of a manuscript. [10.7.1. ] element supportDesc { (model.pLike+ | (support?, extent?, foliation*, collation?, condition?)), att.global.attributes, ## a short project-defined name for the material composing the majority of the support ## Suggested values include: 1] paper (paper) ; 2] parch(parchment) ; 3] mixed attribute material { ## (paper) "paper" | ## (parchment) "parch" | ## "mixed" | xsd:Name }?, empty } support = ## contains a description of the materials etc. which make up the physical support for the written part of a manuscript. [10.7.1. ] element support { macro.specialPara, att.global.attributes, empty } collation = ## contains a description of how the leaves or bifolia are physically arranged. [10.7.1. ] element collation { macro.specialPara, att.global.attributes, empty } foliation = ## describes the numbering system or systems used to count the leaves or pages in a codex. [10.7.1.4. ] element foliation { macro.specialPara, att.global.attributes, empty } condition = ## contains a description of the physical condition of the manuscript. [10.7.1.5. ] element condition { macro.specialPara, att.global.attributes, empty } layoutDesc = ## (layout description) collects the set of layout descriptions applicable to a manuscript. [10.7.2. ] element layoutDesc { (model.pLike+ | (summary?, layout+)), att.global.attributes, empty } layout = ## describes how text is laid out on the page, including information about any ruling, pricking, or other evidence of page-preparation techniques. [10.7.2. ] element layout { macro.specialPara, att.global.attributes, ## specifies the number of columns per page attribute columns { list { data.count, data.count? } }?, ## specifies the number of ruled lines per column attribute ruledLines { list { data.count, data.count? } }?, ## specifies the number of written lines per column attribute writtenLines { list { data.count, data.count? } }?, empty } handDesc = ## (description of hands) contains a description of all the different kinds of writing used in a manuscript. [10.7.2. ] element handDesc { (model.pLike+ | (summary?, handNote+)), att.global.attributes, ## specifies the number of distinct hands identified within the manuscript attribute hands { data.count }?, empty } typeDesc = ## contains a description of the typefaces or other aspects of the printing of an incunable or other printed source. [10.7.2.1. ] element typeDesc { (model.pLike+ | (summary?, typeNote+)), att.global.attributes, empty } scriptDesc = ## contains a description of the scripts used in a manuscript or similar source. [10.7.2.1. ] element scriptDesc { (model.pLike+ | (summary?, scriptNote+)), att.global.attributes, empty } musicNotation = ## contains description of type of musical notation. [10.7.2. ] element musicNotation { macro.specialPara, att.global.attributes, empty } decoDesc = ## (decoration description) contains a description of the decoration of a manuscript, either as a sequence of paragraphs, or as a sequence of topically organized decoNote elements. [10.7.3. ] element decoDesc { (model.pLike+ | (summary?, decoNote+)), att.global.attributes, empty } decoNote = ## (note on decoration) contains a note describing either a decorative component of a manuscript, or a fairly homogenous class of such components. [10.7.3. ] element decoNote { macro.specialPara, att.global.attributes, att.typed.attributes, empty } additions = ## contains a description of any significant additions found within a manuscript, such as marginalia or other annotations. [10.7.2. ] element additions { macro.specialPara, att.global.attributes, empty } bindingDesc = ## (binding description) describes the present and former bindings of a manuscript, either as a series of paragraphs or as a series of distinct binding elements, one for each binding of the manuscript. [10.7.3.1. ] element bindingDesc { ((model.pLike | decoNote | condition)+ | binding+), att.global.attributes, empty } binding = ## contains a description of one binding, i.e. type of covering, boards, etc. applied to a manuscript. [10.7.3.1. ] element binding { (model.pLike | condition | decoNote)+, att.global.attributes, att.datable.attributes, ## specifies whether or not the binding is contemporary with the majority of its contents attribute contemporary { data.xTruthValue }?, empty } sealDesc = ## (seal description) describes the seals or other external items attached to a manuscript, either as a series of paragraphs or as a series of distinct seal elements, possibly with additional decoNotes. [10.7.3.2. ] element sealDesc { (model.pLike+ | (summary?, (decoNote | seal | condition)+)), att.global.attributes, empty } seal = ## contains a description of one seal or similar attachment applied to a manuscript. [10.7.3.2. ] element seal { (model.pLike | decoNote)+, att.global.attributes, att.typed.attributes, att.datable.attributes, ## specifies whether or not the seal is contemporary with the item to which it is affixed attribute contemporary { data.xTruthValue }?, empty } accMat = ## (accompanying material) contains details of any significant additional material which may be closely associated with the manuscript being described, such as non-contemporaneous documents or fragments bound in with the manuscript at some earlier historical period. [10.7.3.3. ] element accMat { macro.specialPara, att.global.attributes, att.typed.attributes, empty } history = ## groups elements describing the full history of a manuscript or manuscript part. [10.8. ] element history { (model.pLike+ | (summary?, origin?, provenance*, acquisition?)), att.global.attributes, empty } origin = ## contains any descriptive or other information concerning the origin of a manuscript or manuscript part. [10.8. ] element origin { macro.specialPara, att.global.attributes, att.editLike.attributes, att.datable.attributes, empty } provenance = ## contains any descriptive or other information concerning a single identifiable episode during the history of a manuscript or manuscript part, after its creation but before its acquisition. [10.8. ] element provenance { macro.specialPara, att.global.attributes, att.datable.attributes, att.typed.attributes, att.responsibility.attributes, empty } acquisition = ## contains any descriptive or other information concerning the process by which a manuscript or manuscript part entered the holding institution. [10.8. ] element acquisition { macro.specialPara, att.global.attributes, att.datable.attributes, empty } additional = ## groups additional information, combining bibliographic information about a manuscript, or surrogate copies of it with curatorial or administrative information. [10.9. ] element additional { (adminInfo?, surrogates?), att.global.attributes, empty } adminInfo = ## (administrative information) contains information about the present custody and availability of the manuscript, and also about the record description itself. [10.9.1. ] element adminInfo { (recordHist?, availability?, custodialHist?, model.noteLike?), att.global.attributes, empty } recordHist = ## (recorded history) provides information about the source and revision status of the parent manuscript description itself. [10.9.1. ] element recordHist { (model.pLike+ | (source, change*)), att.global.attributes, empty } source = ## describes the original source for the information contained with a manuscript description. [10.9.1.1. ] element source { macro.specialPara, att.global.attributes, empty } custodialHist = ## (custodial history) contains a description of a manuscript's custodial history, either as running prose or as a series of dated custodial events. [10.9.1.2. ] element custodialHist { (model.pLike+ | custEvent+), att.global.attributes, empty } custEvent = ## (custodial event) describes a single event during the custodial history of a manuscript. [10.9.1.2. ] element custEvent { macro.specialPara, att.global.attributes, att.datable.attributes, att.typed.attributes, empty } surrogates = ## contains information about any representations of the manuscript being described which may exist in the holding institution or elsewhere. [10.9. ] element surrogates { macro.specialPara, att.global.attributes, empty } msPart = ## (manuscript part) contains information about an originally distinct manuscript or part of a manuscript, now forming part of a composite manuscript. [10.10. ] element msPart { ((altIdentifier | msIdentifier), model.headLike*, (model.pLike+ | (msContents?, physDesc?, history?, additional?, msPart*))), att.global.attributes, empty } TEI = ## (TEI document) contains a single TEI-conformant document, comprising a TEI header and a text, either in isolation or as part of a teiCorpus element. [4. 15.1. ] element TEI { (teiHeader, ((model.resourceLike+, \text?) | \text)) >> sch:ns [ prefix = "tei" uri = "http://www.tei-c.org/ns/1.0" ] >> sch:ns [ prefix = "rng" uri = "http://relaxng.org/ns/structure/1.0" ], att.global.attributes, ## specifies the major version number of the TEI Guidelines against which this document is valid. attribute version { data.version }?, empty } \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. 15.1. ] element text { (model.global*, (front, model.global*)?, (body | group), model.global*, (back, model.global*)?), att.global.attributes, att.typed.attributes, empty } body = ## (text body) contains the whole body of a single unitary text, excluding any front or back matter. [4. ] element body { (model.global*, (model.divTop, (model.global | model.divTop)*)?, (model.divGenLike, (model.global | model.divGenLike)*)?, ((model.divLike, (model.global | model.divGenLike)*)+ | (model.div1Like, (model.global | model.divGenLike)*)+ | ((model.common, model.global*)+, ((model.divLike, (model.global | model.divGenLike)*)+ | (model.div1Like, (model.global | model.divGenLike)*)+)?)), (model.divBottom, model.global*)*), att.global.attributes, empty } group = ## contains the body of a composite text, grouping together a sequence of distinct texts (or groups of such texts) which are regarded as a unit for some purpose, for example the collected works of an author, a sequence of prose essays, etc. [4. 4.3.1. 15.1. ] element group { ((model.divTop | model.global)*, ((\text | group), (\text | group | model.global)*), model.divBottom*), att.global.attributes, empty } \div = ## (text division) contains a subdivision of the front, body, or back of a text. [4.1. ] element div { ((model.divTop | model.global)*, ((((model.divLike | model.divGenLike), model.global*)+ | ((model.common, model.global*)+, ((model.divLike | model.divGenLike), model.global*)*)), (model.divBottom, model.global*)*)?), att.global.attributes, att.divLike.attributes, att.typed.attributes, empty } trailer = ## contains a closing title or footer appearing at the end of a division of a text. [4.2.4. 4.2. ] element trailer { macro.phraseSeq, att.global.attributes, att.typed.attributes, empty } byline = ## contains the primary statement of responsibility given for a work on its title page or at the head or end of the work. [4.2.2. 4.5. ] element byline { (text | model.gLike | model.phrase | docAuthor | model.global)*, att.global.attributes, empty } dateline = ## contains a brief description of the place, date, time, etc. of production of a letter, newspaper story, or other work, prefixed or suffixed to it as a kind of heading or trailer. [4.2.2. ] element dateline { macro.phraseSeq, att.global.attributes, empty } epigraph = ## contains a quotation, anonymous or attributed, appearing at the start or end of a section or on a title page. [4.2.3. 4.2. 4.6. ] element epigraph { (model.common | model.global)*, att.global.attributes, empty } opener = ## groups together dateline, byline, salutation, and similar phrases appearing as a preliminary group at the start of a division, especially of a letter. [4.2. ] element opener { (text | model.gLike | model.phrase | byline | dateline | epigraph | salute | signed | model.global)*, att.global.attributes, empty } closer = ## groups together salutations, datelines, and similar phrases appearing as a final group at the end of a division, especially of a letter. [4.2.2. 4.2. ] element closer { (text | model.gLike | signed | dateline | salute | model.phrase | model.global)*, att.global.attributes, empty } salute = ## (salutation) contains a salutation or greeting prefixed to a foreword, dedicatory epistle, or other division of a text, or the salutation in the closing of a letter, preface, etc. [4.2.2. ] element salute { macro.phraseSeq, att.global.attributes, empty } signed = ## (signature) contains the closing salutation, etc., appended to a foreword, dedicatory epistle, or other division of a text. [4.2.2. ] element signed { macro.paraContent, att.global.attributes, empty } postscript = ## contains a postscript, e.g. to a letter. [4.2. ] element postscript { ((model.global | model.divTopPart)*, model.common, (model.global | model.common)*, (model.divBottomPart, model.global*)*), att.global.attributes, empty } titlePage = ## (title page) contains the title page of a text, appearing within the front or back matter. [4.6. ] element titlePage { (model.global*, model.titlepagePart, (model.titlepagePart | model.global)*), att.global.attributes, ## classifies the title page according to any convenient typology. attribute type { data.enumerated }?, empty } docTitle = ## (document title) contains the title of a document, including all its constituents, as given on a title page. [4.6. ] element docTitle { (model.global*, (titlePart, model.global*)+), att.global.attributes, att.canonical.attributes, empty } titlePart = ## contains a subsection or division of the title of a work, as indicated on a title page. [4.6. ] element titlePart { macro.paraContent, att.global.attributes, ## specifies the role of this subdivision of the title. ## Suggested values include: 1] main; 2] sub(subordinate) ; 3] alt(alternate) ; 4] short; 5] desc(descriptive) [ a:defaultValue = "main" ] attribute type { ## main title of the work "main" | ## (subordinate) subtitle of the work "sub" | ## (alternate) alternative title of the work "alt" | ## abbreviated form of title "short" | ## (descriptive) descriptive paraphrase of the work "desc" | xsd:Name }?, empty } docAuthor = ## (document author) contains the name of the author of the document, as given on the title page (often but not always contained in a byline). [4.6. ] element docAuthor { macro.phraseSeq, att.global.attributes, att.canonical.attributes, empty } imprimatur = ## contains a formal statement authorizing the publication of a work, sometimes required to appear on a title page or its verso. [4.6. ] element imprimatur { macro.paraContent, att.global.attributes, empty } docEdition = ## (document edition) contains an edition statement as presented on a title page of a document. [4.6. ] element docEdition { macro.paraContent, att.global.attributes, empty } docImprint = ## (document imprint) contains the imprint statement (place and date of publication, publisher name), as given (usually) at the foot of a title page. [4.6. ] element docImprint { (text | model.gLike | model.phrase | pubPlace | docDate | publisher | model.global)*, att.global.attributes, empty } docDate = ## (document date) contains the date of a document, as given (usually) on a title page. [4.6. ] element docDate { macro.phraseSeq, att.global.attributes, ## gives the value of the date in standard form, i.e. YYYY-MM-DD. attribute when { data.temporal.w3c }?, empty } front = ## (front matter) contains any prefatory matter (headers, title page, prefaces, dedications, etc.) found at the start of a document, before the main body. [4.6. 4. ] element front { ((model.frontPart | model.pLike.front | model.global)*, ((model.div1Like, (model.frontPart | model.div1Like | model.global)*) | (model.divLike, (model.frontPart | model.divLike | model.global)*))?, (model.divBottomPart, (model.divBottomPart | model.global)*)?), att.global.attributes, empty } back = ## (back matter) contains any appendixes, etc. following the main part of a text. [4.7. 4. ] element back { ((model.frontPart | model.pLike.front | model.global)*, ((model.div1Like, (model.frontPart | model.div1Like | model.global)*) | (model.divLike, (model.frontPart | model.divLike | model.global)*))?, (model.divBottomPart, (model.divBottomPart | model.global)*)?), att.global.attributes, empty } att.metrical.attributes = att.metrical.attribute.met, att.metrical.attribute.real, att.metrical.attribute.rhyme att.metrical.attribute.met = ## (metrical structure, conventional) contains a user-specified encoding for the conventional metrical structure of the element. attribute met { xsd:token }? att.metrical.attribute.real = ## (metrical structure, realized) contains a user-specified encoding for the actual realization of the conventional metrical structure applicable to the element. attribute real { xsd:token }? att.metrical.attribute.rhyme = ## (rhyme scheme) specifies the rhyme scheme applicable to a group of verse lines. attribute rhyme { xsd:token }? att.enjamb.attributes = att.enjamb.attribute.enjamb att.enjamb.attribute.enjamb = ## (enjambement) indicates that the end of a verse line is marked by enjambement. ## Sample values include: 1] no; 2] yes; 3] weak; 4] strong attribute enjamb { data.enumerated }? caesura = ## marks the point at which a metrical line may be divided. [6.2. ] element caesura { empty, att.global.attributes, empty } rhyme = ## marks the rhyming part of a metrical line. [6.4. ] element rhyme { macro.paraContent, att.global.attributes, att.typed.attributes, ## provides a label to identify which part of a rhyme scheme this rhyming string instantiates. attribute label { data.word }?, empty } anchor = ## (anchor point) attaches an identifier to a point within a text, whether or not it corresponds with a textual element. [8.4.2. 16.4. ] element anchor { empty, att.global.attribute.n, att.global.attribute.xmllang, att.global.attribute.style, 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.analytic.attribute.ana, att.global.facs.attribute.facs, att.global.change.attribute.change, ## (identifier) provides a unique identifier for the element bearing the attribute. attribute xml:id { xsd:ID }, empty } att.global.linking.attributes = 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.linking.attribute.corresp = ## (corresponds) points to elements that correspond to the current element in some way. attribute corresp { list { data.pointer+ } }? att.global.linking.attribute.synch = ## (synchronous) points to elements that are synchronous with the current element. attribute synch { list { data.pointer+ } }? att.global.linking.attribute.sameAs = ## points to an element that is the same as the current element. attribute sameAs { data.pointer }? att.global.linking.attribute.copyOf = ## points to an element of which the current element is a copy. attribute copyOf { data.pointer }? att.global.linking.attribute.next = ## points to the next element of a virtual aggregate of which the current element is part. attribute next { data.pointer }? att.global.linking.attribute.prev = ## (previous) points to the previous element of a virtual aggregate of which the current element is part. attribute prev { data.pointer }? att.global.linking.attribute.exclude = ## points to elements that are in exclusive alternation with the current element. attribute exclude { list { data.pointer+ } }? att.global.linking.attribute.select = ## selects one or more alternants; if one alternant is selected, the ambiguity or uncertainty is marked as resolved. If more than one alternant is selected, the degree of ambiguity or uncertainty is marked as reduced by the number of alternants not selected. attribute select { list { data.pointer+ } }? w = ## (word) represents a grammatical (not necessarily orthographic) word. [17.1. ] element w { (text | model.gLike | w | c | model.global | model.lPart | model.hiLike | model.pPart.edit)*, att.global.attribute.xmlid, att.global.attribute.n, att.global.attribute.xmllang, att.global.attribute.style, 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.facs.attribute.facs, att.global.change.attribute.change, att.datcat.attribute.datcat, att.datcat.attribute.valueDatcat, att.typed.attribute.subtype, ## provides a lemma for the word, such as an uninflected dictionary entry form. attribute lemma { data.text }?, ## provides a pointer to a definition of the lemma for the word, for example in an online lexicon. attribute lemmaRef { data.pointer }?, empty } c = ## (character) represents a character. [17.1. ] element c { macro.xtext, att.global.attributes, att.datcat.attribute.datcat, att.datcat.attribute.valueDatcat, att.typed.attribute.subtype, empty } pc = ## (punctuation character) contains a character or string of characters regarded as constituting a single punctuation mark. [17.1. ] element pc { (text | model.gLike | c | model.pPart.edit)*, att.global.attributes, att.segLike.attributes, att.typed.attributes, ## indicates the extent to which this punctuation mark conventionally separates words or phrases attribute force { ## the punctuation mark is a word separator "strong" | ## the punctuation mark is not a word separator "weak" | ## the punctuation mark may or may not be a word separator "inter" }?, ## provides a name for the kind of unit delimited by this punctuation mark. attribute unit { data.enumerated }?, ## indicates whether this punctuation mark precedes or follows the unit it delimits. attribute pre { data.truthValue }?, empty } att.global.analytic.attributes = att.global.analytic.attribute.ana att.global.analytic.attribute.ana = ## (analysis) indicates one or more elements containing interpretations of the element on which the ana attribute appears. attribute ana { list { data.pointer+ } }? sourceDoc = ## contains a transcription or other representation of a single source document potentially forming part of a dossier génétique or collection of sources. element sourceDoc { (model.global | model.graphicLike | surfaceGrp)+, att.global.attributes, empty } att.global.facs.attributes = att.global.facs.attribute.facs att.global.facs.attribute.facs = ## (facsimile) points to all or part of an image which corresponds with the content of the element. attribute facs { list { data.pointer+ } }? att.global.change.attributes = att.global.change.attribute.change att.global.change.attribute.change = ## points to one or more change elements documenting a state or revision campaign to which the element bearing this attribute and its children have been assigned by the encoder. attribute change { list { data.pointer+ } }? surfaceGrp = ## defines any kind of useful grouping of written surfaces, for example the recto and verso of a single leaf, which the encoder wishes to treat as a single unit. element surfaceGrp { (model.global | surfaceGrp)+, att.global.attributes, att.coordinated.attributes, att.typed.attributes, empty } att.coordinated.attributes = att.coordinated.attribute.start, att.coordinated.attribute.ulx, att.coordinated.attribute.uly, att.coordinated.attribute.lrx, att.coordinated.attribute.lry att.coordinated.attribute.start = ## indicates the element within a transcription of the text containing at least the start of the writing represented by this zone or surface. attribute start { data.pointer }? att.coordinated.attribute.ulx = ## gives the x coordinate value for the upper left corner of a rectangular space. attribute ulx { data.numeric }? att.coordinated.attribute.uly = ## gives the y coordinate value for the upper left corner of a rectangular space. attribute uly { data.numeric }? att.coordinated.attribute.lrx = ## gives the x coordinate value for the lower right corner of a rectangular space. attribute lrx { data.numeric }? att.coordinated.attribute.lry = ## gives the y coordinate value for the lower right corner of a rectangular space. attribute lry { data.numeric }? addSpan = ## (added span of text) marks the beginning of a longer sequence of text added by an author, scribe, annotator or corrector (see also add). [11.3.1.4. ] element addSpan { empty >> sch:pattern [ id = "addSpan-constraint-spanTo" "\x{a}" ~ " " sch:rule [ context = "tei:addSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "The spanTo= attribute of " sch:name [ ] " is required." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "addSpan-constraint-spanTo_fr" "\x{a}" ~ " " sch:rule [ context = "tei:addSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "L'attribut spanTo est requis." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.transcriptional.attributes, att.placement.attributes, att.typed.attributes, att.spanning.attributes, empty } delSpan = ## (deleted span of text) marks the beginning of a longer sequence of text deleted, marked as deleted, or otherwise signaled as superfluous or spurious by an author, scribe, annotator, or corrector. [11.3.1.4. ] element delSpan { empty >> sch:pattern [ id = "delSpan-constraint-spanTo" "\x{a}" ~ " " sch:rule [ context = "tei:delSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "The spanTo= attribute of " sch:name [ ] " is required." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "delSpan-constraint-spanTo_fr" "\x{a}" ~ " " sch:rule [ context = "tei:delSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "L'attribut spanTo est requis." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.transcriptional.attributes, att.typed.attributes, att.spanning.attributes, empty } handNotes = ## contains one or more handNote elements documenting the different hands identified within the source texts. [11.3.2.1. ] element handNotes { handNote+, att.global.attributes, empty } substJoin = ## (substitution join) identifies a series of possibly fragmented additions, deletions or other revisions on a manuscript that combine to make up a single intervention in the text element substJoin { (model.descLike | model.certLike)*, att.global.attributes, att.pointing.attributes, att.transcriptional.attributes, empty } surplus = ## marks text present in the source which the editor believes to be superfluous or redundant. [11.3.3.1. ] element surplus { macro.paraContent, att.global.attributes, att.editLike.attributes, ## indicates the grounds for believing this text to be superfluous. attribute reason { list { data.word+ } }?, empty } line = ## contains the transcription of a topographic line in the source document element line { (text | model.global | model.linePart)*, att.typed.attributes, att.global.attributes, att.coordinated.attributes, empty } listTranspose = ## supplies a list of transpositions, each of which is indicated at some point in a document typically by means of metamarks. element listTranspose { transpose+, att.global.attributes, empty } metamark = ## contains or describes any kind of graphic or written signal within a document the function of which is to determine how it should be read rather than forming part of the actual content of the document. element metamark { macro.specialPara, att.spanning.attributes, att.placement.attributes, att.global.attributes, ## describes the function (for example status, insertion, deletion, transposition) of the mark. attribute function { data.word }?, ## identifies one or more elements to which the function indicated by the metamark applies. attribute target { list { data.pointer+ } }?, empty } mod = ## represents any kind of modification identified within a single document. element mod { macro.paraContent, att.global.attributes, att.transcriptional.attributes, att.typed.attributes, att.spanning.attributes, empty } redo = ## indicates one or more cancelled interventions in a document which have subsequently been marked as reaffirmed or repeated. element redo { empty, att.global.attributes, att.spanning.attributes, att.transcriptional.attributes, ## points to one or more elements representing the interventions which are being reasserted. attribute target { list { data.pointer+ } }?, empty } retrace = ## contains a sequence of writing which has been retraced, for example by over-inking, to clarify or fix it. element retrace { macro.paraContent, att.global.attributes, att.spanning.attributes, att.transcriptional.attributes, empty } transpose = ## describes a single textual transposition as an ordered list of at least two pointers specifying the order in which the elements indicated should be re-combined. element transpose { empty, att.global.attributes, empty } undo = ## indicates one or more marked-up interventions in a document which have subsequently been marked for cancellation. element undo { empty, att.global.attributes, att.spanning.attributes, att.transcriptional.attributes, ## points to one or more elements representing the interventions which are to be reverted or undone. attribute target { list { data.pointer+ } }?, empty } fs = ## (feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit. [18.2. ] element fs { f*, att.global.attributes, att.datcat.attributes, ## specifies the type of the feature structure. attribute type { data.enumerated }?, ## (features) references the feature-value specifications making up this feature structure. attribute feats { list { data.pointer+ } }?, empty } f = ## (feature) represents a feature value specification, that is, the association of a name with a value of any of several different types. [18.2. ] element f { ((text | model.gLike | model.featureVal)*) >> sch:pattern [ id = "f-constraint-fValConstraints" "\x{a}" ~ " " sch:rule [ context = "tei:fVal" "\x{a}" ~ " " sch:assert [ test = "not(tei:* and text)" " A feature value cannot\x{a}" ~ " contain both text and element content" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "f-constraint-fValConstraints" "\x{a}" ~ " " sch:rule [ context = "tei:fVal" "\x{a}" ~ " " sch:report [ test = "count(tei:*)>1" " A feature value can contain\x{a}" ~ " only one child element" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.datcat.attributes, ## a single word which follows the rules defining a legal XML name (see ), providing a name for the feature. attribute name { data.name }, ## (feature value) references any element which can be used to represent the value of a feature. attribute fVal { data.pointer }?, empty } symbol = ## (symbolic value) represents the value part of a feature-value specification which contains one of a finite list of symbols. [18.3. ] element symbol { empty, att.global.attributes, att.datcat.attributes, ## supplies the symbolic value for the feature, one of a finite list that may be specified in a feature declaration. attribute value { data.word }, empty } fLib = ## (feature library) assembles a library of feature elements. [18.4. ] element fLib { f+, att.global.attributes, empty } att.datable.custom.attributes = 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.custom.attribute.datingMethod att.datable.custom.attribute.when-custom = ## supplies the value of a date or time in some standard form. attribute when-custom { list { data.word+ } }? att.datable.custom.attribute.notBefore-custom = ## specifies the earliest possible date for the event in some custom standard form. attribute notBefore-custom { list { data.word+ } }? att.datable.custom.attribute.notAfter-custom = ## specifies the latest possible date for the event in some custom standard form. attribute notAfter-custom { list { data.word+ } }? att.datable.custom.attribute.from-custom = ## indicates the starting point of the period in some standard form. attribute from-custom { list { data.word+ } }? att.datable.custom.attribute.to-custom = ## indicates the ending point of the period in some standard form. attribute to-custom { list { data.word+ } }? att.datable.custom.attribute.datingPoint = ## supplies a pointer to some location defining a named point in time with reference to which the datable item is understood to have occurred attribute datingPoint { data.pointer }? att.datable.custom.attribute.datingMethod = ## supplies a pointer to a calendar element or other means of interpreting the values of the custom dating attributes. attribute datingMethod { data.pointer }? model.persNamePart = surname | forename | genName | nameLink | addName | roleName model.persNamePart_alternation = surname | forename | genName | nameLink | addName | roleName model.persNamePart_sequence = surname, forename, genName, nameLink, addName, roleName model.persNamePart_sequenceOptional = surname?, forename?, genName?, nameLink?, addName?, roleName? model.persNamePart_sequenceOptionalRepeatable = surname*, forename*, genName*, nameLink*, addName*, roleName* model.persNamePart_sequenceRepeatable = surname+, forename+, genName+, nameLink+, addName+, roleName+ orgName = ## (organization name) contains an organizational name. [13.2.2. ] element orgName { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.personal.attributes, att.typed.attributes, empty } 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. [13.2.1. ] element persName { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.personal.attributes, att.typed.attributes, empty } surname = ## contains a family (inherited) name, as opposed to a given, baptismal, or nick name. [13.2.1. ] element surname { macro.phraseSeq, att.global.attributes, att.personal.attributes, att.typed.attributes, empty } forename = ## contains a forename, given or baptismal name. [13.2.1. ] element forename { macro.phraseSeq, att.global.attributes, att.personal.attributes, att.typed.attributes, empty } genName = ## (generational name component) contains a name component used to distinguish otherwise similar names on the basis of the relative ages or generations of the persons named. [13.2.1. ] element genName { macro.phraseSeq, att.global.attributes, att.personal.attributes, att.typed.attributes, empty } nameLink = ## (name link) contains a connecting phrase or link used within a name but not regarded as part of it, such as van der or of. [13.2.1. ] element nameLink { macro.phraseSeq, att.global.attributes, att.typed.attributes, empty } addName = ## (additional name) contains an additional name component, such as a nickname, epithet, or alias, or any other descriptive phrase used within a personal name. [13.2.1. ] element addName { macro.phraseSeq, att.global.attributes, att.personal.attributes, att.typed.attributes, empty } roleName = ## contains a name component which indicates that the referent has a particular role or position in society, such as an official title or rank. [13.2.1. ] element roleName { macro.phraseSeq, att.global.attributes, att.personal.attributes, att.typed.attributes, empty } country = ## (country) contains the name of a geo-political unit, such as a nation, country, colony, or commonwealth, larger than or administratively superior to a region and smaller than a bloc. [13.2.3. ] element country { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attributes, att.datable.attributes, empty } settlement = ## element settlement { text } offset = ## marks that part of a relative temporal or spatial expression which indicates the direction of the offset between the two place names, dates, or times involved in the expression. [13.2.3. ] element offset { macro.xtext, att.global.attributes, att.typed.attributes, empty } geogFeat = ## (geographical feature name) contains a common noun identifying some geographical feature contained within a geographic name, such as valley, mount, etc. [13.2.3. ] element geogFeat { macro.xtext, att.global.attributes, att.naming.attributes, att.typed.attributes, att.datable.attributes, empty } affiliation = ## (affiliation) contains an informal description of a person's present or past affiliation with some organization, for example an employer or sponsor. [15.2.2. ] element affiliation { macro.phraseSeq, att.global.attributes, att.editLike.attributes, att.datable.attributes, att.naming.attributes, empty } age = ## (age) specifies the age of a person. element age { macro.phraseSeq.limited, att.global.attributes, att.editLike.attributes, att.datable.attributes, ## supplies a numeric code representing the age or age group attribute value { data.count }?, empty } birth = ## (birth) contains information about a person's birth, such as its date and place. [15.2.2. ] element birth { macro.phraseSeq, att.global.attributes, att.editLike.attributes, att.datable.attributes, att.naming.attributes, empty } climate = ## (climate) contains information about the physical climate of a place. element climate { (model.headLike*, (model.pLike+ | model.labelLike+), (model.noteLike | model.biblLike)*, climate*), att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, att.typed.attributes, empty } death = ## (death) contains information about a person's death, such as its date and place. [15.2.2. ] element death { macro.phraseSeq, att.global.attributes, att.editLike.attributes, att.datable.attributes, att.naming.attributes, empty } education = ## contains a description of the educational experience of a person. [15.2.2. ] element education { macro.phraseSeq, att.global.attributes, att.editLike.attributes, att.datable.attributes, att.naming.attributes, empty } event = ## (event) contains data relating to any kind of significant event associated with a person, place, or organization. element event { (model.headLike*, (model.pLike+ | model.labelLike+), (model.noteLike | model.biblLike)*, event*), att.global.attributes, att.datable.attributes, att.editLike.attributes, att.typed.attributes, att.naming.attributes, att.sortable.attributes, ## indicates the location of an event by pointing to a place element attribute where { data.pointer }?, empty } faith = ## specifies the faith, religion, or belief set of a person. element faith { macro.phraseSeq, att.global.attributes, att.editLike.attributes, att.datable.attributes, att.canonical.attributes, empty } floruit = ## contains information about a person's period of activity. element floruit { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, empty } geo = ## (geographical coordinates) contains any expression of a set of geographic coordinates, representing a point, line, or area on the surface of the earth in some notation. [13.3.4.1. ] element geo { text, att.global.attributes, empty } langKnowledge = ## (language knowledge) summarizes the state of a person's linguistic knowledge, either as prose or by a list of langKnown elements. element langKnowledge { (model.pLike | langKnown+), att.global.attributes, att.datable.attributes, att.editLike.attributes, ## supplies one or more valid language tags for the languages specified attribute tags { list { data.language+ } }?, empty } langKnown = ## (language known) summarizes the state of a person's linguistic competence, i.e., knowledge of a single language. [15.2.2. ] element langKnown { macro.phraseSeq.limited, att.global.attributes, att.datable.attributes, att.editLike.attributes, ## supplies a valid language tag for the language concerned. attribute tag { data.language }, ## a code indicating the person's level of knowledge for this language attribute level { data.word }?, empty } listOrg = ## (list of organizations) contains a list of elements, each of which provides information about an identifiable organization. [13.2.2. ] element listOrg { (model.headLike*, (org | listOrg)+, (listRelation | relationGrp | relation)*), att.global.attributes, att.typed.attributes, att.declarable.attributes, att.sortable.attributes, empty } listEvent = ## (list of events) contains a list of descriptions, each of which provides information about an identifiable event. element listEvent { (model.headLike*, (event | listEvent)+, (relation | relationGrp | listRelation)*), att.global.attributes, att.typed.attributes, att.declarable.attributes, att.sortable.attributes, empty } listPerson = ## (list of persons) contains a list of descriptions, each of which provides information about an identifiable person or a group of people, for example the participants in a language interaction, or the people referred to in a historical source. [13.3.2. 15.2. 2.4. 15.3.2. ] element listPerson { (model.headLike*, (model.personLike | listPerson)+, (relation | listRelation | relationGrp)*), att.global.attributes, att.typed.attributes, att.declarable.attributes, att.sortable.attributes, empty } listPlace = ## (list of places) contains a list of places, optionally followed by a list of relationships (other than containment) defined amongst them. element listPlace { (model.headLike*, (model.placeLike | listPlace)+, (listRelation | relationGrp | relation)*), att.global.attributes, att.typed.attributes, att.declarable.attributes, att.sortable.attributes, empty } location = ## defines the location of a place as a set of geographical coordinates, in terms of other named geo-political entities, or as an address. element location { (model.labelLike | model.placeNamePart | model.offsetLike | model.measureLike | model.addressLike | model.noteLike | model.biblLike)*, att.global.attributes, att.typed.attributes, att.datable.attributes, att.editLike.attributes, empty } nationality = ## contains an informal description of a person's present or past nationality or citizenship. [15.2.2. ] element nationality { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, empty } occupation = ## contains an informal description of a person's trade, profession or occupation. [15.2.2. ] element occupation { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, ## identifies the classification system or taxonomy in use by supplying the identifier of a taxonomy element typically but not necessarily elsewhere in the current document header. attribute scheme { data.pointer }?, ## identifies an occupation code defined within the classification system or taxonomy defined by the scheme attribute. attribute code { data.pointer }?, empty } org = ## (organization) provides information about an identifiable organization such as a business, a tribe, or any other grouping of people. [13.2.2. ] element org { (model.headLike*, (model.pLike* | (model.labelLike | model.nameLike | model.placeLike | model.orgPart)*), (model.noteLike | model.biblLike)*, model.personLike*), att.global.attributes, att.typed.attributes, att.editLike.attributes, att.sortable.attributes, ## specifies a primary role or classification for the organization. attribute role { list { data.word+ } }?, empty } listRelation = ## provides information about relationships identified amongst people, places, and organizations, either informally as prose or as formally expressed relation links. [15.2.2. ] element listRelation { (model.pLike+ | relation+), att.global.attributes, att.typed.attributes, att.sortable.attributes, empty } relationGrp = ## (relation group) provides information about relationships identified amongst people, places, and organizations, either informally as prose or as formally expressed relation links. [15.2.2. ] element relationGrp { (model.pLike+ | relation+), att.global.attributes, att.typed.attributes, att.sortable.attributes, empty } person = ## provides information about an identifiable individual, for example a participant in a language interaction, or a person referred to in a historical source. [15.2.2. ] element person { (model.pLike+ | (model.personPart | model.global)*), att.global.attributes, att.editLike.attributes, att.sortable.attributes, ## specifies a primary role or classification for the person. attribute role { list { data.enumerated+ } }?, ## specifies the sex of the person. attribute sex { data.sex }?, ## specifies an age group for the person. attribute age { data.enumerated }?, empty } personGrp = ## (personal group) describes a group of individuals treated as a single person for analytic purposes. [15.2.2. ] element personGrp { (model.pLike+ | model.personPart*), att.global.attributes, att.sortable.attributes, ## specifies the role of this group of participants in the interaction. attribute role { data.enumerated }?, ## specifies the sex of the participant group. attribute sex { data.sex | "mixed" }?, ## specifies the age group of the participants. attribute age { data.enumerated }?, ## specifies the size or approximate size of the group. attribute size { list { data.word+ } }?, empty } place = ## contains data about a geographic location element place { (model.headLike*, (model.pLike* | (model.labelLike | model.placeStateLike | model.placeEventLike)*), (model.noteLike | model.biblLike | idno)*, (model.placeLike | listPlace)*), att.global.attributes, att.typed.attributes, att.editLike.attributes, att.sortable.attributes, empty } population = ## contains information about the population of a place. element population { (model.headLike*, ((model.pLike+ | model.labelLike+), (model.noteLike | model.biblLike)*)?, population*), att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, att.typed.attributes, empty } relation = ## (relationship) describes any kind of relationship or linkage amongst a specified group of objects, places, events or people. [15.2.2. ] [ sch:pattern [ id = "relation-constraint-activemutual" "\x{a}" ~ " " sch:rule [ context = "tei:relation" "\x{a}" ~ " " sch:report [ test = "@active and @mutual" "Only one of the attributes\x{a}" ~ "@active and @mutual may be supplied" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] sch:pattern [ id = "relation-constraint-activepassive" "\x{a}" ~ " " sch:rule [ context = "tei:relation" "\x{a}" ~ " " sch:report [ test = "@passive and not(@active)" "the attribute 'passive'\x{a}" ~ " may be supplied only if the attribute 'active' is\x{a}" ~ " supplied" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] ] element relation { att.global.attributes, att.datable.attributes, att.editLike.attributes, att.canonical.attributes, att.sortable.attributes, ## categorizes the relationship in some respect, e.g. as social, personal or other. ## Suggested values include: 1] social; 2] personal; 3] other [ a:defaultValue = "personal" ] attribute type { ## relationship concerned with social roles "social" | ## relationship concerned with personal roles, e.g. kinship, marriage, etc. "personal" | ## other kinds of relationship "other" | xsd:Name }?, ## supplies a name for the kind of relationship of which this is an instance. attribute name { data.enumerated }, ( ## identifies the active participants in a non-mutual relationship, or all the participants in a mutual one. attribute active { list { data.pointer+ } }? | ## supplies a list of participants amongst all of whom the relationship holds equally. attribute mutual { list { data.pointer+ } }?), ## identifies the passive participants in a non-mutual relationship. attribute passive { list { data.pointer+ } }?, empty } residence = ## (residence) describes a person's present or past places of residence. [15.2.2. ] element residence { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, empty } sex = ## specifies the sex of a person. element sex { macro.phraseSeq, att.global.attributes, att.editLike.attributes, att.datable.attributes, ## supplies a coded value for sex attribute value { data.sex }?, empty } socecStatus = ## (socio-economic status) contains an informal description of a person's perceived social or economic status. [15.2.2. ] element socecStatus { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, ## identifies the classification system or taxonomy in use. attribute scheme { data.pointer }?, ## identifies a status code defined within the classification system or taxonomy defined by the scheme attribute. attribute code { data.pointer }?, empty } terrain = ## contains information about the physical terrain of a place. element terrain { (model.headLike*, (model.pLike+ | model.labelLike+), (model.noteLike | model.biblLike)*, terrain*), att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, att.typed.attributes, empty } 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. element trait { (trait+ | (model.headLike*, model.pLike+, (model.noteLike | model.biblLike)*) | (model.labelLike | model.noteLike | model.biblLike)*), att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, att.typed.attributes, empty } nym = ## (canonical name) contains the definition for a canonical name or name component of any kind. [13.3.5. ] element nym { (model.entryPart*, model.pLike*, nym*), att.global.attributes, att.typed.attributes, att.sortable.attributes, ## points to constituent nyms attribute parts { list { data.pointer+ } }?, empty } listNym = ## (list of canonical names) contains a list of nyms, that is, standardized names for any thing. [13.3.5. ] element listNym { (model.headLike*, (nym | listNym)+, (listRelation | relationGrp | relation)*), att.global.attributes, att.typed.attributes, att.declarable.attributes, att.sortable.attributes, empty } att.datable.iso.attributes = att.datable.iso.attribute.when-iso, att.datable.iso.attribute.notBefore-iso, att.datable.iso.attribute.notAfter-iso, att.datable.iso.attribute.from-iso, att.datable.iso.attribute.to-iso att.datable.iso.attribute.when-iso = ## supplies the value of a date or time in a standard form. attribute when-iso { data.temporal.iso }? att.datable.iso.attribute.notBefore-iso = ## specifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd. attribute notBefore-iso { data.temporal.iso }? att.datable.iso.attribute.notAfter-iso = ## specifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd. attribute notAfter-iso { data.temporal.iso }? att.datable.iso.attribute.from-iso = ## indicates the starting point of the period in standard form. attribute from-iso { data.temporal.iso }? att.datable.iso.attribute.to-iso = ## indicates the ending point of the period in standard form. attribute to-iso { data.temporal.iso }? start = TEI