default namespace = "http://www.tei-c.org/ns/Examples" namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" namespace ns1 = "http://www.isocat.org/ns/dcr" namespace ns2 = "http://www.tei-c.org/ns/1.0" 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 2014-06-02T15:30:52Z. # Edition: Version 2.6.0. Last updated on # 20th January 2014, revision 12802 # Edition Location: http://www.tei-c.org/Vault/P5/Version 2.6.0/ # # TEI material can be licensed differently depending on the use you intend to make of it. Hence it is made available under both the CC+BY and BSD-2 licences. The CC+BY licence is generally appropriate for usages which treat TEI content as data or documentation. The BSD-2 licence is generally appropriate for usage of TEI content in a software environment. For further information or clarification, please contact the TEI Consortium (info@tei-c.org). 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.interval = xsd:float { minExclusive = "0" } | "regular" | "irregular" | "unknown" data.count = xsd:nonNegativeInteger data.temporal.w3c = xsd:date | xsd:gYear | xsd:gMonth | xsd:gDay | xsd:gYearMonth | xsd:gMonthDay | xsd:time | xsd:dateTime data.duration.w3c = xsd:duration data.truthValue = xsd:boolean data.xTruthValue = xsd:boolean | "unknown" | "inapplicable" data.language = xsd:language | "" data.namespace = xsd:anyURI 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.point = xsd:token { pattern = "(\-?[0-9]+\.?[0-9]*,\-?[0-9]+\.?[0-9]*)" } data.pointer = xsd:anyURI data.version = xsd:token { pattern = "[\d]+(\.[\d]+){0,2}" } data.versionNumber = xsd:token { pattern = "[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}" } data.replacement = text data.word = xsd:token { pattern = "(\p{L}|\p{N}|\p{P}|\p{S})+" } data.sex = data.word data.text = xsd:string data.name = xsd:Name data.xmlName = xsd:NCName 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/:+\-]+" } data.duration.iso = xsd:token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } macro.anyXML = element * - (ns2:* | egXML) { attribute * { text }*, (text | macro.anyXML)* } macro.schemaPattern = macro.anyXML 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.damaged.attributes = att.dimensions.attributes, att.damaged.attribute.hand, att.damaged.attribute.agent, att.damaged.attribute.degree, att.damaged.attribute.group att.damaged.attribute.hand = ## in the case of damage (deliberate defacement, inking out, etc.) assignable to a distinct hand, signifies the hand responsible for the damage by pointing to one of the hand identifiers declared in the document header (see section ). attribute hand { data.pointer }? att.damaged.attribute.agent = ## categorizes the cause of the damage, if it can be identified. ## Sample values include: 1] rubbing; 2] mildew; 3] smoke attribute agent { data.enumerated }? att.damaged.attribute.degree = ## provides a coded representation of the degree of damage, either as a number between 0 (undamaged) and 1 (very extensively damaged), or as one of the codes high, medium, low, or unknown. The damage element with the degree attribute should only be used where the text may be read with some confidence; text supplied from other sources should be tagged as supplied. attribute degree { data.probability | data.certainty }? att.damaged.attribute.group = ## assigns an arbitrary number to each stretch of damage regarded as forming part of the same physical phenomenon. attribute group { data.count }? 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.cReferencing.attributes = att.cReferencing.attribute.cRef att.cReferencing.attribute.cRef = ## (canonical reference) specifies the destination of the pointer by supplying a canonical reference expressed using the scheme defined in a refsDecl element in the TEI header attribute cRef { data.text }? 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 = "tei_all-att.datable-calendar-calendar-constraint-1" "\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.declaring.attributes = att.declaring.attribute.decls att.declaring.attribute.decls = ## identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content. attribute decls { list { data.pointer+ } }? 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.org, att.divLike.attribute.sample att.divLike.attribute.org = ## (organization) specifies how the content of the division is organized. [ a:defaultValue = "uniform" ] attribute org { ## no claim is made about the sequence in which the immediate contents of this division are to be processed, or their inter-relationships. "composite" | ## the immediate contents of this element are regarded as forming a logical unit, to be processed in sequence. "uniform" }? att.divLike.attribute.sample = ## indicates whether this division is a sample of the original source and if so, from which part. [ a:defaultValue = "complete" ] attribute sample { ## division lacks material present at end in source. "initial" | ## division lacks material at start and end. "medial" | ## division lacks material at start. "final" | ## position of sampled material within original unknown. "unknown" | ## division is not a sample. "complete" }? 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.duration.w3c.attributes = att.duration.w3c.attribute.dur att.duration.w3c.attribute.dur = ## (duration) indicates the length of this element in time. attribute dur { data.duration.w3c }? att.duration.iso.attributes = att.duration.iso.attribute.dur-iso att.duration.iso.attribute.dur-iso = ## (duration) indicates the length of this element in time. attribute dur-iso { data.duration.iso }? att.responsibility.attributes = att.source.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.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.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.rend, att.global.attribute.style, att.global.attribute.rendition, att.global.attribute.xmlbase, 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.rend = ## (rendition) indicates how the element in question was rendered or presented in the source text. attribute rend { list { data.word+ } }? 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.rendition = ## points to a description of the rendering or presentation used for this element in the source text. attribute rendition { list { data.pointer+ } }? att.global.attribute.xmlbase = ## provides a base URI reference with which applications can resolve relative URI references into absolute URI references. attribute xml:base { data.pointer }? 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.attributes = att.internetMedia.attributes, att.media.attribute.width, att.media.attribute.height, att.media.attribute.scale 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.interpLike.attributes = att.responsibility.attributes, att.interpLike.attribute.type, att.interpLike.attribute.inst att.interpLike.attribute.type = ## indicates what kind of phenomenon is being noted in the passage. ## Sample values include: 1] image; 2] character; 3] theme; 4] allusion attribute type { data.enumerated }? att.interpLike.attribute.inst = ## (instances) points to instances of the analysis or interpretation represented by the current element. attribute inst { list { data.pointer+ } }? att.measurement.attributes = att.measurement.attribute.unit, att.measurement.attribute.quantity, att.measurement.attribute.commodity att.measurement.attribute.unit = ## indicates the units used for the measurement, usually using the standard symbol for the desired units. ## Suggested values include: 1] m(metre) ; 2] kg(kilogram) ; 3] s(second) ; 4] Hz(hertz) ; 5] Pa(pascal) ; 6] Ω(ohm) ; 7] L(litre) ; 8] t(tonne) ; 9] ha(hectare) ; 10] Å(ångström) ; 11] mL(millilitre) ; 12] cm(centimetre) ; 13] dB(decibel) ; 14] kbit(kilobit) ; 15] Kibit(kibibit) ; 16] kB(kilobyte) ; 17] KiB(kibibyte) ; 18] MB(megabyte) ; 19] MiB(mebibyte) attribute unit { ## (metre) SI base unit of length "m" | ## (kilogram) SI base unit of mass "kg" | ## (second) SI base unit of time "s" | ## (hertz) SI unit of frequency "Hz" | ## (pascal) SI unit of pressure or stress "Pa" | ## (ohm) SI unit of electric resistance "Ω" | ## (litre) 1 dm³ "L" | ## (tonne) 10³ kg "t" | ## (hectare) 1 hm² "ha" | ## (ångström) 10⁻¹⁰ m "Å" | ## (millilitre) "mL" | ## (centimetre) "cm" | ## (decibel) see remarks, below "dB" | ## (kilobit) 10³ or 1000 bits "kbit" | ## (kibibit) 2¹⁰ or 1024 bits "Kibit" | ## (kilobyte) 10³ or 1000 bytes "kB" | ## (kibibyte) 2¹⁰ or 1024 bytes "KiB" | ## (megabyte) 10⁶ or 1 000 000 bytes "MB" | ## (mebibyte) 2²⁰ or 1 048 576 bytes "MiB" | xsd:Name }? att.measurement.attribute.quantity = ## specifies the number of the specified units that comprise the measurement attribute quantity { data.numeric }? att.measurement.attribute.commodity = ## indicates the substance that is being measured attribute commodity { list { data.word+ } }? 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 = "tei_all-att.typed-subtypeTyped-constraint-2" "\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 = "tei_all-att.pointing-targetLang-targetLang-constraint-3" "\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.pointing.group.attributes = att.pointing.attributes, att.typed.attributes, att.pointing.group.attribute.domains, att.pointing.group.attribute.targFunc att.pointing.group.attribute.domains = ## optionally specifies the identifiers of the elements within which all elements indicated by the contents of this element lie. attribute domains { list { data.pointer, data.pointer, data.pointer* } }? att.pointing.group.attribute.targFunc = ## (target function) describes the function of each of the values of the target attribute of the enclosed link, join, or alt tags. attribute targFunc { list { data.word, data.word, data.word* } }? att.readFrom.attributes = att.readFrom.attribute.source att.readFrom.attribute.source = ## specifies the source from which declarations and definitions for the components of the object being defined may be obtained. attribute source { data.pointer }? att.scoping.attributes = att.scoping.attribute.target, att.scoping.attribute.match att.scoping.attribute.target = ## points at one or several elements or sets of elements by means of one or more data pointers, using the URI syntax. attribute target { list { data.pointer+ } }? att.scoping.attribute.match = ## supplies an arbitrary XPath expression using the syntax defined in which identifies a set of nodes, selected within the context identified by the target attribute if this is supplied, or within the context of the element bearing this attribute if it is not. attribute match { text }? 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 a sigil or other 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.word+ } }? 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 = "tei_all-att.spanning-spanTo-spanTo-2-constraint-4" "\x{a}" ~ " " sch:rule [ context = "tei:*[@spanTo]" "\x{a}" ~ " " sch:assert [ test = "id(substring(@spanTo,2)) and following::*[@xml:id=substring(current()/@spanTo,2)]" "\x{a}" ~ "The element indicated by @spanTo (" sch:value-of [ select = "@spanTo" ] ") must follow the current element " sch:name [ ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] att.styleDef.attributes = att.styleDef.attribute.scheme, att.styleDef.attribute.schemeVersion 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.styleDef.attribute.schemeVersion = ## supplies a version number for the style language provided in scheme. attribute schemeVersion { data.versionNumber }? sch:pattern [ id = "tei_all-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-5" "\x{a}" ~ " " sch:rule [ context = "tei:*[@schemeVersion]" "\x{a}" ~ " " sch:assert [ test = "@scheme and not(@scheme = 'free')" "\x{a}" ~ " @schemeVersion can only be used if @scheme is specified.\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] 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.duration.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 = ## indicates 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 }? att.translatable.attributes = att.translatable.attribute.versionDate att.translatable.attribute.versionDate = ## specifies the date on which the source text was extracted and sent to the translator attribute versionDate { data.temporal.w3c }? att.citing.attributes = att.citing.attribute.unit, att.citing.attribute.from, att.citing.attribute.to att.citing.attribute.unit = ## identifies the unit of information conveyed by the element, e.g. columns, pages, volume. ## Suggested values include: 1] volume; 2] issue; 3] page; 4] line; 5] chapter; 6] part; 7] column attribute unit { ## the element contains a volume number. "volume" | ## the element contains an issue number, or volume and issue numbers. "issue" | ## the element contains a page number or page range. "page" | ## the element contains a line number or line range. "line" | ## the element contains a chapter indication (number and/or title) "chapter" | ## the element identifies a part of a book or collection. "part" | ## the element identifies a column. "column" | xsd:Name }? att.citing.attribute.from = ## specifies the starting point of the range of units indicated by the unit attribute. attribute from { data.word }? att.citing.attribute.to = ## specifies the end-point of the range of units indicated by the unit attribute. attribute to { data.word }? model.nameLike.agent = name | orgName | persName model.nameLike.agent_alternation = name | orgName | persName model.nameLike.agent_sequence = name, orgName, persName model.nameLike.agent_sequenceOptional = name?, orgName?, persName? model.nameLike.agent_sequenceOptionalRepeatable = name*, orgName*, persName* model.nameLike.agent_sequenceRepeatable = name+, orgName+, persName+ model.segLike = s | cl | phr | w | m | c | pc | seg 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 | distinct | mentioned | soCalled | gloss | term | title | code | ident model.emphLike_alternation = foreign | emph | distinct | mentioned | soCalled | gloss | term | title | code | ident model.emphLike_sequence = foreign, emph, distinct, mentioned, soCalled, gloss, term, title, code, ident model.emphLike_sequenceOptional = foreign?, emph?, distinct?, mentioned?, soCalled?, gloss?, term?, title?, code?, ident? model.emphLike_sequenceOptionalRepeatable = foreign*, emph*, distinct*, mentioned*, soCalled*, gloss*, term*, title*, code*, ident* model.emphLike_sequenceRepeatable = foreign+, emph+, distinct+, mentioned+, soCalled+, gloss+, term+, title+, code+, ident+ 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 = num | measure | measureGrp | dim | height | depth | width | geo model.measureLike_alternation = num | measure | measureGrp | dim | height | depth | width | geo model.measureLike_sequence = num, measure, measureGrp, dim, height, depth, width, geo model.measureLike_sequenceOptional = num?, measure?, measureGrp?, dim?, height?, depth?, width?, geo? model.measureLike_sequenceOptionalRepeatable = num*, measure*, measureGrp*, dim*, height*, depth*, width*, geo* model.measureLike_sequenceRepeatable = num+, measure+, measureGrp+, dim+, height+, depth+, width+, geo+ model.egLike = eg | egXML model.egLike_alternation = eg | egXML model.egLike_sequence = eg, egXML model.egLike_sequenceOptional = eg?, egXML? model.egLike_sequenceOptionalRepeatable = eg*, egXML* model.egLike_sequenceRepeatable = eg+, egXML+ model.graphicLike = media | graphic | binaryObject | 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 | abbr | expan | ex | am | subst model.pPart.editorial_alternation = choice | abbr | expan | ex | am | subst model.pPart.editorial_sequence = choice, abbr, expan, ex, am, subst model.pPart.editorial_sequenceOptional = choice?, abbr?, expan?, ex?, am?, subst? model.pPart.editorial_sequenceOptionalRepeatable = choice*, abbr*, expan*, ex*, am*, subst* model.pPart.editorial_sequenceRepeatable = choice+, abbr+, expan+, ex+, am+, subst+ model.pPart.transcriptional = sic | corr | reg | orig | add | del | unclear | app | damage | handShift | restore | supplied | surplus | mod | redo | retrace | undo model.pPart.transcriptional_alternation = sic | corr | reg | orig | add | del | unclear | app | damage | handShift | restore | supplied | surplus | mod | redo | retrace | undo model.pPart.transcriptional_sequence = sic, corr, reg, orig, add, del, unclear, app, damage, handShift, restore, supplied, surplus, mod, redo, retrace, undo model.pPart.transcriptional_sequenceOptional = sic?, corr?, reg?, orig?, add?, del?, unclear?, app?, damage?, handShift?, restore?, supplied?, surplus?, mod?, redo?, retrace?, undo? model.pPart.transcriptional_sequenceOptionalRepeatable = sic*, corr*, reg*, orig*, add*, del*, unclear*, app*, damage*, handShift*, restore*, supplied*, surplus*, mod*, redo*, retrace*, undo* model.pPart.transcriptional_sequenceRepeatable = sic+, corr+, reg+, orig+, add+, del+, unclear+, app+, damage+, handShift+, restore+, supplied+, surplus+, mod+, redo+, retrace+, undo+ model.pPart.edit = model.pPart.editorial | model.pPart.transcriptional model.linePart = model.segLike | model.hiLike | model.pPart.transcriptional | choice | zone | line model.ptrLike = ptr | ref model.lPart = caesura | rhyme model.global.meta = index | span | spanGrp | interp | interpGrp | precision | certainty | respons | fs | fLib | fvLib | link | linkGrp | timeline | join | joinGrp | alt | altGrp | substJoin | listTranspose model.milestoneLike = milestone | gb | pb | lb | cb | anchor | fw model.gLike = g model.oddDecl = moduleSpec | specGrp | specGrpRef | elementSpec | classSpec | macroSpec | listRef model.oddDecl_alternation = moduleSpec | specGrp | specGrpRef | elementSpec | classSpec | macroSpec | listRef model.oddDecl_sequence = moduleSpec, specGrp, specGrpRef, elementSpec, classSpec, macroSpec, listRef model.oddDecl_sequenceOptional = moduleSpec?, specGrp?, specGrpRef?, elementSpec?, classSpec?, macroSpec?, listRef? model.oddDecl_sequenceOptionalRepeatable = moduleSpec*, specGrp*, specGrpRef*, elementSpec*, classSpec*, macroSpec*, listRef* model.oddDecl_sequenceRepeatable = moduleSpec+, specGrp+, specGrpRef+, elementSpec+, classSpec+, macroSpec+, listRef+ model.oddRef = classRef | elementRef | macroRef | moduleRef model.phrase.xml = att | gi | tag | val model.specDescLike = specList | specDesc model.biblLike = bibl | biblStruct | listBibl | biblFull | msDesc model.biblLike_alternation = bibl | biblStruct | listBibl | biblFull | msDesc model.biblLike_sequence = bibl, biblStruct, listBibl, biblFull, msDesc model.biblLike_sequenceOptional = bibl?, biblStruct?, listBibl?, biblFull?, msDesc? model.biblLike_sequenceOptionalRepeatable = bibl*, biblStruct*, listBibl*, biblFull*, msDesc* model.biblLike_sequenceRepeatable = bibl+, biblStruct+, listBibl+, biblFull+, msDesc+ 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 = desc | label model.labelLike_alternation = desc | label model.labelLike_sequence = desc, label model.labelLike_sequenceOptional = desc?, label? model.labelLike_sequenceOptionalRepeatable = desc*, label* model.labelLike_sequenceRepeatable = desc+, label+ model.listLike = \list | table | listOrg | listEvent | listPerson | listPlace | listNym | listApp | listWit model.listLike_alternation = \list | table | listOrg | listEvent | listPerson | listPlace | listNym | listApp | listWit model.listLike_sequence = \list, table, listOrg, listEvent, listPerson, listPlace, listNym, listApp, listWit model.listLike_sequenceOptional = \list?, table?, listOrg?, listEvent?, listPerson?, listPlace?, listNym?, listApp?, listWit? model.listLike_sequenceOptionalRepeatable = \list*, table*, listOrg*, listEvent*, listPerson*, listPlace*, listNym*, listApp*, listWit* model.listLike_sequenceRepeatable = \list+, table+, listOrg+, listEvent+, listPerson+, listPlace+, listNym+, listApp+, listWit+ 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 | ab model.pLike_alternation = p | ab model.pLike_sequence = p, ab model.pLike_sequenceOptional = p?, ab? model.pLike_sequenceOptionalRepeatable = p*, ab* model.pLike_sequenceRepeatable = p+, ab+ 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 | vColl | vNot | vMerge model.featureVal.single = binary | symbol | numeric | \string | vLabel | \default | vAlt model.entryPart = superEntry | hom | sense | form | orth | pron | hyph | syll | gramGrp | pos | subc | colloc | def | etym | usg | lbl | xr | re model.entryPart.top = cit | dictScrap | form | gramGrp | def | etym | usg | xr | re model.global.edit = gap | addSpan | damageSpan | delSpan | space model.divPart = model.lLike | model.pLike | lg | sp | spGrp | graph | tree | eTree | forest | listForest | model.divPart.spoken | schemaSpec model.persStateLike = persName | affiliation | age | education | faith | floruit | langKnowledge | nationality | occupation | residence | sex | socecStatus | state | trait model.persEventLike = birth | death | event | listEvent model.personLike = org | person | personGrp model.personPart = model.biblLike | model.persStateLike | model.persEventLike | idno model.placeNamePart = placeName | bloc | country | region | district | settlement | geogName model.placeNamePart_alternation = placeName | bloc | country | region | district | settlement | geogName model.placeNamePart_sequence = placeName, bloc, country, region, district, settlement, geogName model.placeNamePart_sequenceOptional = placeName?, bloc?, country?, region?, district?, settlement?, geogName? model.placeNamePart_sequenceOptionalRepeatable = placeName*, bloc*, country*, region*, district*, settlement*, geogName* model.placeNamePart_sequenceRepeatable = placeName+, bloc+, country+, region+, district+, settlement+, geogName+ model.placeStateLike = model.placeNamePart | climate | location | population | state | terrain | trait model.placeStateLike_alternation = model.placeNamePart_alternation | climate | location | population | state | terrain | trait model.placeStateLike_sequence = model.placeNamePart_sequence, climate, location, population, state, terrain, trait model.placeStateLike_sequenceOptional = model.placeNamePart_sequenceOptional?, climate?, location?, population?, state?, terrain?, trait? model.placeStateLike_sequenceOptionalRepeatable = model.placeNamePart_sequenceOptionalRepeatable*, climate*, location*, population*, state*, terrain*, trait* model.placeStateLike_sequenceRepeatable = model.placeNamePart_sequenceRepeatable+, climate+, location+, population+, state+, terrain+, trait+ model.placeEventLike = event model.orgPart = listOrg | listPerson | listPlace model.publicationStmtPart.agency = publisher | distributor | authority model.publicationStmtPart.detail = address | date | pubPlace | idno | availability model.availabilityPart = licence model.certLike = precision | certainty | respons model.descLike = desc model.glossLike = gloss | equiv | altIdent 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 | said | q | floatingText model.qLike_alternation = model.quoteLike_alternation | said | q | floatingText model.qLike_sequence = model.quoteLike_sequence, said, q, floatingText model.qLike_sequenceOptional = model.quoteLike_sequenceOptional?, said?, q?, floatingText? model.qLike_sequenceOptionalRepeatable = model.quoteLike_sequenceOptionalRepeatable*, said*, q*, floatingText* model.qLike_sequenceRepeatable = model.quoteLike_sequenceRepeatable+, said+, q+, floatingText+ model.respLike = author | editor | respStmt | meeting | sponsor | funder | principal model.divWrapper = meeting | byline | dateline | argument | epigraph | salute | docAuthor | docDate model.divTopPart = model.headLike | opener | signed model.divTop = model.divWrapper | model.divTopPart model.frontPart.drama = set | prologue | epilogue | performance | castList model.pLike.front = head | byline | argument | epigraph | docTitle | titlePart | docAuthor | docEdition | docImprint | docDate model.divBottomPart = trailer | closer | signed | postscript model.divBottom = model.divWrapper | model.divBottomPart model.titlepagePart = graphic | binaryObject | byline | argument | epigraph | docTitle | titlePart | docAuthor | imprimatur | docEdition | docImprint | docDate model.msQuoteLike = title | colophon | explicit | finalRubric | incipit | rubric model.msItemPart = model.biblLike | model.quoteLike | model.respLike | model.msQuoteLike | textLang | idno | filiation | msItem | msItemStruct | decoNote model.choicePart = sic | corr | reg | orig | unclear | abbr | expan | seg | ex | am model.imprintPart = publisher | biblScope | pubPlace | distributor model.catDescPart = textDesc model.settingPart = locale | activity model.textDescPart_sequence = channel, constitution, derivation, domain, factuality, interaction, preparedness model.castItemPart = role | roleDesc | actor model.physDescPart_sequenceOptional = objectDesc?, handDesc?, typeDesc?, scriptDesc?, musicNotation?, decoDesc?, additions?, bindingDesc?, sealDesc?, accMat? model.addressLike = email | address | affiliation model.addressLike_alternation = email | address | affiliation model.addressLike_sequence = email, address, affiliation model.addressLike_sequenceOptional = email?, address?, affiliation? model.addressLike_sequenceOptionalRepeatable = email*, address*, affiliation* model.addressLike_sequenceRepeatable = email+, address+, affiliation+ model.nameLike = model.nameLike.agent | model.offsetLike | model.placeStateLike | rs | lang | idno | model.persNamePart model.nameLike_alternation = model.nameLike.agent_alternation | model.offsetLike_alternation | model.placeStateLike_alternation | rs | lang | idno | model.persNamePart_alternation model.nameLike_sequence = model.nameLike.agent_sequence, model.offsetLike_sequence, model.placeStateLike_sequence, rs, lang, idno, model.persNamePart_sequence model.nameLike_sequenceOptional = model.nameLike.agent_sequenceOptional?, model.offsetLike_sequenceOptional?, model.placeStateLike_sequenceOptional?, rs?, lang?, idno?, model.persNamePart_sequenceOptional? model.nameLike_sequenceOptionalRepeatable = model.nameLike.agent_sequenceOptionalRepeatable*, model.offsetLike_sequenceOptionalRepeatable*, model.placeStateLike_sequenceOptionalRepeatable*, rs*, lang*, idno*, model.persNamePart_sequenceOptionalRepeatable* model.nameLike_sequenceRepeatable = model.nameLike.agent_sequenceRepeatable+, model.offsetLike_sequenceRepeatable+, model.placeStateLike_sequenceRepeatable+, rs+, lang+, idno+, model.persNamePart_sequenceRepeatable+ model.global = model.global.meta | model.milestoneLike | model.noteLike | model.global.edit | notatedMusic | figure | model.global.spoken | metamark model.featureVal = model.featureVal.complex | model.featureVal.single model.biblPart = model.respLike | model.imprintPart | series | citedRange | bibl | relatedItem | textLang | edition | extent | msIdentifier | listRelation | relationGrp model.frontPart = model.frontPart.drama | divGen | titlePage model.addrPart = model.nameLike | addrLine | street | postCode | postBox model.pPart.data = model.dateLike | model.measureLike | model.addressLike | model.nameLike model.inter = model.egLike | model.oddDecl | 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.phrase.xml | model.specDescLike | model.pPart.data | model.ptrLike.form model.limitedPhrase = model.hiLike | model.emphLike | model.pPart.msdesc | model.pPart.editorial | model.ptrLike | model.phrase.xml | model.pPart.data model.divLike = \div model.divGenLike = divGen model.div1Like = div1 model.div2Like = div2 model.div3Like = div3 model.div4Like = div4 model.div5Like = div5 model.div6Like = div6 model.div7Like = div7 model.applicationLike = application model.teiHeaderPart = encodingDesc | profileDesc model.sourceDescPart = scriptStmt | recordingStmt model.encodingDescPart = charDecl | projectDesc | samplingDecl | editorialDecl | tagsDecl | styleDefDecl | refsDecl | listPrefixDef | classDecl | geoDecl | appInfo | fsdDecl | variantEncoding | metDecl | schemaSpec model.editorialDeclPart = correction | normalization | quotation | hyphenation | segmentation | stdVals | interpretation model.profileDescPart = textDesc | particDesc | settingDesc | abstract | creation | langUsage | textClass | calendarDesc | handNotes | listTranspose att.source.attributes = att.source.attribute.source att.source.attribute.source = ## provides a pointer to the bibliographical source from which a quotation or citation is drawn. attribute source { list { data.pointer+ } }? model.resourceLike = fsdDecl | facsimile | 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 att.milestoneUnit.attributes = att.milestoneUnit.attribute.unit att.milestoneUnit.attribute.unit = ## provides a conventional name for the kind of section changing at this milestone. ## Suggested values include: 1] page; 2] column; 3] line; 4] book; 5] poem; 6] canto; 7] speaker; 8] stanza; 9] act; 10] scene; 11] section; 12] absent; 13] unnumbered attribute unit { ## physical page breaks (synonymous with the pb element). "page" | ## column breaks. "column" | ## line breaks (synonymous with the lb element). "line" | ## any units termed book, liber, etc. "book" | ## individual poems in a collection. "poem" | ## cantos or other major sections of a poem. "canto" | ## changes of speaker or narrator. "speaker" | ## stanzas within a poem, book, or canto. "stanza" | ## acts within a play. "act" | ## scenes within a play or act. "scene" | ## sections of any kind. "section" | ## passages not present in the reference edition. "absent" | ## passages present in the text, but not to be included as part of the reference. "unnumbered" | xsd:Name } p = ## (paragraph) marks paragraphs in prose. [3.1. 7.2.5. ] element ns2:p { macro.paraContent, att.global.attributes, att.declaring.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 ns2: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 ns2: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 ns2:hi { macro.paraContent, att.global.attributes, empty } distinct = ## identifies any word or phrase which is regarded as linguistically distinct, for example as archaic, technical, dialectal, non-preferred, etc., or as forming part of a sublanguage. [3.3.2.3. ] element ns2:distinct { macro.phraseSeq, att.global.attributes, ## specifies the sublanguage or register to which the word or phrase is being assigned attribute type { data.enumerated }?, ## specifies how the phrase is distinct diachronically attribute time { data.text }?, ## specifies how the phrase is distinct diatopically attribute space { data.text }?, ## specifies how the phrase is distinct diastatically attribute social { data.text }?, empty } said = ## (speech or thought) indicates passages thought or spoken aloud, whether explicitly indicated in the source or not, whether directly or indirectly reported, whether by real people or fictional characters. [3.3.3. ] element ns2:said { macro.specialPara, att.global.attributes, att.ascribed.attributes, ## may be used to indicate whether the quoted matter is regarded as having been vocalized or signed. [ a:defaultValue = "unknown" ] attribute aloud { data.xTruthValue }?, ## may be used to indicate whether the quoted matter is regarded as direct or indirect speech. [ a:defaultValue = "true" ] attribute direct { data.xTruthValue }?, 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 ns2: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 ns2: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; 6] distinct; 7] term; 8] emph; 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" | ## linguistically distinct "distinct" | ## technical term "term" | ## rhetorically emphasized "emph" | ## refering to itself, not its normal referent "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 ns2:cit { (model.qLike | model.egLike | model.biblLike | model.ptrLike | model.global | model.entryPart)+, att.global.attributes, att.typed.attributes, empty } mentioned = ## marks words or phrases mentioned, not used. [3.3.3. ] element ns2:mentioned { macro.phraseSeq, att.global.attributes, empty } soCalled = ## contains a word or phrase for which the author or narrator indicates a disclaiming of responsibility, for example by the use of scare quotes or italics. [3.3.3. ] element ns2:soCalled { macro.phraseSeq, att.global.attributes, empty } desc = ## (description) contains a brief description of the object documented by its parent element, including its intended usage, purpose, or application where this is appropriate. [22.4.1. ] element ns2:desc { macro.limitedContent, att.global.attributes, att.translatable.attributes, att.typed.attributes, empty } gloss = ## identifies a phrase or word used to provide a gloss or definition for some other word or phrase. [3.3.4. 22.4.1. ] element ns2:gloss { macro.phraseSeq, att.global.attributes, att.declaring.attributes, att.translatable.attributes, att.typed.attributes, att.pointing.attributes, att.cReferencing.attributes, empty } term = ## contains a single-word, multi-word, or symbolic designation which is regarded as a technical term. [3.3.4. ] element ns2:term { macro.phraseSeq, att.global.attributes, att.declaring.attributes, att.pointing.attributes, att.typed.attributes, att.canonical.attributes, att.sortable.attributes, att.cReferencing.attributes, empty } sic = ## (Latin for thus or so ## ) contains text reproduced although apparently incorrect or inaccurate. [3.4.1. ] element ns2:sic { macro.paraContent, att.global.attributes, att.responsibility.attributes, empty } corr = ## (correction) contains the correct form of a passage apparently erroneous in the copy text. [3.4.1. ] element ns2:corr { macro.paraContent, att.global.attributes, att.editLike.attributes, att.typed.attributes, empty } choice = ## groups a number of alternative encodings for the same point in a text. [3.4. ] element ns2:choice { (model.choicePart | choice)*, att.global.attributes, empty } reg = ## (regularization) contains a reading which has been regularized or normalized in some sense. [3.4.2. 12. ] element ns2:reg { macro.paraContent, att.global.attributes, att.editLike.attributes, att.typed.attributes, empty } orig = ## (original form) contains a reading which is marked as following the original, rather than being normalized or corrected. [3.4.2. 12. ] element ns2:orig { macro.paraContent, att.global.attributes, att.responsibility.attributes, empty } 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 ns2:gap { (model.descLike | model.certLike)*, att.global.attributes, att.duration.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, indicates 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 } add = ## (addition) contains letters, words, or phrases inserted in the source text by an author, scribe, or a previous annotator or corrector. [3.4.3. ] element ns2:add { macro.paraContent, att.global.attributes, att.transcriptional.attributes, att.placement.attributes, att.typed.attributes, empty } del = ## (deletion) contains a letter, word, or passage deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, or a previous annotator or corrector. [3.4.3. ] element ns2:del { macro.paraContent, att.global.attributes, att.transcriptional.attributes, att.typed.attributes, 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 ns2:unclear { macro.paraContent, att.global.attributes, att.editLike.attributes, ## 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 } name = ## (name, proper noun) contains a proper noun or noun phrase. [3.5.1. ] element ns2:name { macro.phraseSeq, att.global.attributes, att.personal.attributes, att.datable.attributes, att.editLike.attributes, att.typed.attributes, empty } rs = ## (referencing string) contains a general purpose name or referring string. [13.2.1. 3.5.1. ] element ns2:rs { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attributes, empty } email = ## (electronic mail address) contains an e-mail address identifying a location to which e-mail messages can be delivered. [3.5.2. ] element ns2:email { macro.phraseSeq, att.global.attributes, 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.4. ] element ns2: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.4. ] element ns2:addrLine { macro.phraseSeq, att.global.attributes, empty } street = ## contains a full street address including any name or number identifying a building as well as the name of the street or route on which it is located. [3.5.2. ] element ns2:street { macro.phraseSeq, att.global.attributes, empty } postCode = ## (postal code) contains a numerical or alphanumeric code used as part of a postal address to simplify sorting or delivery of mail. [3.5.2. ] element ns2:postCode { text, att.global.attributes, empty } postBox = ## (postal box or post office box) contains a number or other identifier for some postal delivery point other than a street address. [3.5.2. ] element ns2:postBox { text, att.global.attributes, empty } num = ## (number) contains a number, written in any form. [3.5.3. ] element ns2:num { macro.phraseSeq, att.global.attributes, att.ranging.attributes, ## indicates the type of numeric value. ## Suggested values include: 1] cardinal; 2] ordinal; 3] fraction; 4] percentage attribute type { ## absolute number, e.g. 21, 21.5 "cardinal" | ## ordinal number, e.g. 21st "ordinal" | ## fraction, e.g. one half or three-quarters "fraction" | ## a percentage "percentage" | xsd:Name }?, ## supplies the value of the number in standard form. attribute value { data.numeric }?, empty } measure = ## contains a word or phrase referring to some quantity of an object or commodity, usually comprising a number, a unit, and a commodity name. [3.5.3. ] element ns2:measure { macro.phraseSeq, att.global.attributes, att.measurement.attributes, ## specifies the type of measurement in any convenient typology. attribute type { data.enumerated }?, empty } measureGrp = ## (measure group) contains a group of dimensional specifications which relate to the same object, for example the height and width of a manuscript page. [10.3.4. ] element ns2:measureGrp { (text | model.gLike | model.measureLike)*, att.global.attributes, att.measurement.attributes, att.typed.attributes, empty } date = ## contains a date in any format. [3.5.4. 2.2.4. 2.5. 3.11.2.4. 15.2.3. 13.3.6. ] element ns2:date { (text | model.gLike | model.phrase | model.global)*, att.global.attributes, att.datable.attributes, att.duration.attributes, att.editLike.attributes, att.typed.attributes, empty } time = ## contains a phrase defining a time of day in any format. [3.5.4. ] element ns2:time { (text | model.gLike | model.phrase | model.global)*, att.global.attributes, att.datable.attributes, att.duration.attributes, att.editLike.attributes, att.typed.attributes, empty } abbr = ## (abbreviation) contains an abbreviation of any sort. [3.5.5. ] element ns2:abbr { macro.phraseSeq, att.global.attributes, att.responsibility.attributes, att.typed.attribute.subtype, ## allows the encoder to classify the abbreviation according to some convenient typology. attribute type { data.enumerated }?, empty } expan = ## (expansion) contains the expansion of an abbreviation. [3.5.5. ] element ns2:expan { macro.phraseSeq, att.global.attributes, att.editLike.attributes, empty } ptr = ## (pointer) defines a pointer to another location. [3.6. 16.1. ] element ns2:ptr { empty >> sch:pattern [ id = "tei_all-ptr-ptrAtts-constraint-1" "\x{a}" ~ " " sch:rule [ context = "tei:ptr" "\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}" ~ " " ], att.global.attributes, att.pointing.attributes, att.internetMedia.attributes, att.typed.attributes, att.declaring.attributes, att.cReferencing.attributes, empty } ref = ## (reference) defines a reference to another location, possibly modified by additional text or comment. [3.6. 16.1. ] element ns2:ref { macro.paraContent >> sch:pattern [ id = "tei_all-ref-refAtts-constraint-2" "\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.attributes, att.internetMedia.attributes, att.typed.attributes, att.declaring.attributes, att.cReferencing.attributes, empty } \list = ## (list) contains any sequence of items organized as a list. [3.7. ] element ns2:list { ((model.divTop | model.global)*, ((item, model.global*)+ | (headLabel?, headItem?, (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 ns2: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 ns2: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 ns2:head { (text | lg | model.gLike | model.phrase | model.inter | model.lLike | model.global)*, att.global.attributes, att.typed.attributes, empty } headLabel = ## (heading for list labels) contains the heading for the label or term column in a glossary list or similar structured list. [3.7. ] element ns2:headLabel { macro.phraseSeq, att.global.attributes, empty } headItem = ## (heading for list items) contains the heading for the item or gloss column in a glossary list or similar structured list. [3.7. ] element ns2:headItem { macro.phraseSeq, att.global.attributes, empty } note = ## contains a note or annotation. [3.8.1. 2.2.6. 3.11.2.8. 9.3.5.4. ] element ns2:note { macro.specialPara, att.global.attributes, att.placement.attributes, att.pointing.attributes, att.responsibility.attributes, att.typed.attributes, ## indicates whether the copy text shows the exact place of reference for the note. [ a:defaultValue = "true" ] attribute anchored { data.truthValue }?, ## points to the end of the span to which the note is attached, if the note is not embedded in the text at that point. attribute targetEnd { list { data.pointer+ } }?, empty } index = ## (index entry) marks a location to be indexed for whatever purpose. [3.8.2. ] element ns2:index { (term, index?)*, att.global.attributes, att.spanning.attributes, ## 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 { data.name }?, empty } media = ## indicates the location of any form of external media such as an audio or video clip etc. [3.9. ] element ns2: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.declaring.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 ns2:graphic { model.descLike*, att.global.attributes, att.media.attributes, att.resourced.attributes, att.declaring.attributes, empty } binaryObject = ## provides encoded binary data representing an inline graphic, audio, video or other object. [3.9. ] element ns2:binaryObject { text, att.global.attributes, att.media.attributes, att.timed.attributes, att.typed.attributes, ## The encoding used to encode the binary data. If not specified, this is assumed to be Base64. attribute encoding { list { data.word+ } }?, 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 ns2:milestone { empty, att.global.attributes, att.milestoneUnit.attributes, att.typed.attributes, att.edition.attributes, att.spanning.attributes, att.breaking.attributes, empty } gb = ## (gathering begins) marks the point in a transcribed codex at which a new gathering or quire begins. [3.10.3. ] element ns2:gb { empty, att.global.attributes, att.typed.attributes, att.spanning.attributes, att.breaking.attributes, empty } pb = ## (page break) marks the start of a new page in a paginated document. [3.10.3. ] element ns2: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 ns2:lb { empty, att.global.attributes, att.typed.attributes, att.edition.attributes, att.spanning.attributes, att.breaking.attributes, empty } cb = ## (column break) marks the beginning of a new column of a text on a multi-column page. [3.10.3. ] element ns2:cb { empty, att.global.attributes, att.typed.attributes, att.edition.attributes, att.spanning.attributes, att.breaking.attributes, empty } analytic = ## (analytic level) contains bibliographic elements describing an item (e.g. an article or poem) published within a monograph or journal and not as an independent publication. [3.11.2.1. ] element ns2:analytic { (author | editor | respStmt | title | model.ptrLike | date | textLang | idno)*, att.global.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 ns2:monogr { ((((author | editor | meeting | respStmt), (author | editor | meeting | respStmt)*, title+, (model.ptrLike | idno | textLang | editor | respStmt)*) | ((title | model.ptrLike | idno)+, (textLang | author | editor | meeting | respStmt)*) | (authority, idno))?, model.noteLike*, (edition, (idno | model.ptrLike | editor | sponsor | funder | respStmt)*)*, imprint, (imprint | extent | biblScope)*), att.global.attributes, empty } series = ## (series information) contains information about the series in which a book or other bibliographic item has appeared. [3.11.2.1. ] element ns2:series { (text | model.gLike | title | model.ptrLike | editor | respStmt | biblScope | idno | textLang | model.global)*, 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 ns2: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 ns2:editor { macro.phraseSeq, att.global.attributes, att.naming.attributes, empty } respStmt = ## (statement of responsibility) supplies a statement of responsibility for the intellectual content of a text, edition, recording, or series, where the specialized elements for authors, editors, etc. do not suffice or do not apply. May also be used to encode information about individuals or organizations which have played a role in the production or distribution of a bibliographic work. [3.11.2.2. 2.2.1. 2.2.2. 2.2.5. ] element ns2:respStmt { ((resp+, model.nameLike.agent+) | (model.nameLike.agent+, resp+)), att.global.attributes, att.canonical.attributes, empty } resp = ## (responsibility) contains a phrase describing the nature of a person's intellectual responsibility, or an organization's role in the production or distribution of a work. [3.11.2.2. 2.2.1. 2.2.2. 2.2.5. ] element ns2:resp { macro.phraseSeq.limited, att.global.attributes, att.canonical.attributes, empty } title = ## contains a title for any kind of work. [3.11.2.2. 2.2.1. 2.2.5. ] element ns2: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) the title applies to an analytic item, such as an article, poem, or other work published as part of a larger item. "a" | ## (monographic) the title applies to a monograph such as a book or other item considered to be a distinct publication, including single volumes of multi-volume works "m" | ## (journal) the title applies to any serial or periodical publication such as a journal, magazine, or newspaper "j" | ## (series) the title applies to a series of otherwise distinct publications such as a collection "s" | ## (unpublished) the title applies to any unpublished material (including theses and dissertations unless published by a commercial press) "u" }?, empty } meeting = ## contains the formalized descriptive title for a meeting or conference, for use in a bibliographic description for an item derived from such a meeting, or as a heading or preamble to publications emanating from it. [3.11.2.2. ] element ns2:meeting { macro.limitedContent, att.global.attributes, att.canonical.attributes, empty } imprint = ## groups information relating to the publication or distribution of a bibliographic item. [3.11.2.4. ] element ns2:imprint { ((classCode | catRef)*, ((model.imprintPart | model.dateLike), respStmt*, 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.4. 2.2.4. ] element ns2:publisher { macro.phraseSeq, att.global.attributes, empty } biblScope = ## (scope of bibliographic reference) defines the scope of a bibliographic reference, for example as a list of page numbers, or a named subdivision of a larger work. [3.11.2.4. ] element ns2:biblScope { macro.phraseSeq, att.global.attributes, att.citing.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 type { ## (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 }?, empty } citedRange = ## (cited range) defines the range of cited content, often represented by pages or other units [3.11.2.4. ] element ns2:citedRange { macro.phraseSeq, att.global.attributes, att.pointing.attributes, att.citing.attributes, empty } pubPlace = ## (publication place) contains the name of the place where a bibliographic item was published. [3.11.2.4. ] element ns2: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 ns2: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 ns2:biblStruct { (analytic*, (monogr, series*)+, (model.noteLike | idno | model.ptrLike | relatedItem | citedRange)*), att.global.attributes, att.declarable.attributes, att.typed.attributes, att.sortable.attributes, att.docStatus.attributes, empty } listBibl = ## (citation list) contains a list of bibliographic citations of any kind. [3.11.1. 2.2.7. 15.3.2. ] element ns2:listBibl { (model.headLike*, (model.biblLike | model.milestoneLike)+), att.global.attributes, att.sortable.attributes, att.declarable.attributes, att.typed.attributes, empty } relatedItem = ## contains or references some other bibliographic item which is related to the present one in some specified manner, for example as a constituent or alternative version of it. [3.11.2.7. ] element ns2:relatedItem { ((model.biblLike | model.ptrLike)?) >> sch:pattern [ id = "tei_all-relatedItem-targetorcontent1-constraint-3" "\x{a}" ~ " " sch:rule [ context = "tei:relatedItem" "\x{a}" ~ " " sch:report [ test = "@target and count( child::* ) > 0" "\x{a}" ~ "If the @target attribute on " sch:name [ ] " is used, the\x{a}" ~ "relatedItem element must be empty" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "tei_all-relatedItem-targetorcontent1-constraint-6" "\x{a}" ~ " " sch:rule [ context = "tei:relatedItem" "\x{a}" ~ " " sch:assert [ test = "@target or child::*" "A relatedItem element should have either a 'target' attribute\x{a}" ~ " or a child element to indicate the related bibliographic item" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.typed.attributes, ## points to the related bibliographic element by means of an absolute or relative URI reference attribute target { data.pointer }?, empty } l = ## (verse line) contains a single, possibly incomplete, line of verse. [3.12.1. 3.12. 7.2.5. ] element ns2: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 ns2: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 = "tei_all-lg-atleast1oflggapl-constraint-7" "\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, att.declaring.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 ns2: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 ns2: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 ns2:stage { macro.specialPara, att.ascribed.attributes, att.global.attributes, att.placement.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 } teiCorpus = ## contains the whole of a TEI encoded corpus, comprising a single corpus header and one or more TEI elements, each containing a single text header and a text. [4. 15.1. ] element ns2:teiCorpus { (teiHeader, ((model.resourceLike+, (TEI | teiCorpus)*) | (TEI | teiCorpus)+)), att.global.attributes, ## The version of the TEI scheme [ a:defaultValue = "5.0" ] attribute version { data.version }?, empty } divGen = ## (automatically generated text division) indicates the location at which a textual division generated automatically by a text-processing application is to appear. [3.8.2. ] element ns2:divGen { model.headLike*, att.global.attributes, ## specifies what type of generated text division (e.g. index, table of contents, etc.) is to appear. ## Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist attribute type { data.enumerated }?, empty } textLang = ## (text language) describes the languages and writing systems identified within the bibliographic work being described, rather than its description. [3.11.2.4. 10.6.6. ] element ns2: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 } 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+ } }? s = ## (s-unit) contains a sentence-like division of a text. [17.1. 8.4.1. ] element ns2:s { ((text | model.gLike | model.global | binaryObject | formula | graphic | media | code | distinct | emph | foreign | gloss | ident | mentioned | soCalled | term | title | hi | caesura | rhyme | address | affiliation | email | date | time | depth | dim | geo | height | measure | measureGrp | num | width | name | orgName | persName | geogFeat | offset | addName | forename | genName | nameLink | roleName | surname | bloc | country | district | geogName | placeName | region | settlement | climate | location | population | state | terrain | trait | idno | lang | rs | abbr | am | choice | ex | expan | subst | add | app | corr | damage | del | handShift | mod | orig | redo | reg | restore | retrace | sic | supplied | surplus | unclear | undo | catchwords | dimensions | heraldry | locus | locusGrp | material | objectType | origDate | origPlace | secFol | signatures | stamp | watermark | att | gi | tag | val | ptr | ref | oRef | oVar | pRef | pVar | c | cl | m | pc | phr | seg | w | specDesc | specList)*) >> sch:pattern [ id = "tei_all-s-noNestedS-constraint-4" "\x{a}" ~ " " sch:rule [ context = "tei:s" "\x{a}" ~ " " sch:report [ test = "tei:s" "You may not nest one s element within\x{a}" ~ " another: use seg instead" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.segLike.attributes, att.typed.attributes, empty } cl = ## (clause) represents a grammatical clause. [17.1. ] element ns2:cl { macro.phraseSeq, att.global.attributes, att.segLike.attributes, att.typed.attributes, empty } phr = ## (phrase) represents a grammatical phrase. [17.1. ] element ns2:phr { macro.phraseSeq, att.global.attributes, att.segLike.attributes, att.typed.attributes, empty } w = ## (word) represents a grammatical (not necessarily orthographic) word. [17.1. ] element ns2:w { (text | model.gLike | seg | w | m | c | pc | model.global | model.lPart | model.hiLike | model.pPart.edit)*, att.global.attributes, att.segLike.attributes, att.typed.attributes, ## 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 } m = ## (morpheme) represents a grammatical morpheme. [17.1. ] element ns2:m { (text | model.gLike | seg | m | c | model.global)*, att.global.attributes, att.segLike.attributes, att.typed.attributes, ## supplies the morpheme's base form. attribute baseForm { data.word }?, empty } c = ## (character) represents a character. [17.1. ] element ns2:c { macro.xtext, att.global.attributes, att.segLike.attributes, att.typed.attributes, empty } pc = ## (punctuation character) contains a character or string of characters regarded as constituting a single punctuation mark. [17.1. ] element ns2: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 } span = ## associates an interpretative annotation directly with a span of text. [17.3. ] element ns2:span { macro.phraseSeq.limited >> sch:pattern [ id = "tei_all-span-targetfrom-constraint-5" "\x{a}" ~ " " sch:rule [ context = "tei:span" "\x{a}" ~ " " sch:report [ test = "@from and @target" "\x{a}" ~ "Only one of the attributes @target and @from may be supplied on " sch:name [ ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "tei_all-span-targetto-constraint-6" "\x{a}" ~ " " sch:rule [ context = "tei:span" "\x{a}" ~ " " sch:report [ test = "@to and @target" "\x{a}" ~ "Only one of the attributes @target and @to may be supplied on " sch:name [ ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "tei_all-span-tonotfrom-constraint-7" "\x{a}" ~ " " sch:rule [ context = "tei:span" "\x{a}" ~ " " sch:report [ test = "@to and not(@from)" "\x{a}" ~ "If @to is supplied on " sch:name [ ] ", @from must be supplied as well" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "tei_all-span-tofrom-constraint-8" "\x{a}" ~ " " sch:rule [ context = "tei:span" "\x{a}" ~ " " sch:report [ test = "contains(@to,' ') or contains(@from,' ')" "\x{a}" ~ "The attributes @to and @from on " sch:name [ ] " may each contain only a single value" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.interpLike.attributes, att.pointing.attributes, ## gives the identifier of the node which is the starting point of the span of text being annotated; if not accompanied by a to attribute, gives the identifier of the node of the entire span of text being annotated. attribute from { data.pointer }?, ## gives the identifier of the node which is the end-point of the span of text being annotated. attribute to { data.pointer }?, empty } spanGrp = ## (span group) collects together span tags. [17.3. ] element ns2:spanGrp { span*, att.global.attributes, att.interpLike.attributes, empty } interp = ## (interpretation) summarizes a specific interpretative annotation which can be linked to a span of text. [17.3. ] element ns2:interp { (text | model.gLike | model.descLike | model.certLike)*, att.global.attributes, att.interpLike.attributes, empty } interpGrp = ## (interpretation group) collects together a set of related interpretations which share responsibility or type. [17.3. ] element ns2:interpGrp { (model.descLike*, interp+), att.global.attributes, att.interpLike.attributes, empty } precision = ## indicates the numerical accuracy or precision associated with some aspect of the text markup. [21.2. ] element ns2:precision { (model.descLike | model.certLike)*, att.global.attributes, att.scoping.attributes, att.ranging.attributes, ## indicates the degree of precision to be assigned as a value between 0 (none) and 1 (optimally precise) attribute degree { data.probability }?, ## characterizes the precision of the element or attribute pointed to by the precision element. attribute precision { data.certainty }?, ## supplies a standard deviation associated with the value in question attribute stdDeviation { data.numeric }?, empty } certainty = ## indicates the degree of certainty associated with some aspect of the text markup. [21.1.2. ] element ns2:certainty { (model.descLike | model.certLike)*, att.global.attributes, att.scoping.attributes, ## (certainty) signifies the degree of certainty associated with the object pointed to by the certainty element. attribute cert { data.certainty }?, ## indicates more exactly the aspect concerning which certainty is being expressed: specifically, whether the markup is correctly located, whether the correct element or attribute name has been used, or whether the content of the element or attribute is correct, etc. attribute locus { ## uncertainty concerns whether the name of the element or attribute used is correctly applied. "name" | ## uncertainty concerns whether the start of the element is correctly identified. "start" | ## uncertainty concerns whether the end of the element is correctly identified. "end" | ## uncertainty concerns both the start and the end of the element. "location" | ## uncertainty concerns the content (for an element) or the value (for an attribute) "value" }, ## provides an alternative value for the aspect of the markup in question—an alternative generic identifier, transcription, or attribute value, or the identifier of an anchor element (to indicate an alternative starting or ending location). If an assertedValue is given, the confidence level specified by degree applies to the alternative markup specified by assertedValue; if none is given, it applies to the markup in the text. attribute assertedValue { data.pointer | data.name | data.word }?, ## indicates one or more element(s) characterizing the conditions which are assumed in the assignment of a degree of confidenceconditions assumed in the assignment of a degree of confidence. attribute given { list { data.pointer+ } }?, ## indicates the degree of confidence assigned to the aspect of the markup named by the locus attribute. attribute degree { data.probability }?, empty } respons = ## (responsibility) identifies the individual(s) responsible for some aspect of the content or markup of particular element(s). [21.3. ] element ns2:respons { (model.descLike | model.certLike)*, att.global.attributes, att.scoping.attributes, att.responsibility.attributes, ## indicates the specific aspect of the encoding (markup or content) for which responsibility is being assigned. attribute locus { list { ( ## responsibility is being assigned concerning the name of the element or attribute used. "name" | ## responsibility is being assigned concerning the start of the element concerned. "start" | ## responsibility is being assigned concerning the end of the element concerned. "end" | ## responsibility is being assigned concerning the location of the element concerned. "location" | ## responsibility is being assigned concerning the content (for an element) or the value (for an attribute) "value")+ } }, empty } textDesc = ## (text description) provides a description of a text in terms of its situational parameters. [15.2.1. ] element ns2:textDesc { (model.textDescPart_sequence, purpose+), att.global.attributes, att.declarable.attributes, empty } particDesc = ## (participation description) describes the identifiable speakers, voices, or other participants in any kind of text or other persons named or otherwise referred to in a text, edition, or metadata. [15.2. ] element ns2:particDesc { (model.pLike+ | (model.personLike | listPerson | listOrg)+), att.global.attributes, att.declarable.attributes, empty } settingDesc = ## (setting description) describes the setting or settings within which a language interaction takes place, or other places otherwise referred to in a text, edition, or metadata. [15.2. 2.4. ] element ns2:settingDesc { (model.pLike+ | (setting | model.placeLike | listPlace)+), att.global.attributes, att.declarable.attributes, empty } channel = ## (primary channel) describes the medium or channel by which a text is delivered or experienced. For a written text, this might be print, manuscript, e-mail, etc.; for a spoken one, radio, telephone, face-to-face, etc. [15.2.1. ] element ns2:channel { macro.phraseSeq.limited, att.global.attributes, ## specifies the mode of this channel with respect to speech and writing. [ a:defaultValue = "x" ] attribute mode { ## (spoken) "s" | ## (written) "w" | ## (spoken to be written) e.g. dictation "sw" | ## (written to be spoken) e.g. a script "ws" | ## (mixed) "m" | ## (unknown or inapplicable) "x" }?, empty } constitution = ## describes the internal composition of a text or text sample, for example as fragmentary, complete, etc. [15.2.1. ] element ns2:constitution { macro.phraseSeq.limited, att.global.attributes, ## specifies how the text was constituted. [ a:defaultValue = "single" ] attribute type { ## a single complete text "single" | ## a text made by combining several smaller items, each individually complete "composite" | ## (fragments) a text made by combining several smaller, not necessarily complete, items "frags" | ## composition unknown or unspecified "unknown" }?, empty } derivation = ## describes the nature and extent of originality of this text. [15.2.1. ] element ns2:derivation { macro.phraseSeq.limited, att.global.attributes, ## categorizes the derivation of the text. ## Sample values include: 1] original; 2] revision; 3] translation; 4] abridgment; 5] plagiarism; 6] traditional attribute type { data.enumerated }?, empty } domain = ## (domain of use) describes the most important social context in which the text was realized or for which it is intended, for example private vs. public, education, religion, etc. [15.2.1. ] element ns2:domain { macro.phraseSeq.limited, att.global.attributes, ## categorizes the domain of use. ## Sample values include: 1] art; 2] domestic; 3] religious; 4] business; 5] education; 6] govt(government) ; 7] public attribute type { data.enumerated }?, empty } factuality = ## describes the extent to which the text may be regarded as imaginative or non-imaginative, that is, as describing a fictional or a non-fictional world. [15.2.1. ] element ns2:factuality { macro.phraseSeq.limited, att.global.attributes, ## categorizes the factuality of the text. attribute type { ## the text is to be regarded as entirely imaginative "fiction" | ## the text is to be regarded as entirely informative or factual "fact" | ## the text contains a mixture of fact and fiction "mixed" | ## the fiction/fact distinction is not regarded as helpful or appropriate to this text "inapplicable" }?, empty } interaction = ## describes the extent, cardinality and nature of any interaction among those producing and experiencing the text, for example in the form of response or interjection, commentary, etc. [15.2.1. ] element ns2:interaction { macro.phraseSeq.limited, att.global.attributes, ## specifies the degree of interaction between active and passive participants in the text. attribute type { ## no interaction of any kind, e.g. a monologue "none" | ## some degree of interaction, e.g. a monologue with set responses "partial" | ## complete interaction, e.g. a face to face conversation "complete" | ## this parameter is inappropriate or inapplicable in this case "inapplicable" }?, ## specifies the number of active participants (or addressors) producing parts of the text. ## Suggested values include: 1] singular; 2] plural; 3] corporate; 4] unknown attribute active { ## a single addressor "singular" | ## many addressors "plural" | ## a corporate addressor "corporate" | ## number of addressors unknown or unspecifiable "unknown" | xsd:Name }?, ## specifies the number of passive participants (or addressees) to whom a text is directed or in whose presence it is created or performed. ## Suggested values include: 1] self; 2] single; 3] many; 4] group; 5] world attribute passive { ## text is addressed to the originator e.g. a diary "self" | ## text is addressed to one other person e.g. a personal letter "single" | ## text is addressed to a countable number of others e.g. a conversation in which all participants are identified "many" | ## text is addressed to an undefined but fixed number of participants e.g. a lecture "group" | ## text is addressed to an undefined and indeterminately large number e.g. a published book "world" | xsd:Name }?, empty } preparedness = ## describes the extent to which a text may be regarded as prepared or spontaneous. [15.2.1. ] element ns2:preparedness { macro.phraseSeq.limited, att.global.attributes, ## a keyword characterizing the type of preparedness. ## Sample values include: 1] none; 2] scripted; 3] formulaic; 4] revised attribute type { data.enumerated }?, empty } purpose = ## characterizes a single purpose or communicative function of the text. [15.2.1. ] element ns2:purpose { macro.phraseSeq.limited, att.global.attributes, ## specifies a particular kind of purpose. ## Suggested values include: 1] persuade; 2] express; 3] inform; 4] entertain attribute type { ## didactic, advertising, propaganda, etc. "persuade" | ## self expression, confessional, etc. "express" | ## convey information, educate, etc. "inform" | ## amuse, entertain, etc. "entertain" | xsd:Name }?, ## specifies the extent to which this purpose predominates. attribute degree { data.certainty }?, empty } setting = ## describes one particular setting in which a language interaction takes place. [15.2.3. ] element ns2:setting { (model.pLike+ | (model.nameLike.agent | model.dateLike | model.settingPart)*), att.global.attributes, att.ascribed.attributes, empty } locale = ## contains a brief informal description of the kind of place concerned, for example: a room, a restaurant, a park bench, etc. [15.2.3. ] element ns2:locale { macro.phraseSeq.limited, att.global.attributes, empty } activity = ## contains a brief informal description of what a participant in a language interaction is doing other than speaking, if anything. [15.2.3. ] element ns2:activity { macro.phraseSeq.limited, att.global.attributes, empty } model.entryLike = superEntry | entry | entryFree 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 { data.text }? att.lexicographic.attribute.split = ## gives the list of split values for a merged form attribute split { data.text }? att.lexicographic.attribute.value = ## gives a value which lacks any realization in the printed source text. attribute value { data.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 { data.text }? att.lexicographic.attribute.location = ## indicates an anchor element typically elsewhere in the document, but possibly in another document, which is 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 { data.truthValue }? model.morphLike = gram | gen | number | case | per | tns | mood | iType model.morphLike_alternation = gram | gen | number | case | per | tns | mood | iType model.morphLike_sequence = gram, gen, number, case, per, tns, mood, iType model.morphLike_sequenceOptional = gram?, gen?, number?, case?, per?, tns?, mood?, iType? model.morphLike_sequenceOptionalRepeatable = gram*, gen*, number*, case*, per*, tns*, mood*, iType* model.morphLike_sequenceRepeatable = gram+, gen+, number+, case+, per+, tns+, mood+, iType+ model.gramPart = model.morphLike | gramGrp | pos | subc | colloc | usg | lbl model.formPart = model.gramPart | form | orth | pron | hyph | syll | stress model.ptrLike.form = oRef | oVar | pRef | pVar 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 ns2:superEntry { ((form?, entry+) | dictScrap), 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 ns2:entry { (hom | sense | model.entryPart.top | model.global | model.ptrLike)+, att.global.attributes, att.entryLike.attributes, att.sortable.attributes, empty } entryFree = ## (unstructured entry) contains a single unstructured entry in any kind of lexical resource, such as a dictionary or lexicon. [9.1. 9.2. ] element ns2:entryFree { (text | model.gLike | model.entryPart | model.morphLike | model.phrase | model.inter | model.global)*, att.global.attributes, att.entryLike.attributes, att.lexicographic.attributes, att.sortable.attributes, empty } hom = ## (homograph) groups information relating to one homograph within an entry. [9.2. ] element ns2:hom { (sense | model.entryPart.top | model.global)*, att.global.attributes, att.lexicographic.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 ns2:sense { (text | model.gLike | sense | model.entryPart.top | model.phrase | model.global)*, att.global.attributes, att.lexicographic.attributes, ## gives the nesting depth of this sense. attribute level { data.count }?, empty } dictScrap = ## (dictionary scrap) encloses a part of a dictionary entry in which other phrase-level dictionary elements are freely combined. [9.1. 9.2. ] element ns2:dictScrap { (text | model.gLike | model.entryPart | model.morphLike | model.phrase | model.inter | model.global)*, att.global.attributes, empty } form = ## (form information group) groups all the information on the written and spoken forms of one headword. [9.3.1. ] element ns2:form { (text | model.gLike | model.phrase | model.inter | model.formPart | model.global)*, att.global.attributes, att.lexicographic.attributes, ## classifies form as simple, compound, etc. ## Suggested values include: 1] simple; 2] lemma; 3] variant; 4] compound; 5] derivative; 6] inflected; 7] phrase attribute type { ## single free lexical item "simple" | ## the headword itself "lemma" | ## a variant form "variant" | ## word formed from simple lexical items "compound" | ## word derived from headword "derivative" | ## word in other than usual dictionary form "inflected" | ## multiple-word lexical item "phrase" | xsd:Name }?, empty } orth = ## (orthographic form) gives the orthographic form of a dictionary headword. [9.3.1. ] element ns2:orth { macro.paraContent, att.global.attributes, att.lexicographic.attributes, ## gives the type of spelling. attribute type { data.enumerated }?, ## gives the extent of the orthographic information provided. ## Sample values include: 1] full(full form) ; 2] pref(prefix) ; 3] suff(suffix) ; 4] part(partial) [ a:defaultValue = "full" ] attribute extent { data.enumerated }?, empty } pron = ## (pronunciation) contains the pronunciation(s) of the word. [9.3.1. ] element ns2:pron { macro.paraContent, att.global.attributes, att.lexicographic.attributes, ## indicates whether the pronunciation is for whole word or part. ## Sample values include: 1] full(full form) ; 2] pref(prefix) ; 3] suff(suffix) ; 4] part(partial) [ a:defaultValue = "full" ] attribute extent { data.enumerated }?, ## indicates what notation is used for the pronunciation, if more than one occurs in the machine-readable dictionary. attribute notation { data.enumerated }?, empty } hyph = ## (hyphenation) contains a hyphenated form of a dictionary headword, or hyphenation information in some other form. [9.3.1. ] element ns2:hyph { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } syll = ## (syllabification) contains the syllabification of the headword. [9.3.1. ] element ns2:syll { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } stress = ## contains the stress pattern for a dictionary headword, if given separately. [9.3.1. ] element ns2:stress { macro.paraContent, att.global.attributes, empty } gram = ## (grammatical information) within an entry in a dictionary or a terminological data file, contains grammatical information relating to a term, word, or form. [9.3.2. ] element ns2:gram { macro.paraContent, att.global.attributes, att.lexicographic.attributes, ## classifies the grammatical information given according to some convenient typology—in the case of terminological information, preferably the dictionary of data element types specified in ISO 12620. ## Sample values include: 1] pos(part of speech) ; 2] gen(gender) ; 3] num(number) ; 4] animate; 5] proper attribute type { data.enumerated }?, empty } gen = ## (gender) identifies the morphological gender of a lexical item, as given in the dictionary. [9.3.1. ] element ns2:gen { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } number = ## indicates grammatical number associated with a form, as given in a dictionary. [9.3.1. 9.3.2. ] element ns2:number { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } case = ## contains grammatical case information given by a dictionary for a given form. [9.3.1. ] element ns2:case { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } per = ## (person) contains an indication of the grammatical person (1st, 2nd, 3rd, etc.) associated with a given inflected form in a dictionary. [9.3.1. ] element ns2:per { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } tns = ## (tense) indicates the grammatical tense associated with a given inflected form in a dictionary. [9.3.1. ] element ns2:tns { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } mood = ## contains information about the grammatical mood of verbs (e.g. indicative, subjunctive, imperative). [9.3.1. ] element ns2:mood { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } iType = ## (inflectional class) indicates the inflectional class associated with a lexical item. [9.3.1. ] element ns2:iType { macro.paraContent, att.global.attributes, att.lexicographic.attributes, ## indicates the type of indicator used to specify the inflection class, when it is necessary to distinguish between the usual abbreviated indications (e.g. inv) and other kinds of indicators, such as special codes referring to conjugation patterns, etc. ## Sample values include: 1] abbrev; 2] verbTable attribute type { data.enumerated }?, empty } 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 ns2:gramGrp { (text | model.gLike | model.phrase | model.inter | model.gramPart | model.global)*, att.global.attributes, att.lexicographic.attributes, att.typed.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 ns2: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 ns2:subc { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } colloc = ## (collocate) contains any sequence of words that co-occur with the headword with significant frequency. [9.3.2. ] element ns2:colloc { macro.paraContent, att.global.attributes, att.lexicographic.attributes, att.typed.attributes, empty } def = ## (definition) contains definition text in a dictionary entry. [9.3.3.1. ] element ns2:def { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } etym = ## (etymology) encloses the etymological information in a dictionary entry. [9.3.4. ] element ns2:etym { (text | model.gLike | model.phrase | model.inter | usg | lbl | def | model.morphLike | xr | model.global)*, att.global.attributes, att.lexicographic.attributes, empty } lang = ## (language name) contains the name of a language mentioned in etymological or other linguistic discussion. [9.3.4. ] element ns2:lang { macro.paraContent, att.global.attributes, att.lexicographic.attributes, empty } usg = ## (usage) contains usage information in a dictionary entry. [9.3.5.2. ] element ns2: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 } lbl = ## (label) contains a label for a form, example, translation, or other piece of information, e.g. abbreviation for, contraction of, literally, approximately, synonyms:, etc. [9.3.1. 9.3.3.2. 9.3.5.3. ] element ns2:lbl { macro.paraContent, att.global.attributes, att.lexicographic.attributes, ## classifies the label using any convenient typology. 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 ns2:xr { (text | model.gLike | model.phrase | model.inter | usg | lbl | model.global)*, att.global.attributes, 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 ns2:re { (text | model.gLike | sense | model.entryPart.top | model.phrase | model.global)*, att.global.attributes, att.lexicographic.attributes, att.typed.attributes, empty } oRef = ## (orthographic-form reference) in a dictionary example, indicates a reference to the orthographic form(s) of the headword. [9.4. ] element ns2:oRef { empty, att.global.attributes, att.lexicographic.attributes, att.pointing.attributes, ## indicates the kind of typographic modification made to the headword in the reference. ## Sample values include: 1] cap(capital) ; 2] noHyph(no hyphen) attribute type { data.enumerated }?, empty } oVar = ## (orthographic-variant reference) in a dictionary example, indicates a reference to variant orthographic form(s) of the headword. [9. ] element ns2:oVar { (text | model.gLike | oRef)*, att.global.attributes, att.lexicographic.attributes, att.pointing.attributes, ## indicates the kind of variant involved. ## Sample values include: 1] pt(past tense) ; 2] pp(past participle) ; 3] prp(present participle) ; 4] f(feminine) ; 5] pl(plural) attribute type { data.enumerated }?, empty } pRef = ## (pronunciation reference) in a dictionary example, indicates a reference to the pronunciation(s) of the headword. [9.4. ] element ns2:pRef { empty, att.global.attributes, att.pointing.attributes, att.lexicographic.attributes, empty } pVar = ## (pronunciation-variant reference) in a dictionary example, indicates a reference to variant pronunciation(s) of the headword. [9. ] element ns2:pVar { (text | model.gLike | pRef)*, att.global.attributes, att.pointing.attributes, att.lexicographic.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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2:role { macro.phraseSeq, att.global.attributes, empty } roleDesc = ## (role description) describes a character's role in a drama. [7.1.4. ] element ns2:roleDesc { macro.phraseSeq, att.global.attributes, empty } actor = ## contains the name of an actor appearing within a cast list. [7.1.4. ] element ns2: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 ns2: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 ns2: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 by pointing to one or more performance elements. 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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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) points to one or more performance elements documenting the performance or performances to which this technical direction applies. attribute perf { list { data.pointer+ } }?, empty } table = ## contains text displayed in tabular form, in rows and columns. [14.1.1. ] element ns2: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 ns2:row { cell+, att.global.attributes, att.tableDecoration.attributes, empty } cell = ## contains one cell of a table. [14.1.1. ] element ns2:cell { macro.specialPara, att.global.attributes, att.tableDecoration.attributes, empty } formula = ## contains a mathematical or other formula. [14.2. ] element ns2:formula { (text | model.graphicLike | model.hiLike)*, att.global.attributes, ## 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 [14.3. ] element ns2:notatedMusic { (model.labelLike | model.ptrLike | graphic | binaryObject)*, 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 ns2:figure { (model.headLike | model.common | figDesc | model.graphicLike | model.global | model.divBottom)*, att.global.attributes, att.placement.attributes, att.typed.attributes, empty } 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 ns2:figDesc { macro.limitedContent, att.global.attributes, empty } g = ## (character or glyph) represents a glyph, or a non-standard character. [5. ] element ns2: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. [5.2. ] element ns2: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. [5.2. ] element ns2:charName { text, att.global.attributes, empty } charProp = ## (character property) provides a name and value for some property of the parent character or glyph. [5.2. ] element ns2:charProp { ((unicodeName | localName), value), att.global.attributes, att.typed.attributes, empty } charDecl = ## (character declarations) provides information about nonstandard characters and glyphs. [5.2. ] element ns2:charDecl { (desc?, (char | glyph)+), att.global.attributes, empty } glyph = ## (character glyph) provides descriptive information about a character glyph. [5.2. ] element ns2: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. [5.2. ] element ns2:glyphName { text, att.global.attributes, empty } localName = ## (locally-defined property name) contains a locally defined name for some property. [5.2.1. ] element ns2: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. [5.2. ] element ns2: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. [5.2.1. ] element ns2: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. [5.2.1. ] element ns2:value { macro.xtext, att.global.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, that is, the skeleton of a relative or absolute URI containing references to groups in the matchPattern which, once subpattern substitution has been performed, complete the URI. attribute replacementPattern { data.replacement } 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 ns2: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 ns2:fileDesc { ((titleStmt, editionStmt?, 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 ns2:titleStmt { (title+, model.respLike*), att.global.attributes, empty } sponsor = ## specifies the name of a sponsoring organization or institution. [2.2.1. ] element ns2:sponsor { macro.phraseSeq.limited, att.global.attributes, att.canonical.attributes, empty } funder = ## (funding body) specifies the name of an individual, institution, or organization responsible for the funding of a project or text. [2.2.1. ] element ns2:funder { macro.phraseSeq.limited, att.global.attributes, att.canonical.attributes, empty } principal = ## (principal researcher) supplies the name of the principal researcher responsible for the creation of an electronic text. [2.2.1. ] element ns2:principal { macro.phraseSeq.limited, att.global.attributes, att.canonical.attributes, empty } editionStmt = ## (edition statement) groups information relating to one edition of a text. [2.2.2. 2.2. ] element ns2:editionStmt { (model.pLike+ | (edition, model.respLike*)), att.global.attributes, empty } edition = ## (edition) describes the particularities of one edition of a text. [2.2.2. ] element ns2: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.4. 10.7.1. ] element ns2: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 ns2:publicationStmt { ((model.publicationStmtPart.agency, model.publicationStmtPart.detail*)+ | model.pLike+), att.global.attributes, empty } distributor = ## supplies the name of a person or other agency responsible for the distribution of a text. [2.2.4. ] element ns2:distributor { macro.phraseSeq, 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 ns2: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.4. ] element ns2: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 ns2: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 ns2: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 ns2:seriesStmt { (model.pLike+ | (title+, (editor | respStmt)*, (idno | biblScope)*)), 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 ns2:notesStmt { (model.noteLike | relatedItem)+, 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 ns2:sourceDesc { (model.pLike+ | (model.biblLike | model.sourceDescPart | model.listLike)+), att.global.attributes, att.declarable.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 ns2:biblFull { ((titleStmt, editionStmt?, 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 ns2:encodingDesc { (model.encodingDescPart | model.pLike)+, att.global.attributes, empty } projectDesc = ## (project description) describes in detail the aim or purpose for which an electronic file was encoded, together with any other relevant information concerning the process by which it was assembled or collected. [2.3.1. 2.3. 15.3.2. ] element ns2:projectDesc { model.pLike+, att.global.attributes, att.declarable.attributes, empty } samplingDecl = ## (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. 2.3. 15.3.2. ] element ns2:samplingDecl { model.pLike+, att.global.attributes, att.declarable.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 ns2:editorialDecl { (model.pLike | model.editorialDeclPart)+, att.global.attributes, att.declarable.attributes, empty } correction = ## (correction principles) states how and under what circumstances corrections have been made in the text. [2.3.3. 15.3.2. ] element ns2:correction { model.pLike+, att.global.attributes, att.declarable.attributes, ## indicates the degree of correction applied to the text. [ a:defaultValue = "unknown" ] attribute status { ## the text has been thoroughly checked and proofread. "high" | ## the text has been checked at least once. "medium" | ## the text has not been checked. "low" | ## the correction status of the text is unknown. "unknown" }?, ## indicates the method adopted to indicate corrections within the text. [ a:defaultValue = "silent" ] attribute method { ## corrections have been made silently "silent" | ## corrections have been represented using markup "markup" }?, 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 ns2:normalization { model.pLike+, att.global.attributes, att.declarable.attributes, ## indicates a bibliographic description or other resource documenting the principles underlying the 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 } quotation = ## specifies editorial practice adopted with respect to quotation marks in the original. [2.3.3. 15.3.2. ] element ns2:quotation { (model.pLike*) >> sch:pattern [ id = "tei_all-quotation-quotationContents-constraint-9" "\x{a}" ~ " " sch:rule [ context = "tei:quotation" "\x{a}" ~ " " sch:report [ test = "not(@marks) and not (tei:p)" "\x{a}" ~ "On " sch:name [ ] ", either the @marks attribute should be used, or a paragraph of description provided" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.declarable.attributes, ## (quotation marks) indicates whether or not quotation marks have been retained as content within the text. attribute marks { ## no quotation marks have been retained "none" | ## some quotation marks have been retained "some" | ## all quotation marks have been retained "all" }?, ## specifies how quotation marks are indicated within the text. [ a:defaultValue = "unknown" ] attribute form { data.enumerated }?, empty } hyphenation = ## summarizes the way in which hyphenation in a source text has been treated in an encoded version of it. [2.3.3. 15.3.2. ] element ns2:hyphenation { model.pLike+, att.global.attributes, att.declarable.attributes, ## (end-of-line) indicates whether or not end-of-line hyphenation has been retained in a text. [ a:defaultValue = "some" ] attribute eol { ## all end-of-line hyphenation has been retained, even though the lineation of the original may not have been. "all" | ## end-of-line hyphenation has been retained in some cases. "some" | ## all soft end-of-line hyphenation has been removed: any remaining end-of-line hyphenation should be retained. "hard" | ## all end-of-line hyphenation has been removed: any remaining hyphenation occurred within the line. "none" }?, empty } segmentation = ## describes the principles according to which the text has been segmented, for example into sentences, tone-units, graphemic strata, etc. [2.3.3. 15.3.2. ] element ns2:segmentation { model.pLike+, att.global.attributes, att.declarable.attributes, empty } stdVals = ## (standard values) specifies the format used when standardized date or number values are supplied. [2.3.3. 15.3.2. ] element ns2:stdVals { model.pLike+, att.global.attributes, att.declarable.attributes, empty } interpretation = ## describes the scope of any analytic or interpretive information added to the text in addition to the transcription. [2.3.3. ] element ns2:interpretation { model.pLike+, att.global.attributes, att.declarable.attributes, empty } tagsDecl = ## (tagging declaration) provides detailed information about the tagging applied to a document. [2.3.4. 2.3. ] element ns2:tagsDecl { (rendition*, \namespace*), att.global.attributes, empty } tagUsage = ## supplies information about the usage of a specific element within a text. [2.3.4. ] element ns2:tagUsage { macro.limitedContent, att.global.attributes, ## (generic identifier) specifies the name (generic identifier) of the element indicated by the tag, within the namespace indicated by the parent namespace element. attribute gi { data.name }, ## specifies the number of occurrences of this element within the text. attribute occurs { data.count }?, ## (with unique identifier) specifies the number of occurrences of this element within the text which bear a distinct value for the global xml:id attribute. attribute withId { data.count }?, ## specifies the identifier of a rendition element which defines how this element was rendered in the source text. attribute render { list { data.pointer+ } }?, empty } \namespace = ## supplies the formal name of the namespace to which the elements documented by its children belong. [2.3.4. ] element ns2:namespace { tagUsage+, att.global.attributes, ## specifies the full formal name of the namespace concerned. attribute name { data.namespace }, empty } rendition = ## supplies information about the rendition or appearance of one or more elements in the source text. [2.3.4. ] element ns2:rendition { macro.limitedContent, att.global.attributes, att.styleDef.attributes, ## where CSS is used, provides a way of defining pseudo-elements, that is, styling rules applicable to specific sub-portions of an element. ## Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after attribute scope { data.enumerated }?, 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. The specific version of the scheme may also be supplied. [2.3.5. ] element ns2:styleDefDecl { model.pLike*, att.global.attributes, att.declarable.attributes, att.styleDef.attributes, empty } refsDecl = ## (references declaration) specifies how canonical references are constructed for this text. [2.3.6.3. 2.3. 2.3.6. ] element ns2:refsDecl { (model.pLike+ | cRefPattern+ | refState+), att.global.attributes, att.declarable.attributes, empty } cRefPattern = ## (canonical reference pattern) specifies an expression and replacement pattern for transforming a canonical reference into a URI. [2.3.6.3. 2.3.6. 2.3.6.2. ] element ns2:cRefPattern { model.pLike*, att.global.attributes, att.patternReplacement.attributes, empty } 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 ns2:prefixDef { model.pLike*, att.global.attributes, att.patternReplacement.attributes, ## supplies a name 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 ns2:listPrefixDef { (prefixDef | listPrefixDef)+, att.global.attributes, empty } refState = ## (reference state) specifies one component of a canonical reference defined by the milestone method. [2.3.6.3. 2.3.6. ] element ns2:refState { empty, att.global.attributes, att.milestoneUnit.attributes, att.edition.attributes, ## specifies the fixed length of the reference component. attribute length { data.count }?, ## (delimiter) supplies a delimiting string following the reference component. attribute delim { data.text }?, empty } classDecl = ## (classification declarations) contains one or more taxonomies defining any classificatory codes used elsewhere in the text. [2.3.7. 2.3. ] element ns2:classDecl { taxonomy+, att.global.attributes, empty } taxonomy = ## defines a typology either implicitly, by means of a bibliographic citation, or explicitly by a structured taxonomy. [2.3.7. ] element ns2:taxonomy { ((model.glossLike | model.descLike)* | category+ | (model.biblLike, category*)), att.global.attributes, empty } category = ## contains an individual descriptive category, possibly nested within a superordinate category, within a user-defined taxonomy. [2.3.7. ] element ns2:category { ((catDesc+ | (model.descLike | model.glossLike)*), category*), att.global.attributes, empty } catDesc = ## (category description) describes some category within a taxonomy or text typology, either in the form of a brief prose description or in terms of the situational parameters used by the TEI formal textDesc. [2.3.7. ] element ns2:catDesc { (text | model.limitedPhrase | model.catDescPart)*, att.global.attributes, empty } geoDecl = ## (geographic coordinates declaration) documents the notation and the datum used for geographic coordinates expressed as content of the geo element elsewhere within the document. [2.3.8. ] element ns2:geoDecl { macro.phraseSeq, att.global.attributes, att.declarable.attributes, ## supplies a commonly used code name for the datum employed. ## Suggested values include: 1] WGS84(World Geodetic System) ; 2] MGRS(Military Grid Reference System) ; 3] OSGB36(ordnance survey great britain) ; 4] ED50(European Datum coordinate system) [ a:defaultValue = "WGS84" ] attribute datum { ## (World Geodetic System) a pair of numbers to be interpreted as latitude followed by longitude according to the World Geodetic System. "WGS84" | ## (Military Grid Reference System) the values supplied are geospatial entity object codes, based on "MGRS" | ## (ordnance survey great britain) the value supplied is to be interpreted as a British National Grid Reference. "OSGB36" | ## (European Datum coordinate system) the value supplied is to be interpreted as latitude followed by longitude according to the European Datum coordinate system. "ED50" | xsd:Name }?, empty } appInfo = ## (application information) records information about an application which has edited the TEI file. [2.3.10. ] element ns2:appInfo { model.applicationLike+, att.global.attributes, empty } application = ## provides information about an application which has acted upon the document. [2.3.10. ] element ns2:application { (model.labelLike+, (model.ptrLike* | model.pLike*)), att.global.attributes, att.typed.attributes, att.datable.attributes, ## supplies an identifier for the application, independent of its version number or display name. attribute ident { data.name }, ## supplies a version number for the application, independent of its identifier or display name. attribute version { data.versionNumber }, 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 ns2: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 ns2:handNote { macro.specialPara, att.global.attributes, att.handFeatures.attributes, empty } abstract = ## contains a summary or formal abstract prefixed to an existing source document by the encoder. [2.4.4. ] element ns2:abstract { (model.pLike | model.listLike)+, att.global.attributes, att.responsibility.attributes, empty } creation = ## contains information about the creation of a text. [2.4.1. 2.4. ] element ns2:creation { (text | model.limitedPhrase | listChange)*, att.global.attributes, att.datable.attributes, empty } langUsage = ## (language usage) describes the languages, sublanguages, registers, dialects, etc. represented within a text. [2.4.2. 2.4. 15.3.2. ] element ns2:langUsage { language+, att.global.attributes, att.declarable.attributes, empty } language = ## characterizes a single language or sublanguage used within a text. [2.4.2. ] element ns2:language { macro.phraseSeq.limited, att.global.attributes, ## (identifier) Supplies a language code constructed as defined in BCP 47 which is used to identify the language documented by this element, and which is referenced by the global xml:lang attribute. attribute ident { data.language }, ## specifies the approximate percentage (by volume) of the text which uses this language. attribute usage { xsd:nonNegativeInteger { maxInclusive = "100" } }?, empty } textClass = ## (text classification) groups information which describes the nature or topic of a text in terms of a standard classification scheme, thesaurus, etc. [2.4.3. ] element ns2:textClass { (classCode | catRef | keywords)*, att.global.attributes, att.declarable.attributes, empty } keywords = ## contains a list of keywords or phrases identifying the topic or nature of a text. [2.4.3. ] element ns2:keywords { (term+ | \list), att.global.attributes, ## identifies the controlled vocabulary within which the set of keywords concerned is defined identifies the classification scheme within which the set of categories concerned is defined, for example by a taxonomy element, or by some other resource. attribute scheme { data.pointer }?, empty } classCode = ## (classification code) contains the classification code used for this text in some standard classification system. [2.4.3. ] element ns2:classCode { macro.phraseSeq.limited, att.global.attributes, ## identifies the classification system in use, as defined by for example by a taxonomy element, or some other resource.. attribute scheme { data.pointer }, empty } catRef = ## (category reference) specifies one or more defined categories within some taxonomy or text typology. [2.4.3. ] element ns2:catRef { empty, att.global.attributes, att.pointing.attributes, ## identifies the classification scheme within which the set of categories concerned is defined, for example by a taxonomy element, or by some other resource. attribute scheme { data.pointer }?, empty } calendarDesc = ## (calendar description) contains a description of the calendar system used in any dating expression found in the text. [2.4. 2.4.5. ] element ns2:calendarDesc { calendar+, att.global.attributes, empty } calendar = ## describes a calendar or dating system used in a dating formula in the text. [2.4.5. ] element ns2: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 ns2: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 ns2: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 ns2: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 ns2: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. [2.5. 11.7. ] element ns2: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 } fsdDecl = ## (feature system declaration) provides a feature system declaration comprising one or more feature structure declarations or feature structure declaration links. [18.11. ] element ns2:fsdDecl { (fsDecl | fsdLink)+, att.global.attributes, empty } fsDecl = ## (feature structure declaration) declares one type of feature structure. [18.11. ] element ns2:fsDecl { (fsDescr?, fDecl+, fsConstraints?), att.global.attributes, ## gives a name for the type of feature structure being declared. attribute type { data.enumerated }, ## gives the name of one or more typed feature structures from which this type inherits feature specifications and constraints; if this type includes a feature specification with the same name as that of any of those specified by this attribute, or if more than one specification of the same name is inherited, then the set of possible values is defined by unification. Similarly, the set of constraints applicable is derived by combining those specified explicitly within this element with those implied by the baseTypes attribute. When no baseTypes attribute is specified, no feature specification or constraint is inherited. attribute baseTypes { list { data.name+ } }?, empty } fsDescr = ## (feature system description (in FSD)) describes in prose what is represented by the type of feature structure declared in the enclosing fsDecl. [18.11. ] element ns2:fsDescr { macro.limitedContent, att.global.attributes, empty } fsdLink = ## (feature structure declaration link) associates the name of a typed feature structure with a feature structure declaration for it. [18.11. ] element ns2:fsdLink { empty, att.global.attributes, ## identifies the type of feature structure to be documented; this will be the value of the type attribute on at least one feature structure. attribute type { data.enumerated }, ## supplies a pointer to a feature structure declaration (fsDecl) element within the current document or elsewhere. attribute target { data.pointer }, empty } fDecl = ## (feature declaration) declares a single feature, specifying its name, organization, range of allowed values, and optionally its default value. [18.11. ] element ns2:fDecl { (fDescr?, vRange, vDefault?), att.global.attributes, ## a single word which follows the rules defining a legal XML name (see ), indicating the name of the feature being declared; matches the name attribute of f elements in the text. attribute name { data.name }, ## indicates whether or not the value of this feature may be present. [ a:defaultValue = "true" ] attribute optional { data.truthValue }?, empty } fDescr = ## (feature description (in FSD)) describes in prose what is represented by the feature being declared and its values. [18.11. ] element ns2:fDescr { macro.limitedContent, att.global.attributes, empty } vRange = ## (value range) defines the range of allowed values for a feature, in the form of an fs, vAlt, or primitive value; for the value of an f to be valid, it must be subsumed by the specified range; if the f contains multiple values (as sanctioned by the org attribute), then each value must be subsumed by the vRange. [18.11. ] element ns2:vRange { model.featureVal, att.global.attributes, empty } vDefault = ## (value default) declares the default value to be supplied when a feature structure does not contain an instance of f for this name; if unconditional, it is specified as one (or, depending on the value of the org attribute of the enclosing fDecl) more fs elements or primitive values; if conditional, it is specified as one or more if elements; if no default is specified, or no condition matches, the value none is assumed. [18.11. ] element ns2:vDefault { (model.featureVal+ | if+), att.global.attributes, empty } if = ## defines a conditional default value for a feature; the condition is specified as a feature structure, and is met if it subsumes the feature structure in the text for which a default value is sought. [18.11. ] element ns2:if { ((fs | f), then, model.featureVal), att.global.attributes, empty } then = ## separates the condition from the default in an if, or the antecedent and the consequent in a cond element. [18.11. ] element ns2:then { empty, att.global.attributes, empty } fsConstraints = ## (feature-structure constraints) specifies constraints on the content of valid feature structures. [18.11. ] element ns2:fsConstraints { (cond | bicond)*, att.global.attributes, empty } cond = ## (conditional feature-structure constraint) defines a conditional feature-structure constraint; the consequent and the antecedent are specified as feature structures or feature-structure collections; the constraint is satisfied if both the antecedent and the consequent subsume a given feature structure, or if the antecedent does not. [18.11. ] element ns2:cond { ((fs | f), then, (fs | f)), att.global.attributes, empty } bicond = ## (bi-conditional feature-structure constraint) defines a biconditional feature-structure constraint; both consequent and antecedent are specified as feature structures or groups of feature structures; the constraint is satisfied if both subsume a given feature structure, or if both do not. [18.11. ] element ns2:bicond { ((fs | f), iff, (fs | f)), att.global.attributes, empty } iff = ## (if and only if) separates the condition from the consequence in a bicond element. [18.11. ] element ns2:iff { empty, att.global.attributes, empty } fs = ## (feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit. [18.2. ] element ns2: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 ns2:f { ((text | model.gLike | model.featureVal)*) >> sch:pattern [ id = "tei_all-f-fValConstraints-constraint-6" "\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 = "tei_all-f-fValConstraints-constraint-7" "\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 } binary = ## (binary value) represents the value part of a feature-value specification which can contain either of exactly two possible values. [18.2. ] element ns2:binary { empty, att.global.attributes, att.datcat.attributes, ## supplies a binary value. attribute value { data.truthValue }, 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 ns2:symbol { empty, att.global.attributes, att.datcat.attributes, ## supplies a symbolic value for the feature, one of a finite list that may be specified in a feature declaration. attribute value { data.word }, empty } numeric = ## (numeric value) represents the value part of a feature-value specification which contains a numeric value or range. [18.3. ] element ns2:numeric { empty, att.global.attributes, att.datcat.attributes, ## supplies a lower bound for the numeric value represented, and also (if max is not supplied) its upper bound. attribute value { data.numeric }, ## supplies an upper bound for the numeric value represented. attribute max { data.numeric }?, ## specifies whether the value represented should be truncated to give an integer value. attribute trunc { data.truthValue }?, empty } \string = ## (string value) represents the value part of a feature-value specification which contains a string. [18.3. ] element ns2:string { macro.xtext, att.global.attributes, att.datcat.attributes, empty } vLabel = ## (value label) represents the value part of a feature-value specification which appears at more than one point in a feature structure. [18.6. ] element ns2:vLabel { model.featureVal?, att.global.attributes, ## supplies a name identifying the sharing point. attribute name { data.word }, empty } vColl = ## (collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list. [18.7. ] element ns2:vColl { (fs | model.featureVal.single)*, att.global.attributes, ## (organization) indicates organization of given value or values as set, bag or list. attribute org { ## indicates that the given values are organized as a set. "set" | ## indicates that the given values are organized as a bag (multiset). "bag" | ## indicates that the given values are organized as a list. "list" }?, empty } \default = ## (default feature value) represents the value part of a feature-value specification which contains a defaulted value. [18.9. ] element ns2:default { empty, att.global.attributes, empty } vAlt = ## (value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid. [18.8.1. ] element ns2:vAlt { (model.featureVal, model.featureVal+), att.global.attributes, empty } vNot = ## (value negation) represents a feature value which is the negation of its content. [18.8.2. ] element ns2:vNot { model.featureVal, att.global.attributes, empty } vMerge = ## (merged collection of values) represents a feature value which is the result of merging together the feature values contained by its children, using the organization specified by the org attribute. [18.8.3. ] element ns2:vMerge { model.featureVal+, att.global.attributes, ## indicates the organization of the resulting merged values as set, bag or list. attribute org { ## indicates that the resulting values are organized as a set. "set" | ## indicates that the resulting values are organized as a bag (multiset). "bag" | ## indicates that the resulting values are organized as a list. "list" }?, empty } fLib = ## (feature library) assembles a library of feature elements. [18.4. ] element ns2:fLib { f+, att.global.attributes, empty } fvLib = ## (feature-value library) assembles a library of reusable feature value elements (including complete feature structures). [18.4. ] element ns2:fvLib { model.featureVal*, att.global.attributes, 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+ } }? link = ## defines an association or hypertextual link among elements or passages, of some type not more precisely specifiable by other elements. [16.1. ] element ns2:link { empty >> sch:pattern [ id = "tei_all-link-linkTargets3-constraint-9" "\x{a}" ~ " " sch:rule [ context = "tei:link" "\x{a}" ~ " " sch:assert [ test = "contains(@target,' ')" "You must supply at least two values for @target or @targets on " sch:name [ ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.pointing.attributes, att.typed.attributes, empty } linkGrp = ## (link group) defines a collection of associations or hypertextual links. [16.1. ] element ns2:linkGrp { (link | ptr)+, att.global.attributes, att.pointing.group.attributes, empty } ab = ## (anonymous block) contains any arbitrary component-level unit of text, acting as an anonymous container for phrase or inter level elements analogous to, but without the semantic baggage of, a paragraph. [16.3. ] element ns2:ab { macro.paraContent, att.global.attributes, att.typed.attributes, att.declaring.attributes, att.fragmentable.attributes, 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 ns2:anchor { empty, att.global.attributes, att.typed.attributes, empty } seg = ## (arbitrary segment) represents any segmentation of text below the chunk level. [16.3. 6.2. 7.2.5. ] element ns2:seg { macro.paraContent, att.global.attributes, att.segLike.attributes, att.typed.attributes, att.responsibility.attributes, empty } when = ## indicates a point in time either relative to other elements in the same timeline tag, or absolutely. [16.5.2. ] element ns2:when { empty, att.global.attributes, ## supplies an absolute value for the time. attribute absolute { data.temporal.w3c }?, ## specifies the unit of time in which the interval value is expressed, if this is not inherited from the parent timeline. ## Suggested values include: 1] d(days) ; 2] h(hours) ; 3] min(minutes) ; 4] s(seconds) ; 5] ms(milliseconds) attribute unit { ## (days) "d" | ## (hours) "h" | ## (minutes) "min" | ## (seconds) "s" | ## (milliseconds) "ms" | xsd:Name }?, ## specifies a time interval either as a number or as one of the keywords defined by the datatype data.interval attribute interval { data.interval }?, ## identifies the reference point for determining the time of the current when element, which is obtained by adding the interval to the time of the reference point. attribute since { data.pointer }?, empty } timeline = ## (timeline) provides a set of ordered points in time which can be linked to elements of a spoken text to create a temporal alignment of that text. [16.5.2. ] element ns2:timeline { when+, att.global.attributes, ## designates the origin of the timeline, i.e. the time at which it begins. attribute origin { data.pointer }?, ## specifies the unit of time corresponding to the interval value of the timeline or of its constituent points in time. ## Suggested values include: 1] d(days) ; 2] h(hours) ; 3] min(minutes) ; 4] s(seconds) ; 5] ms(milliseconds) attribute unit { ## (days) "d" | ## (hours) "h" | ## (minutes) "min" | ## (seconds) "s" | ## (milliseconds) "ms" | xsd:Name }?, ## specifies a time interval either as a positive integral value or using one of a set of predefined codes. attribute interval { data.interval }?, empty } join = ## identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it. [16.7. ] element ns2:join { ((model.descLike | model.certLike)*) >> sch:pattern [ id = "tei_all-join-joinTargets3-constraint-10" "\x{a}" ~ " " sch:rule [ context = "tei:join" "\x{a}" ~ " " sch:assert [ test = "contains(@target,' ')" "\x{a}" ~ "You must supply at least two values for @target on " sch:name [ ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.pointing.attributes, att.typed.attributes, ## specifies the name of an element which this aggregation may be understood to represent. attribute result { data.name }?, ## indicates whether the targets to be joined include the entire element indicated (the entire subtree including its root), or just the children of the target (the branches of the subtree). [ a:defaultValue = "root" ] attribute scope { ## the rooted subtrees indicated by the targets attribute are joined, each subtree become a child of the virtual element created by the join "root" | ## the children of the subtrees indicated by the targets attribute become the children of the virtual element (i.e. the roots of the subtrees are discarded) "branches" }?, empty } joinGrp = ## (join group) groups a collection of join elements and possibly pointers. [16.7. ] element ns2:joinGrp { (model.glossLike*, (join | ptr)+), att.global.attributes, att.pointing.group.attributes, ## supplies the default value for the result on each join included within the group. attribute result { data.name }?, empty } alt = ## (alternation) identifies an alternation or a set of choices among elements or passages. [16.8. ] element ns2:alt { empty, att.global.attributes, att.pointing.attribute.targetLang, att.pointing.attribute.evaluate, att.typed.attributes, ## specifies the destination of the reference by supplying one or more URI References attribute target { list { data.pointer, data.pointer, data.pointer* } }?, ## states whether the alternations gathered in this collection are exclusive or inclusive. attribute mode { ## (exclusive) indicates that the alternation is exclusive, i.e. that at most one of the alternatives occurs. "excl" | ## (inclusive) indicates that the alternation is not exclusive, i.e. that one or more of the alternatives occur. "incl" }?, ## If mode is , each weight states the probability that the corresponding alternative occurs. If mode is incl each weight states the probability that the corresponding alternative occurs given that at least one of the other alternatives occurs. attribute weights { list { data.probability, data.probability, data.probability* } }?, empty } altGrp = ## (alternation group) groups a collection of alt elements and possibly pointers. [16.8. ] element ns2:altGrp { (alt | ptr)*, att.global.attributes, att.pointing.group.attributes, ## states whether the alternations gathered in this collection are exclusive or inclusive. [ a:defaultValue = "excl" ] attribute mode { ## (exclusive) indicates that the alternation is exclusive, i.e. that at most one of the alternatives occurs. "excl" | ## (inclusive) indicates that the alternation is not exclusive, i.e. that one or more of the alternatives occur. "incl" }?, 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 }? msDesc = ## (manuscript description) contains a description of a single identifiable manuscript or other text-bearing object. [10.1. ] element ns2: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 ns2:catchwords { macro.phraseSeq, att.global.attributes, empty } dimensions = ## contains a dimensional specification. [10.3.4. ] element ns2:dimensions { ((dim | model.dimLike)*) >> sch:pattern [ id = "tei_all-dimensions-duplicateDim-constraint-11" "\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 = "tei_all-dimensions-duplicateDim-constraint-12" "\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 = "tei_all-dimensions-duplicateDim-constraint-13" "\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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2:locus { macro.xtext, att.global.attributes, att.pointing.attributes, ## identifies the foliation scheme in terms of which the location is being specified by pointing to some foliation element defining it, or to some other equivalent resource. attribute scheme { data.pointer }?, ## specifies the starting point of the location in a normalized form, typically a page number. attribute from { data.word }?, ## specifies the end-point of the location in a normalized form, typically as a page number. 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 ns2:locusGrp { locus+, att.global.attributes, ## identifies the foliation scheme in terms of which all the locations contained by the group are specified by pointing to some foliation element defining it, or to some other equivalent resource. 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 ns2:material { macro.phraseSeq, att.global.attributes, att.canonical.attributes, empty } objectType = ## contains a word or phrase describing the type of object being referred to. [10.3.2. ] element ns2: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 ns2: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 ns2: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 ns2:secFol { macro.phraseSeq, att.global.attributes, empty } signatures = ## contains discussion of the leaf or quire signatures found within a codex. [10.3.7. ] element ns2:signatures { macro.phraseSeq, att.global.attributes, empty } stamp = ## contains a word or phrase describing a stamp or similar device. [10.3.3. ] element ns2: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 ns2:watermark { macro.phraseSeq, att.global.attributes, empty } msIdentifier = ## (manuscript identifier) contains the information required to identify the manuscript being described. [10.4. ] element ns2:msIdentifier { ((model.placeNamePart_sequenceOptional, institution?, repository?, collection*, idno?), (msName | altIdentifier)*) >> sch:pattern [ id = "tei_all-msIdentifier-msId_minimal-constraint-14" "\x{a}" ~ " " sch:rule [ context = "tei:msIdentifier" "\x{a}" ~ " " sch:report [ test = "not(parent::tei:msPart) and (local-name(*[1])='idno' or local-name(*[1])='altIdentifier' or normalize-space(.)='')" "An msIdentifier must contain either a repository or location of some type, or a manuscript name" ] "\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 ns2: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 ns2: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 ns2: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 ns2:altIdentifier { (country?, region?, settlement?, institution?, repository?, collection?, idno, note?), 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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 incipits were, in former times, frequently used a means of reference to a work, in place of a title. [10.6.1. ] element ns2: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 ns2:msContents { (model.pLike+ | (summary?, textLang?, titlePage?, (msItem | msItemStruct)*)), att.global.attributes, att.msExcerpt.attributes, ## identifies the text types or classifications applicable to this object by pointing to other elements or resources defining the classification concerned. 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 ns2: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 by pointing to other elements or resources defining the classification concerned. 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 ns2:msItemStruct { ((locus | locusGrp)?, (model.pLike+ | (author*, respStmt*, title*, rubric?, incipit?, msItemStruct*, explicit?, finalRubric?, colophon*, decoNote*, listBibl*, (bibl | biblStruct)*, model.noteLike*, textLang?))), att.global.attributes, att.msExcerpt.attributes, ## identifies the text types or classifications applicable to this item by pointing to other elements or resources defining the classification concerned. 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 ns2: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. [10.6. ] element ns2:summary { macro.phraseSeq, att.global.attributes, empty } 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 ns2: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 ns2: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 ns2: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 ns2:support { macro.specialPara, att.global.attributes, empty } collation = ## contains a description of how the leaves or bifolia are physically arranged. [10.7.1. ] element ns2: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 ns2:foliation { macro.specialPara, att.global.attributes, empty } condition = ## contains a description of the physical condition of the manuscript. [10.7.1.5. ] element ns2:condition { macro.specialPara, att.global.attributes, empty } layoutDesc = ## (layout description) collects the set of layout descriptions applicable to a manuscript. [10.7.2. ] element ns2: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 ns2: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 ns2: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 ns2: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 ns2:scriptDesc { (model.pLike+ | (summary?, scriptNote+)), att.global.attributes, empty } musicNotation = ## contains description of type of musical notation. [10.7.2. ] element ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2:additional { (adminInfo?, surrogates?, listBibl?), 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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2:msPart { ((altIdentifier | msIdentifier), model.headLike*, (model.pLike+ | (msContents?, physDesc?, history?, additional?, msPart*))), 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+ 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 }? orgName = ## (organization name) contains an organizational name. [13.2.2. ] element ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2:roleName { macro.phraseSeq, att.global.attributes, att.personal.attributes, att.typed.attributes, empty } placeName = ## contains an absolute or relative place name. [13.2.3. ] element ns2:placeName { macro.phraseSeq, att.datable.attributes, att.editLike.attributes, att.global.attributes, att.personal.attributes, att.typed.attributes, empty } bloc = ## (bloc) contains the name of a geo-political unit consisting of two or more nation states or countries. [13.2.3. ] element ns2:bloc { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attributes, att.datable.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 ns2:country { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attributes, att.datable.attributes, empty } region = ## contains the name of an administrative unit such as a state, province, or county, larger than a settlement, but smaller than a country. [13.2.3. ] element ns2:region { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attributes, att.datable.attributes, empty } district = ## contains the name of any kind of subdivision of a settlement, such as a parish, ward, or other administrative or geographic unit. [13.2.3. ] element ns2:district { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attributes, att.datable.attributes, empty } settlement = ## contains the name of a settlement such as a city, town, or village identified as a single geo-political or administrative unit. [13.2.3. ] element ns2:settlement { macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attributes, att.datable.attributes, empty } 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 ns2:offset { macro.xtext, att.global.attributes, att.typed.attributes, empty } geogName = ## (geographical name) identifies a name associated with some geographical feature such as Windrush Valley or Mount Sinai. [13.2.3. ] element ns2:geogName { macro.phraseSeq, att.datable.attributes, att.editLike.attributes, att.global.attributes, att.naming.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 ns2:geogFeat { macro.phraseSeq, 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 ns2:affiliation { macro.phraseSeq, att.global.attributes, att.editLike.attributes, att.datable.attributes, att.naming.attributes, empty } age = ## (age) specifies the age of a person. [13.3.2.1. ] element ns2: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 ns2: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. [13.3.4.3. ] element ns2: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 ns2: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 ns2: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. [13.3.1. ] element ns2:event { (model.headLike*, (model.pLike+ | model.labelLike+), (model.noteLike | model.biblLike | linkGrp | link)*, 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. [13.3.2.1. ] element ns2: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. [13.3.2.1. ] element ns2: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 ns2:geo { text, att.global.attributes, att.declaring.attributes, empty } langKnowledge = ## (language knowledge) summarizes the state of a person's linguistic knowledge, either as prose or by a list of langKnown elements. [13.3.2.1. ] element ns2: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 ns2: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 ns2: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. [13.3.1. ] element ns2: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 ns2: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. [2.2.7. 13.3.4. ] element ns2: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. [13.3.4. ] element ns2: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 ns2: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 ns2:occupation { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, ## indicates the classification system or taxonomy in use, for example by supplying the identifier of a taxonomy element, or pointing to some other resource. 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 ns2:org { (model.headLike*, (model.pLike* | (model.labelLike | model.nameLike | model.placeLike | model.orgPart)*), (model.noteLike | model.biblLike | linkGrp | link)*, 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. [13.3.2.3. ] element ns2: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. [13.3.2.3. ] element ns2: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. [13.3.2. 15.2.2. ] element ns2: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 { list { 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 ns2: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 { list { data.sex+ } }?, ## specifies the age group of the participants. attribute age { data.enumerated }?, ## describes informally the size or approximate size of the group for example by means of a number and an indication of accuracy e.g. approx 200. attribute size { list { data.word+ } }?, empty } place = ## contains data about a geographic location [13.3.4. ] element ns2:place { (model.headLike*, (model.pLike* | (model.labelLike | model.placeStateLike | model.placeEventLike)*), (model.noteLike | model.biblLike | idno | linkGrp | link)*, (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. [13.3.4.3. ] element ns2: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 places, events, persons, objects or other items. [13.3.2.3. ] element ns2:relation { (desc?) >> sch:pattern [ id = "tei_all-relation-reforkeyorname-constraint-11" "\x{a}" ~ " " sch:rule [ context = "tei:relation" "\x{a}" ~ " " sch:assert [ test = "@ref or @key or @name" "One of the attributes 'name', 'ref' or 'key' must be supplied" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "tei_all-relation-activemutual-constraint-15" "\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 = "tei_all-relation-activepassive-constraint-16" "\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}" ~ " " ], 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 ns2:residence { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, empty } sex = ## specifies the sex of a person. [13.3.2.1. ] element ns2:sex { macro.phraseSeq, att.global.attributes, att.editLike.attributes, att.datable.attributes, ## supplies a coded value for sex attribute value { list { data.sex+ } }?, empty } socecStatus = ## (socio-economic status) contains an informal description of a person's perceived social or economic status. [15.2.2. ] element ns2:socecStatus { macro.phraseSeq, att.global.attributes, att.datable.attributes, att.editLike.attributes, att.naming.attributes, ## identifies the classification system or taxonomy in use, for example by pointing to a locally-defined taxonomy element or by supplying a URI for an externally-defined system. 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 } state = ## contains a description of some status or quality attributed to a person, place, or organization often at some specific time or for a specific date range. [13.3.1. 13.3.2.1. 13.3.2.1. ] element ns2:state { (state+ | (model.headLike*, model.pLike+, (model.noteLike | model.biblLike)*) | (model.labelLike | model.noteLike | model.biblLike)*), att.global.attributes, att.datable.attributes, att.editLike.attributes, att.typed.attributes, att.naming.attributes, empty } terrain = ## contains information about the physical terrain of a place. [13.3.4.3. ] element ns2: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. [13.3.1. 13.3.2.1. 13.3.2.1. ] element ns2: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 ns2: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 ns2:listNym { (model.headLike*, (nym | listNym)+, (listRelation | relationGrp | relation)*), att.global.attributes, att.typed.attributes, att.declarable.attributes, att.sortable.attributes, empty } graph = ## encodes a graph, which is a collection of nodes, and arcs which connect the nodes. [19.1. ] element ns2:graph { ((label, model.global*)?, (((node, model.global*)+, (arc, model.global*)*) | ((arc, model.global*)+, (node, model.global*)+))), att.global.attributes, ## describes the type of graph. ## Suggested values include: 1] undirected; 2] directed; 3] transitionNetwork; 4] transducer attribute type { ## undirected graph "undirected" | ## directed graph "directed" | ## a directed graph with distinguished initial and final nodes "transitionNetwork" | ## a transition network with up to two labels on each arc "transducer" | xsd:Name }?, ## states the order of the graph, i.e., the number of its nodes. attribute order { data.count }?, ## states the size of the graph, i.e., the number of its arcs. attribute size { data.count }?, empty } node = ## encodes a node, a possibly labeled point in a graph. [19.1. ] element ns2:node { (label, label?)?, att.global.attributes, ## provides the value of a node, which is a feature structure or other analytic element. attribute value { data.pointer }?, ## provides a type for a node. ## Suggested values include: 1] initial; 2] final attribute type { ## initial node in a transition network "initial" | ## final node in a transition network "final" | xsd:Name }?, ## (adjacent to) gives the identifiers of the nodes which are adjacent to the current node. attribute adjTo { list { data.pointer+ } }?, ## (adjacent from) gives the identifiers of the nodes which are adjacent from the current node. attribute adjFrom { list { data.pointer+ } }?, ## (adjacent) gives the identifiers of the nodes which are both adjacent to and adjacent from the current node. attribute adj { list { data.pointer+ } }?, ## gives the in degree of the node, the number of nodes which are adjacent from the given node. attribute inDegree { data.count }?, ## gives the out degree of the node, the number of nodes which are adjacent to the given node. attribute outDegree { data.count }?, ## gives the degree of the node, the number of arcs with which the node is incident. attribute degree { data.count }?, empty } arc = ## encodes an arc, the connection from one node to another in a graph. [19.1. ] element ns2:arc { (label, label?)?, att.global.attributes, ## gives the identifier of the node which is adjacent from this arc. attribute from { data.pointer }, ## gives the identifier of the node which is adjacent to this arc. attribute to { data.pointer }, empty } tree = ## encodes a tree, which is made up of a root, internal nodes, leaves, and arcs from root to leaves. [19.2. ] element ns2:tree { (label?, ((leaf | iNode)*, root, (leaf | iNode)*)), att.global.attributes, ## gives the maximum number of children of the root and internal nodes of the tree. attribute arity { data.count }?, ## (ordered) indicates whether or not the tree is ordered, or if it is partially ordered. [ a:defaultValue = "true" ] attribute ord { ## indicates that all of the branching nodes of the tree are ordered. "true" | ## indicates that some of the branching nodes of the tree are ordered and some are unordered. "partial" | ## indicates that all of the branching nodes of the tree are unordered. "false" }, ## gives the order of the tree, i.e., the number of its nodes. attribute order { data.count }?, empty } root = ## (root node) represents the root node of a tree. [19.2. ] element ns2:root { label?, att.global.attributes, ## identifies the root node of the network by pointing to a feature structure or other analytic element. attribute value { data.pointer }?, ## identifies the elements which are the children of the root node. attribute children { list { data.pointer+ } }, ## (ordered) indicates whether or not the root is ordered. attribute ord { data.xTruthValue }?, ## gives the out degree of the root, the number of its children. attribute outDegree { data.count }?, empty } iNode = ## (intermediate (or internal) node) represents an intermediate (or internal) node of a tree. [19.2. ] element ns2:iNode { label?, att.global.attributes, ## indicates an intermediate node, which is a feature structure or other analytic element. attribute value { data.pointer }?, ## provides a list of identifiers of the elements which are the children of the intermediate node. attribute children { list { data.pointer+ } }, ## provides the identifier of the element which is the parent of this node. attribute parent { data.pointer }?, ## (ordered) indicates whether or not the internal node is ordered. attribute ord { data.xTruthValue }?, ## provides the identifier of an element which this node follows. attribute follow { data.pointer }?, ## gives the out degree of an intermediate node, the number of its children. attribute outDegree { data.count }?, empty } leaf = ## encodes the leaves (terminal nodes) of a tree. [19.2. ] element ns2:leaf { label?, att.global.attributes, ## provides a pointer to a feature structure or other analytic element. attribute value { data.pointer }?, ## provides the identifier of parent of a leaf. attribute parent { data.pointer }?, ## provides an identifier of an element which this leaf follows. attribute follow { data.pointer }?, empty } eTree = ## (embedding tree) provides an alternative to tree element for representing ordered rooted tree structures. [19.3. ] element ns2:eTree { (label?, (eTree | triangle | eLeaf | model.ptrLike)*), att.global.attributes, att.typed.attributes, ## provides the value of an embedding tree, which is a feature structure or other analytic element. attribute value { data.pointer }?, empty } triangle = ## (underspecified embedding tree, so called because of its ## characteristic shape when drawn) provides for an underspecified eTree, that is, an eTree with information left out. [19.3. ] element ns2:triangle { (label?, (eTree | triangle | eLeaf)*), att.global.attributes, ## supplies a value for the triangle, in the form of the identifier of a feature structure or other analytic element. attribute value { data.pointer }?, empty } eLeaf = ## (leaf or terminal node of an embedding tree) provides explicitly for a leaf of an embedding tree, which may also be encoded with the eTree element. [19.3. ] element ns2:eLeaf { (label?, model.ptrLike?), att.global.attributes, att.typed.attributes, ## indicates the value of an embedding leaf, which is a feature structure or other analytic element. attribute value { data.pointer }?, empty } forest = ## provides for groups of rooted trees. [19.3. ] element ns2:forest { (tree | eTree | triangle)+, att.global.attributes, att.typed.attributes, empty } listForest = ## provides for lists of forests. [19.3. ] element ns2:listForest { forest+, att.global.attributes, ## identifies the type of the forest group. attribute type { data.enumerated }?, empty } att.duration.attributes = att.duration.w3c.attributes, att.duration.iso.attributes model.global.spoken = pause | vocal | kinesic | incident | writing | shift model.recordingPart = model.dateLike | media | respStmt | equipment | broadcast model.divPart.spoken = u model.divPart.spoken_alternation = u model.divPart.spoken_sequence = u model.divPart.spoken_sequenceOptional = u? model.divPart.spoken_sequenceOptionalRepeatable = u* model.divPart.spoken_sequenceRepeatable = u+ scriptStmt = ## (script statement) contains a citation giving details of the script used for a spoken text. [8.2. 2.2.7. 15.3.2. ] element ns2:scriptStmt { (model.pLike+ | model.biblLike), att.global.attributes, att.declarable.attributes, empty } recordingStmt = ## (recording statement) describes a set of recordings used as the basis for transcription of a spoken text. [8.2. 2.2.7. ] element ns2:recordingStmt { (model.pLike+ | recording+), att.global.attributes, empty } recording = ## (recording event) provides details of an audio or video recording event used as the source of a spoken text, either directly or from a public broadcast. [8.2. 15.3.2. ] element ns2:recording { (model.recordingPart | model.pLike)*, att.global.attributes, att.declarable.attributes, att.duration.attributes, ## the kind of recording. [ a:defaultValue = "audio" ] attribute type { ## audio recording "audio" | ## audio and video recording "video" }?, empty } equipment = ## provides technical details of the equipment and media used for an audio or video recording used as the source for a spoken text. [8.2. 15.3.2. ] element ns2:equipment { model.pLike+, att.global.attributes, att.declarable.attributes, empty } broadcast = ## describes a broadcast used as the source of a spoken text. [8.2. 15.3.2. ] element ns2:broadcast { (model.pLike+ | model.biblLike | recording), att.global.attributes, att.declarable.attributes, empty } u = ## (utterance) contains a stretch of speech usually preceded and followed by silence or by a change of speaker. [8.3.1. ] element ns2:u { (text | model.gLike | model.phrase | model.global)*, att.global.attributes, att.timed.attributes, att.declaring.attributes, att.ascribed.attributes, ## (transition) indicates the nature of the transition between this utterance and the previous one. [ a:defaultValue = "smooth" ] attribute trans { ## this utterance begins without unusual pause or rapidity. "smooth" | ## this utterance begins with a markedly shorter pause than normal. "latching" | ## this utterance begins before the previous one has finished. "overlap" | ## this utterance begins after a noticeable pause. "pause" }?, empty } pause = ## marks a pause either between or within utterances. [8.3.2. ] element ns2:pause { empty, att.global.attributes, att.timed.attributes, att.typed.attributes, att.ascribed.attributes, empty } vocal = ## marks any vocalized but not necessarily lexical phenomenon, for example voiced pauses, non-lexical backchannels, etc. [8.3.3. ] element ns2:vocal { model.descLike*, att.global.attributes, att.timed.attributes, att.ascribed.attributes, att.typed.attributes, ## indicates whether or not the phenomenon is repeated. [ a:defaultValue = "false" ] attribute iterated { data.xTruthValue }?, empty } kinesic = ## marks any communicative phenomenon, not necessarily vocalized, for example a gesture, frown, etc. [8.3.3. ] element ns2:kinesic { model.descLike*, att.global.attributes, att.timed.attributes, att.typed.attributes, att.ascribed.attributes, ## indicates whether or not the phenomenon is repeated. [ a:defaultValue = "false" ] attribute iterated { data.xTruthValue }?, empty } incident = ## marks any phenomenon or occurrence, not necessarily vocalized or communicative, for example incidental noises or other events affecting communication. [8.3.3. ] element ns2:incident { model.descLike*, att.global.attributes, att.timed.attributes, att.typed.attributes, att.ascribed.attributes, empty } writing = ## contains a passage of written text revealed to participants in the course of a spoken text. [8.3.4. ] element ns2:writing { macro.paraContent, att.global.attributes, att.ascribed.attributes, att.typed.attributes, att.timed.attributes, att.source.attributes, ## indicates whether the writing is revealed all at once or gradually. attribute gradual { data.xTruthValue }?, empty } shift = ## marks the point at which some paralinguistic feature of a series of utterances by any one speaker changes. [8.3.6. ] element ns2:shift { empty, att.global.attributes, att.ascribed.attributes, ## a paralinguistic feature. attribute feature { ## speed of utterance. "tempo" | ## loudness. "loud" | ## pitch range. "pitch" | ## tension or stress pattern. "tension" | ## rhythmic qualities. "rhythm" | ## voice quality. "voice" }?, ## specifies the new state of the paralinguistic feature specified. [ a:defaultValue = "normal" ] attribute new { data.enumerated }?, empty } model.rdgLike = rdg model.rdgPart = wit | witStart | witEnd | lacunaStart | lacunaEnd att.rdgPart.attributes = att.rdgPart.attribute.wit att.rdgPart.attribute.wit = ## (witness or witnesses) contains a space-delimited list of one or more sigla indicating the witnesses to this reading beginning or ending at this point. attribute wit { list { data.pointer+ } }? att.witnessed.attributes = att.witnessed.attribute.wit att.witnessed.attribute.wit = ## (witness or witnesses) contains a space-delimited 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. attribute varSeq { data.count }? att.textCritical.attribute.hand = ## indicates the hand responsible for a particular reading in the witness. attribute hand { data.pointer }? app = ## (apparatus entry) contains one entry in a critical apparatus, with an optional lemma and usually one or more readings or notes on the relevant passage. [12.1.1. ] element ns2:app { (model.global*, (lem, model.global*, (wit, model.global*)?)?, ((model.rdgLike, model.global*, (wit, model.global*)?) | (rdgGrp, model.global*, (wit, model.global*)?))*), 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. attribute from { data.pointer }?, ## identifies the endpoint of the lemma in the base text. 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 ns2: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 ns2: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 ns2: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 ns2:rdgGrp { (((rdgGrp, wit?) | ((lem, wit?)?, (model.rdgLike, wit?))*)+) >> sch:pattern [ id = "tei_all-rdgGrp-only1lem-constraint-12" "\x{a}" ~ " " sch:rule [ context = "tei:rdgGrp" "\x{a}" ~ " " sch:assert [ test = "count(tei:lem) < 2" "Only one element may appear within a " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], 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 ns2:witDetail { macro.phraseSeq, att.global.attributes, att.placement.attributes, att.responsibility.attributes, att.pointing.attributes, ## (witnesses) indicates the sigil or sigla identifying the witness or 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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2:lacunaEnd { empty, att.global.attributes, att.rdgPart.attributes, empty } variantEncoding = ## declares the method used to encode text-critical variants. [12.1.1. ] element ns2: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" } >> sch:pattern [ id = "tei_all-variantEncoding-location-variantEncodingLocation-constraint-8" "\x{a}" ~ " " sch:rule [ context = "tei:variantEncoding" "\x{a}" ~ " " sch:assert [ test = "(@location != 'external') or (@method != 'parallel-segmentation')" "\x{a}" ~ ' The @location value "external" is inconsistent with the\x{a}' ~ " parallel-segmentation method of apparatus markup." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], 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 ns2:TEI { (teiHeader, ((model.resourceLike+, \text?) | \text)) >> sch:ns [ prefix = "tei" uri = "http://www.tei-c.org/ns/1.0" ] >> sch:ns [ prefix = "xs" uri = "http://www.w3.org/2001/XMLSchema" ] >> 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 ns2:text { (model.global*, (front, model.global*)?, (body | group), model.global*, (back, model.global*)?), att.global.attributes, att.declaring.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 ns2: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, att.declaring.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 ns2:group { ((model.divTop | model.global)*, ((\text | group), (\text | group | model.global)*), model.divBottom*), att.global.attributes, att.declaring.attributes, att.typed.attributes, empty } floatingText = ## contains a single text of any kind, whether unitary or composite, which interrupts the text containing it at any point and after which the surrounding text resumes. [4.3.2. ] element ns2:floatingText { (model.global*, (front, model.global*)?, (body | group), model.global*, (back, model.global*)?), att.global.attributes, att.declaring.attributes, att.typed.attributes, empty } \div = ## (text division) contains a subdivision of the front, body, or back of a text. [4.1. ] element ns2: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, att.declaring.attributes, empty } div1 = ## (level-1 text division) contains a first-level subdivision of the front, body, or back of a text. [4.1.2. ] element ns2:div1 { ((model.divTop | model.global)*, ((((model.div2Like | model.divGenLike), model.global*)+ | ((model.common, model.global*)+, ((model.div2Like | model.divGenLike), model.global*)*)), (model.divBottom, model.global*)*)?), att.global.attributes, att.divLike.attributes, att.typed.attributes, att.declaring.attributes, empty } div2 = ## (level-2 text division) contains a second-level subdivision of the front, body, or back of a text. [4.1.2. ] element ns2:div2 { ((model.divTop | model.global)*, ((((model.div3Like | model.divGenLike), model.global*)+ | ((model.common, model.global*)+, ((model.div3Like | model.divGenLike), model.global*)*)), (model.divBottom, model.global*)*)?), att.global.attributes, att.divLike.attributes, att.typed.attributes, att.declaring.attributes, empty } div3 = ## (level-3 text division) contains a third-level subdivision of the front, body, or back of a text. [4.1.2. ] element ns2:div3 { ((model.divTop | model.global)*, ((((model.div4Like | model.divGenLike), model.global*)+ | ((model.common, model.global*)+, ((model.div4Like | model.divGenLike), model.global*)*)), (model.divBottom, model.global*)*)?), att.global.attributes, att.divLike.attributes, att.typed.attributes, att.declaring.attributes, empty } div4 = ## (level-4 text division) contains a fourth-level subdivision of the front, body, or back of a text. [4.1.2. ] element ns2:div4 { ((model.divTop | model.global)*, ((((model.div5Like | model.divGenLike), model.global*)+ | ((model.common, model.global*)+, ((model.div5Like | model.divGenLike), model.global*)*)), (model.divBottom, model.global*)*)?), att.global.attributes, att.divLike.attributes, att.typed.attributes, att.declaring.attributes, empty } div5 = ## (level-5 text division) contains a fifth-level subdivision of the front, body, or back of a text. [4.1.2. ] element ns2:div5 { ((model.divTop | model.global)*, ((((model.div6Like | model.divGenLike), model.global*)+ | ((model.common, model.global*)+, ((model.div6Like | model.divGenLike), model.global*)*)), (model.divBottom, model.global*)*)?), att.global.attributes, att.divLike.attributes, att.typed.attributes, att.declaring.attributes, empty } div6 = ## (level-6 text division) contains a sixth-level subdivision of the front, body, or back of a text. [4.1.2. ] element ns2:div6 { ((model.divTop | model.global)*, ((((model.div7Like | model.divGenLike), model.global*)+ | ((model.common, model.global*)+, ((model.div7Like | model.divGenLike), model.global*)*)), (model.divBottom, model.global*)*)?), att.global.attributes, att.divLike.attributes, att.typed.attributes, att.declaring.attributes, empty } div7 = ## (level-7 text division) contains the smallest possible subdivision of the front, body or back of a text, larger than a paragraph. [4.1.2. ] element ns2:div7 { ((model.divTop | model.global)*, ((model.common, model.global*)+, (model.divBottom, model.global*)*)?), att.global.attributes, att.divLike.attributes, att.typed.attributes, att.declaring.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 ns2:trailer { (text | lg | model.gLike | model.phrase | model.inter | model.lLike | model.global)*, 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 ns2: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 ns2:dateline { (text | model.gLike | model.phrase | model.global | docDate)*, att.global.attributes, empty } argument = ## contains a formal list or prose description of the topics addressed by a subdivision of a text. [4.2. 4.6. ] element ns2:argument { ((model.global | model.headLike)*, (model.common, model.global*)+), 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 ns2: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 ns2:opener { (text | model.gLike | model.phrase | argument | 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 ns2: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 ns2:salute { macro.paraContent, 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 ns2:signed { macro.paraContent, att.global.attributes, empty } postscript = ## contains a postscript, e.g. to a letter. [4.2. ] element ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 ns2: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 on a title page or in a dateline. [4.6. ] element ns2: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 ns2:front { ((model.frontPart | model.pLike | model.pLike.front | model.global)*, (((model.div1Like, (model.div1Like | model.frontPart | model.global)*) | (model.divLike, (model.divLike | model.frontPart | model.global)*)), (model.divBottom, (model.divBottom | model.global)*)?)?), att.global.attributes, att.declaring.attributes, empty } back = ## (back matter) contains any appendixes, etc. following the main part of a text. [4.7. 4. ] element ns2:back { ((model.frontPart | model.pLike.front | model.pLike | model.listLike | 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, att.declaring.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+ } }? 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 }? facsimile = ## contains a representation of some written source in the form of a set of images rather than as transcribed or encoded text. [11.1. ] element ns2:facsimile { (front?, (model.graphicLike | surface | surfaceGrp)+, back?), att.global.attributes, att.declaring.attributes, empty } 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. [11.1. 11.2.2. ] element ns2:sourceDoc { (model.global | model.graphicLike | surface | surfaceGrp)+, att.global.attributes, att.declaring.attributes, empty } surface = ## defines a written surface as a two-dimensional coordinate space, optionally grouping one or more graphic representations of that space, zones of interest within that space, and transcriptions of the writing within them. [11.1. 11.2.2. ] element ns2:surface { ((model.global | model.labelLike | model.graphicLike)*, ((zone | line | surface | surfaceGrp), model.global*)*), att.global.attributes, att.coordinated.attributes, att.declaring.attributes, att.typed.attributes, ## describes the method by which this surface is or was connected to the main surface ## Sample values include: 1] glued; 2] pinned; 3] sewn attribute attachment { data.enumerated }?, ## indicates whether the surface is attached and folded in such a way as to provide two writing surfaces attribute flipping { data.truthValue }?, empty } 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. [11.1. ] element ns2:surfaceGrp { (model.global | surface | surfaceGrp)+, att.global.attributes, att.coordinated.attributes, att.declaring.attributes, att.typed.attributes, empty } zone = ## defines any two-dimensional area within a surface element. [11.1. 11.2.2. ] element ns2:zone { (text | model.graphicLike | model.global | surface | model.linePart)*, att.global.attributes, att.coordinated.attributes, att.typed.attributes, ## identifies a two dimensional area within the bounding box specified by the other attributes by means of a series of pairs of numbers, each of which gives the x,y coordinates of a point on a line enclosing the area. attribute points { list { data.point, data.point, data.point, data.point* } }?, ## indicates the amount by which this zone has been rotated clockwise, with respect to the normal orientation of the parent surface element as implied by the dimensions given in the msDesc element or by the coordinates of the surface itself. The orientation is expressed in arc degrees. [ a:defaultValue = "0" ] attribute rotate { data.count }?, empty } 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 ns2:addSpan { empty >> sch:pattern [ id = "tei_all-addSpan-spanTo-constraint-14" "\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 = "tei_all-addSpan-spanTo_fr-constraint-15" "\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 } damage = ## contains an area of damage to the text witness. [11.3.3.1. ] element ns2:damage { macro.paraContent, att.global.attributes, att.typed.attributes, att.damaged.attributes, empty } damageSpan = ## (damaged span of text) marks the beginning of a longer sequence of text which is damaged in some way but still legible. [11.3.3.1. ] element ns2:damageSpan { empty >> sch:pattern [ id = "tei_all-damageSpan-spanTo-constraint-16" "\x{a}" ~ " " sch:rule [ context = "tei:damageSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "\x{a}" ~ "The @spanTo attribute of " sch:name [ ] " is required." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "tei_all-damageSpan-spanTo_fr-constraint-17" "\x{a}" ~ " " sch:rule [ context = "tei:damageSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "L'attribut spanTo est requis." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.damaged.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 ns2:delSpan { empty >> sch:pattern [ id = "tei_all-delSpan-spanTo-constraint-18" "\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 = "tei_all-delSpan-spanTo_fr-constraint-19" "\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 } ex = ## (editorial expansion) contains a sequence of letters added by an editor or transcriber when expanding an abbreviation. [11.3.1.2. ] element ns2:ex { macro.xtext, att.global.attributes, att.editLike.attributes, empty } fw = ## (forme work) contains a running head (e.g. a header, footer), catchword, or similar material appearing on the current page. [11.6. ] element ns2:fw { macro.phraseSeq, att.global.attributes, att.placement.attributes, ## classifies the material encoded according to some useful typology. ## Sample values include: 1] header; 2] footer; 3] pageNum(page number) ; 4] lineNum(line number) ; 5] sig(signature) ; 6] catch(catchword) attribute type { data.enumerated }?, empty } handNotes = ## contains one or more handNote elements documenting the different hands identified within the source texts. [11.3.2.1. ] element ns2:handNotes { handNote+, att.global.attributes, empty } handShift = ## marks the beginning of a sequence of text written in a new hand, or the beginning of a scribal stint. [11.3.2.1. ] element ns2:handShift { empty, att.global.attributes, att.handFeatures.attributes, att.responsibility.attributes, ## indicates a handNote element describing the hand concerned. attribute new { data.pointer }?, empty } am = ## (abbreviation marker) contains a sequence of letters or signs present in an abbreviation which are omitted or replaced in the expanded form of the abbreviation. [11.3.1.2. ] element ns2:am { (text | model.gLike | model.pPart.transcriptional)*, att.global.attributes, att.typed.attributes, att.editLike.attributes, empty } restore = ## indicates restoration of text to an earlier state by cancellation of an editorial or authorial marking or instruction. [11.3.1.6. ] element ns2:restore { macro.paraContent, att.global.attributes, att.transcriptional.attributes, att.typed.attributes, empty } space = ## indicates the location of a significant space in the copy text. [11.5.1. ] element ns2:space { (model.descLike | model.certLike)*, att.global.attributes, att.dimensions.attributes, att.responsibility.attribute.cert, att.source.attribute.source, ## (responsible party) (responsible party) indicates the individual responsible for identifying and measuring the space attribute resp { list { data.pointer+ } }?, ## (dimension) indicates whether the space is horizontal or vertical. attribute dim { ## the space is horizontal. "horizontal" | ## the space is vertical. "vertical" }?, empty } subst = ## (substitution) groups one or more deletions with one or more additions when the combination is to be regarded as a single intervention in the text. [11.3.1.5. ] element ns2:subst { ((add | del | model.milestoneLike)+) >> sch:pattern [ id = "tei_all-subst-substContents1-constraint-20" "\x{a}" ~ " " sch:rule [ context = "tei:subst" "\x{a}" ~ " " sch:assert [ test = "child::tei:add and child::tei:del" "\x{a}" ~ " " sch:name [ ] " must have at least one child add and at least one child del" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.transcriptional.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 [11.3.1.5. ] element ns2:substJoin { (model.descLike | model.certLike)*, att.global.attributes, att.pointing.attributes, att.transcriptional.attributes, empty } supplied = ## signifies text supplied by the transcriber or editor for any reason, typically because the original cannot be read because of physical damage or loss to the original. [11.3.3.1. ] element ns2:supplied { macro.paraContent, att.global.attributes, att.editLike.attributes, ## one or more words indicating why the text has had to be supplied, e.g. overbinding, faded-ink, lost-folio, omitted-in-original. attribute reason { list { data.word+ } }?, empty } surplus = ## marks text present in the source which the editor believes to be superfluous or redundant. [11.3.3.1. ] element ns2:surplus { macro.paraContent, att.global.attributes, att.editLike.attributes, ## one or more words indicating why this text is believed to be superfluous, e.g. repeated, interpolated etc. attribute reason { list { data.word+ } }?, empty } line = ## contains the transcription of a topographic line in the source document [11.2.2. ] element ns2:line { (text | model.global | model.gLike | 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. [11.3.4.5. ] element ns2: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. [11.3.4.2. ] element ns2: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. [11.3.4.1. ] element ns2: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. [11.3.4.4. ] element ns2: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. [11.3.4.3. ] element ns2: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. [11.3.4.5. ] element ns2:transpose { (ptr, ptr+), att.global.attributes, empty } undo = ## indicates one or more marked-up interventions in a document which have subsequently been marked for cancellation. [11.3.4.4. ] element ns2: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 } 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 }? metDecl = ## (metrical notation declaration) documents the notation employed to represent a metrical pattern when this is specified as the value of a met, real, or rhyme attribute on any structural element of a metrical text (e.g. lg, l, or seg). [6.5. 6.3. ] element ns2:metDecl { ((model.pLike | model.noteLike)+ | metSym+), att.global.attributes, att.declarable.attributes, ## indicates whether the notation conveys the abstract metrical form, its actual prosodic realization, or the rhyme scheme, or some combination thereof. [ a:defaultValue = "met real" ] attribute type { list { ( ## (met attribute) declaration applies to the abstract metrical form recorded on the met attribute "met" | ## (real attribute) declaration applies to the actual realization of the conventional metrical structure recorded on the real attribute "real" | ## (rhyme attribute) declaration applies to the rhyme scheme recorded on the rhyme attribute "rhyme"), ( ## (met attribute) declaration applies to the abstract metrical form recorded on the met attribute "met" | ## (real attribute) declaration applies to the actual realization of the conventional metrical structure recorded on the real attribute "real" | ## (rhyme attribute) declaration applies to the rhyme scheme recorded on the rhyme attribute "rhyme")?, ( ## (met attribute) declaration applies to the abstract metrical form recorded on the met attribute "met" | ## (real attribute) declaration applies to the actual realization of the conventional metrical structure recorded on the real attribute "real" | ## (rhyme attribute) declaration applies to the rhyme scheme recorded on the rhyme attribute "rhyme")? } }?, ## (regular expression pattern) specifies a regular expression defining any value that is legal for this notation. attribute pattern { data.pattern }?, empty } metSym = ## (metrical notation symbol) documents the intended significance of a particular character or character sequence within a metrical notation, either explicitly or in terms of other symbol elements in the same metDecl. [6.5. ] element ns2:metSym { macro.phraseSeq.limited, att.global.attributes, ## specifies the character or character sequence being documented. attribute value { list { data.word+ } }, ## specifies whether the symbol is defined in terms of other symbols (terminal is set to false) or in prose (terminal is set to true). [ a:defaultValue = "true" ] attribute terminal { data.truthValue }?, empty } caesura = ## marks the point at which a metrical line may be divided. [6.2. ] element ns2:caesura { empty, att.global.attributes, empty } rhyme = ## marks the rhyming part of a metrical line. [6.4. ] element ns2:rhyme { macro.paraContent, att.global.attributes, att.typed.attributes, ## provides a label (usually a single letter) to identify which part of a rhyme scheme this rhyming string instantiates. attribute label { data.word }?, empty } att.repeatable.attributes = att.repeatable.attribute.allowText, att.repeatable.attribute.context, att.repeatable.attribute.minOccurs, att.repeatable.attribute.maxOccurs att.repeatable.attribute.allowText = ## when true, indicates that the content of this component may include text as well as other elements attribute allowText { data.truthValue }? att.repeatable.attribute.context = ## supplies an XPath identifying a context within which this component of a content model must be found attribute context { text }? att.repeatable.attribute.minOccurs = ## (minimum number of occurences) indicates the smallest number of times this component may occur. [ a:defaultValue = "1" ] attribute minOccurs { data.count }? att.repeatable.attribute.maxOccurs = ## (maximum number of occurences) indicates the largest number of times this component may occur. [ a:defaultValue = "1" ] attribute maxOccurs { data.count | "unbounded" }? model.contentPart = classRef | elementRef | macroRef | sequence | alternate att.combinable.attributes = att.deprecated.attributes, att.combinable.attribute.mode att.combinable.attribute.mode = ## specifies the effect of this declaration on its parent object. [ a:defaultValue = "add" ] attribute mode { ## this declaration is added to the current definitions "add" | ## if present already, the whole of the declaration for this object is removed from the current setup "delete" | ## this declaration changes the declaration of the same name in the current definition "change" | ## this declaration replaces the declaration of the same name in the current definition "replace" }? att.identified.attributes = att.combinable.attributes, att.identified.attribute.ident, att.identified.attribute.predeclare, att.identified.attribute.module, att.identified.attribute.status att.identified.attribute.ident = ## supplies the identifier by which this element may be referenced. attribute ident { data.name } att.identified.attribute.predeclare = ## says whether this object should be predeclared in the tei infrastructure module. [ a:defaultValue = "false" ] attribute predeclare { data.truthValue }? att.identified.attribute.module = ## supplies a name for the module in which this object is to be declared. attribute module { data.xmlName }? att.identified.attribute.status = ## indicates the current status of the object identified with respect to the current version of the TEI Guidelines. [ a:defaultValue = "stable" ] attribute status { ## the item is not recommended for use, and may be withdrawn at a future release. "deprecated" | ## the item is new and still under review. "unstable" | ## the item has changed significantly since the preceding version. "changed" | ## the item has not recently changed and is not expected to do so except for correction of any errors. "stable" }? sch:pattern [ id = "tei_all-att.identified-spec-in-module-constraint-9" "\x{a}" ~ " " sch:rule [ context = "tei:elementSpec[@module]|tei:classSpec[@module]|tei:macroSpec[@module]" "\x{a}" ~ " " sch:assert [ test = " (not(ancestor::tei:schemaSpec | ancestor::tei:TEI | ancestor::tei:teiCorpus)) or (not(@module) or (not(//tei:moduleSpec) and not(//tei:moduleRef)) or (//tei:moduleSpec[@ident = current()/@module]) or (//tei:moduleRef[@key = current()/@module])) " "\x{a}" ~ " Specification " sch:value-of [ select = "@ident" ] ': the value of the module attribute ("' sch:value-of [ select = "@module" ] '") \x{a}' ~ "should correspond to an existing module, via a moduleSpec or\x{a}" ~ " moduleRef" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] att.deprecated.attributes = att.deprecated.attribute.validUntil att.deprecated.attribute.validUntil = ## provides a date before which the construct being defined will not be removed. attribute validUntil { xsd:date }? sch:pattern [ id = "tei_all-att.deprecated-validUntil-deprecated-constraint-10" "\x{a}" ~ " " sch:rule [ context = "tei:*[@validUntil]" "\x{a}" ~ " " sch:assert [ test = "@validUntil cast as xs:date ge current-date()" "\x{a}" ~ " " sch:value-of [ select = "if (@ident) then concat('The ',@ident) else concat('This ',local-name(.),' of ',ancestor::tei:*[@ident][1]/@ident)" ] "\x{a}" ~ " construct is outdated (as of " sch:value-of [ select = "@validUntil" ] "); ODD processors may ignore it, and its use is no longer supported" ] "\x{a}" ~ " " sch:assert [ role = "nonfatal" test = "@validUntil cast as xs:date ge (current-date() + (60*xs:dayTimeDuration('P1D')))" "\x{a}" ~ " " sch:value-of [ select = "if (@ident) then concat('The ',@ident) else concat('This ',local-name(.),' of ',ancestor::tei:*[@ident][1]/@ident)" ] " construct becomes outdated on " sch:value-of [ select = "@validUntil" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] att.namespaceable.attributes = att.namespaceable.attribute.ns att.namespaceable.attribute.ns = ## (namespace) specifies the namespace to which this element belongs [ a:defaultValue = "http://www.tei-c.org/ns/1.0" ] attribute ns { data.namespace }? att = ## (attribute) contains the name of an attribute appearing within running text. [22. ] element ns2:att { data.name, att.global.attributes, ## supplies an identifier for the scheme in which this name is defined. ## Sample values include: 1] TEI(text encoding initiative) ; 2] DBK(docbook) ; 3] XX(unknown) [ a:defaultValue = "TEI" ] attribute scheme { data.enumerated }?, empty } code = ## contains literal code from some formal language such as a programming language. [22.1.1. ] element ns2:code { text, att.global.attributes, ## (formal language) a name identifying the formal language in which the code is expressed attribute lang { data.word }?, empty } eg = ## (example) contains any kind of illustrative example. [22.4.4. 22.4.5. ] element ns2:eg { macro.phraseSeq, att.global.attributes, empty } egXML = ## (example of XML) contains a single well-formed XML fragment demonstrating the use of some XML element or attribute, in which the egXML element itself functions as the root element. [22.1.1. ] element egXML { (text | macro.anyXML)*, att.global.attributes, att.source.attributes, ## indicates the intended validity of the example with respect to a schema. [ a:defaultValue = "true" ] attribute valid { ## the example is intended to be fully valid, assuming that its root element, or a provided root element, could have been used as a possible root element in the schema concerned. "true" | ## the example could be transformed into a valid document by inserting any number of valid attributes and child elements anywhere within it; or it is valid against a version of the schema concerned in which the provision of character data, list, element, or attribute values has been made optional. "feasible" | ## the example is not intended to be valid, and contains deliberate errors. "false" }?, empty } gi = ## (element name) contains the name (generic identifier) of an element. [22. 22.4.4. ] element ns2:gi { data.name, att.global.attributes, ## supplies the name of the scheme in which this name is defined. ## Sample values include: 1] TEI; 2] DBK(docbook) ; 3] XX(unknown) ; 4] Schematron; 5] HTML [ a:defaultValue = "TEI" ] attribute scheme { data.enumerated }?, empty } ident = ## (identifier) contains an identifier or name for an object of some kind in a formal language. ident is used for tokens such as variable names, class names, type names, function names etc. in formal programming languages. [22.1.1. ] element ns2:ident { text, att.global.attributes, att.typed.attributes, empty } tag = ## contains text of a complete start- or end-tag, possibly including attribute specifications, but excluding the opening and closing markup delimiter characters. [22. ] element ns2:tag { text, att.global.attributes, ## indicates the type of XML tag intended attribute type { ## a start-tag, with delimiters < and > is intended "start" | ## an end-tag, with delimiters is intended "end" | ## a empty tag, with delimiters < and /> is intended "empty" | ## a pi (processing instruction), with delimiters is intended "pi" | ## a comment, with delimiters is intended "comment" | ## a marked-section, with delimiters <[CDATA[ and ]]> is intended "ms" }?, ## supplies the name of the schema in which this tag is defined. ## Sample values include: 1] TEI(text encoding initiative) ; 2] DBK(docbook) ; 3] XX(unknown) ; 4] Schematron; 5] HTML [ a:defaultValue = "TEI" ] attribute scheme { data.enumerated }?, empty } val = ## (value) contains a single attribute value. [22. 22.4.5. ] element ns2:val { text, att.global.attributes, empty } specList = ## (specification list) marks where a list of descriptions is to be inserted into the prose documentation. [22.1.2. ] element ns2:specList { specDesc+, att.global.attributes, empty } specDesc = ## (specification description) indicates that a description of the specified element or class should be included at this point within a document. [22.1.2. ] element ns2:specDesc { empty, att.global.attributes, ## (identifier) supplies the identifier of the documentary element or class for which a description is to be obtained. attribute key { data.name }?, ## (attributes) supplies attribute names for which descriptions should additionally be obtained. attribute atts { list { data.name* } }?, empty } classRef = ## points to the specification for an attribute or model class which is to be included in a schema [22.4.6. ] element ns2:classRef { empty, att.global.attributes, att.repeatable.attributes, att.readFrom.attributes, ## the identifier used for the required class within the source indicated. attribute key { data.xmlName }, ## indicates how references to this class within a content model should be interpreted. attribute expand { ## any one member of the class may appear "alternate" | ## a single occurrence of all members of the class may appear in sequence "sequence" | ## a single occurrence of one or more members of the class may appear in sequence "sequenceOptional" | ## one or more occurrences of one or more members of the class may appear in sequence. "sequenceOptionalRepeatable" | ## one or more occurrences of all members of the class may appear in sequence "sequenceRepeatable" }?, empty } elementRef = ## points to the specification for some element which is to be included in a schema [22.2. ] element ns2:elementRef { empty, att.global.attributes, att.repeatable.attributes, att.readFrom.attributes, ## the identifier used for the required element within the source indicated. attribute key { data.xmlName }, empty } macroRef = ## points to the specification for some pattern which is to be included in a schema [22.4.7. ] element ns2:macroRef { empty, att.global.attributes, att.readFrom.attributes, ## the identifier used for the required pattern within the source indicated. attribute key { data.xmlName }, empty } moduleRef = ## (module reference) references a module which is to be incorporated into a schema. [22.2. ] element ns2:moduleRef { (content?) >> sch:pattern [ id = "tei_all-moduleRef-modref-constraint-11" "\x{a}" ~ " " sch:rule [ context = "tei:moduleRef" "\x{a}" ~ " " sch:report [ test = "* and @key" "\x{a}" ~ "Child elements of " sch:name [ ] " are only allowed when an external module is being loaded\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.readFrom.attributes, ( ## specifies a default prefix which will be prepended to all patterns from the imported module attribute prefix { data.xmlName }?) >> sch:pattern [ id = "tei_all-moduleRef-prefix-not-same-prefix-constraint-12" "\x{a}" ~ " " sch:rule [ context = "tei:moduleRef" "\x{a}" ~ " " sch:report [ test = "//*[ not( generate-id(.) eq generate-id( current() ) ) ]/@prefix = @prefix" "The prefix attribute\x{a}" ~ " of " sch:name [ ] " should not match that of any other\x{a}" ~ " element (it would defeat the purpose)" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], ( ## supplies a list of the elements which are to be copied from the specified module into the schema being defined. attribute include { list { data.xmlName* } }? | ## supplies a list of the elements which are not to be copied from the specified module into the schema being defined. attribute except { list { data.xmlName* } }?), ( ## the name of a TEI module attribute key { data.xmlName }? | ## (uniform resource locator) refers to a non-TEI module of RELAX NG code by external location attribute url { data.pointer }?), empty } moduleSpec = ## (module specification) documents the structure, content, and purpose of a single module, i.e. a named and externally visible group of declarations. [22.2. ] element ns2:moduleSpec { ((model.glossLike | model.descLike)*, exemplum*, remarks?, listRef*), att.global.attributes, att.identified.attributes, att.typed.attributes, empty } schemaSpec = ## (schema specification) generates a TEI-conformant schema and documentation for it. [2.3. 22.2. 23.5.1. ] element ns2:schemaSpec { ((model.glossLike | model.descLike)*, (model.oddRef | model.oddDecl)*, constraintSpec*), att.global.attributes, att.identified.attributes, att.namespaceable.attributes, att.readFrom.attributes, ## specifies entry points to the schema, i.e. which elements may be used as the root of documents conforming to it. [ a:defaultValue = "TEI" ] attribute start { list { data.name+ } }?, ## specifies a default prefix which will be prepended to all patterns relating to TEI elements, unless otherwise stated. attribute prefix { "" | data.xmlName }?, ## (target language) specifies which language to use when creating the objects in a schema if names for elements or attributes are available in more than one language attribute targetLang { data.language }?, ## (documentation language) specifies which languages to use when creating documentation if the description for an element, attribute, class or macro is available in more than one language attribute docLang { list { data.language+ } }?, empty } specGrp = ## (specification group) contains any convenient grouping of specifications for use within the current module. [22.2. ] element ns2:specGrp { (model.oddDecl | model.oddRef | model.divPart)*, att.global.attributes, empty } specGrpRef = ## (reference to a specification group) indicates that the declarations contained by the specGrp referenced should be inserted at this point. [22.2. ] element ns2:specGrpRef { empty, att.global.attributes, ## points at the specification group which logically belongs here. attribute target { data.pointer }, empty } elementSpec = ## (element specification) documents the structure, content, and purpose of a single element type. [22.4.4. 22. ] element ns2:elementSpec { ((model.glossLike | model.descLike)*, classes?, content?, valList?, constraintSpec*, attList?, exemplum*, remarks*, listRef*), att.global.attributes, att.identified.attributes, att.namespaceable.attributes, ## specifies a default prefix which will be prepended to all patterns relating to the element, unless otherwise stated. attribute prefix { "" | data.xmlName }?, empty } classSpec = ## (class specification) contains reference information for a TEI element class; that is a group of elements which appear together in content models, or which share some common attribute, or both. [22.3. 22.4.6. ] element ns2:classSpec { ((model.glossLike | model.descLike)*, classes?, constraintSpec*, attList?, exemplum*, remarks*, listRef*), att.global.attributes, att.identified.attributes, ## indicates whether this is a model class or an attribute class attribute type { ## (content model) members of this class appear in the same content models "model" | ## (attributes) members of this class share common attributes "atts" }, ## indicates which alternation and sequence instantiations of a model class may be referenced. By default, all variations are permitted. attribute generate { list { ( ## members of the class are alternatives "alternation" | ## members of the class are to be provided in sequence "sequence" | ## members of the class may be provided, in sequence, but are optional "sequenceOptional" | ## members of the class may be provided one or more times, in sequence, but are optional. "sequenceOptionalRepeatable" | ## members of the class may be provided one or more times, in sequence "sequenceRepeatable"), ( ## members of the class are alternatives "alternation" | ## members of the class are to be provided in sequence "sequence" | ## members of the class may be provided, in sequence, but are optional "sequenceOptional" | ## members of the class may be provided one or more times, in sequence, but are optional. "sequenceOptionalRepeatable" | ## members of the class may be provided one or more times, in sequence "sequenceRepeatable")?, ( ## members of the class are alternatives "alternation" | ## members of the class are to be provided in sequence "sequence" | ## members of the class may be provided, in sequence, but are optional "sequenceOptional" | ## members of the class may be provided one or more times, in sequence, but are optional. "sequenceOptionalRepeatable" | ## members of the class may be provided one or more times, in sequence "sequenceRepeatable")?, ( ## members of the class are alternatives "alternation" | ## members of the class are to be provided in sequence "sequence" | ## members of the class may be provided, in sequence, but are optional "sequenceOptional" | ## members of the class may be provided one or more times, in sequence, but are optional. "sequenceOptionalRepeatable" | ## members of the class may be provided one or more times, in sequence "sequenceRepeatable")?, ( ## members of the class are alternatives "alternation" | ## members of the class are to be provided in sequence "sequence" | ## members of the class may be provided, in sequence, but are optional "sequenceOptional" | ## members of the class may be provided one or more times, in sequence, but are optional. "sequenceOptionalRepeatable" | ## members of the class may be provided one or more times, in sequence "sequenceRepeatable")? } }?, empty } macroSpec = ## (macro specification) documents the function and implementation of a pattern. [22.3. 22.4.7. ] element ns2:macroSpec { ((model.glossLike | model.descLike)*, (content | valList)*, constraintSpec*, exemplum*, remarks*, listRef*), att.global.attributes, att.identified.attributes, ## indicates which type of entity should be generated, when an ODD processor is generating a module using XML DTD syntax. attribute type { ## (parameter entity) "pe" | ## (datatype entity) "dt" }?, empty } remarks = ## contains any commentary or discussion about the usage of an element, attribute, class, or entity not otherwise documented within the containing element. [22.4.4. 22.4.5. 22.4.6. 22.4.7. ] element ns2:remarks { model.pLike+, att.global.attributes, att.translatable.attributes, empty } listRef = ## (list of references) supplies a list of significant references to places where this element is discussed, in the current document or elsewhere. element ns2:listRef { ptr+, att.global.attributes, empty } exemplum = ## groups an example demonstrating the use of an element along with optional paragraphs of commentary. [22.4.4. ] element ns2:exemplum { (model.pLike*, (egXML | eg), model.pLike*), att.global.attributes, att.typed.attributes, att.translatable.attributes, empty } classes = ## specifies all the classes of which the documented element or class is a member or subclass. [22.4.4. 22.4.6. ] element ns2:classes { memberOf*, att.global.attributes, ## specifies the effect of this declaration on its parent module. [ a:defaultValue = "replace" ] attribute mode { ## this declaration changes the declaration of the same name in the current definition "change" | ## this declaration replaces the declaration of the same name in the current definition "replace" }?, empty } memberOf = ## specifies class membership of the documented element or class. [22.4.3. ] element ns2:memberOf { macro.xtext, att.global.attributes, ## specifies the identifier for a class of which the documented element or class is a member or subclass attribute key { data.name }?, ## specifies the effect of this declaration on its parent module. [ a:defaultValue = "add" ] attribute mode { ## this declaration is added to the current definitions "add" | ## this declaration and all of its children are removed from the current setup "delete" }?, ## supplies the maximum number of times the element can occur in elements which use this model class in their content model attribute max { data.numeric }?, ## supplies the minumum number of times the element must occur in elements which use this model class in their content model attribute min { data.numeric }?, empty } equiv = ## (equivalent) specifies a component which is considered equivalent to the parent element, either by co-reference, or by external link. [3.3.4. 22.4.1. ] element ns2:equiv { empty, att.global.attributes, att.internetMedia.attributes, ## a single word which follows the rules defining a legal XML name (see ), naming the underlying concept of which the parent is a representation. attribute name { data.name }?, ## (uniform resource identifier) references the underlying concept of which the parent is a representation by means of some external identifier attribute uri { data.pointer }?, ## references an external script which contains a method to transform instances of this element to canonical TEI attribute filter { data.pointer }?, empty } altIdent = ## (alternate identifier) supplies the recommended XML name for an element, class, attribute, etc. in some language. [3.3.4. 22.4.1. ] element ns2:altIdent { text, att.global.attributes, att.typed.attributes, empty } content = ## (content model) contains the text of a declaration for the schema documented. [22.4.4. ] element ns2:content { (valList | macro.anyXML+ | model.contentPart*), att.global.attributes, ## when true, indicates that textual content is permitted. attribute allowText { data.truthValue }?, ## controls whether or not pattern names generated in the corresponding Relax NG schema source are automatically prefixed to avoid potential nameclashes. [ a:defaultValue = "true" ] attribute autoPrefix { ## Each name referenced in e.g. a rng:ref element within a content model is automatically prefixed by the value of the prefix attribute on the current schemaSpec "true" | ## No prefixes are added: any prefix required by the value of the prefix attribute on the current schemaSpec must therefore be supplied explicitly, as appropriate. "false" }?, empty } sequence = ## sequence of references element ns2:sequence { model.contentPart+, att.global.attributes, att.repeatable.attributes, ## if true, indicates that the order in which component elements of a sequence appear in a document must correspond to the order in which they are given in the content model. attribute preserveOrder { text }?, empty } alternate = ## an alternation of references element ns2:alternate { model.contentPart+, att.global.attributes, att.repeatable.attributes, empty } constraint = ## (constraint rules) the formal rules of a constraint [22.4.4. ] element ns2:constraint { (text | macro.anyXML), att.global.attributes, empty } constraintSpec = ## (constraint on schema) contains a constraint, expressed in some formal syntax, which cannot be expressed in the structural content model [22.4.4. ] element ns2:constraintSpec { (model.glossLike | model.descLike)*, (constraint?) >> sch:ns [ prefix = "s" uri = "http://www.ascc.net/xml/schematron" ] >> sch:pattern [ id = "tei_all-constraintSpec-sch-constraint-19" "\x{a}" ~ " " sch:rule [ context = "tei:constraintSpec" "\x{a}" ~ " " sch:report [ test = "tei:constraint/s:* and not(@scheme='schematron')" "\x{a}" ~ " Rules in the Schematron 1.* language must be inside\x{a}" ~ " a constraintSpec with a value of 'schematron' on the scheme attribute\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:ns [ prefix = "sch" uri = "http://purl.oclc.org/dsdl/schematron" ] >> sch:pattern [ id = "tei_all-constraintSpec-isosch-constraint-20" "\x{a}" ~ " " sch:rule [ context = "tei:constraintSpec" "\x{a}" ~ " " sch:report [ test = "tei:constraint/sch:* and not(@scheme='isoschematron')" "\x{a}" ~ " Rules in the ISO Schematron language must be inside\x{a}" ~ " a constraintSpec with a value of 'isoschematron' on the scheme attribute\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:ns [ prefix = "sch" uri = "http://purl.oclc.org/dsdl/schematron" ] >> sch:pattern [ id = "tei_all-constraintSpec-needrules-constraint-13" "\x{a}" ~ " " sch:rule [ context = "tei:macroSpec/tei:constraintSpec[@scheme='isoschematron']/tei:constraint" "\x{a}" ~ " " sch:report [ test = "sch:assert|sch:report" "An ISO Schematron constraint specification for a macro should not have an 'assert' or 'report' element without a parent 'rule' element" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.identified.attributes, att.typed.attributes, ## supplies the name of the language in which the constraints are defined attribute scheme { ## (Schematron) "schematron" | ## (ISO Schematron) "isoschematron" | ## (XSLT) "xsl" | ## (private constraint language) "private" }, empty } attList = ## contains documentation for all the attributes associated with this element, as a series of attDef elements. [22.4.4. 22.4.6. ] element ns2:attList { (attRef | attDef | attList)+, att.global.attributes, ## (organization) specifies whether all the attributes in the list are available (org="group") or only one of them (org="choice") [ a:defaultValue = "group" ] attribute org { ## grouped "group" | ## alternated "choice" }?, empty } attDef = ## (attribute definition) contains the definition of a single attribute. [22.4.5. ] element ns2:attDef { ((model.glossLike | model.descLike)*, datatype?, constraintSpec*, defaultVal?, (valList | valDesc+)?, exemplum*, remarks*) >> sch:ns [ prefix = "teix" uri = "http://www.tei-c.org/ns/Examples" ] >> sch:pattern [ id = "tei_all-attDef-attDefContents-constraint-25" "\x{a}" ~ " " sch:rule [ context = "tei:attDef" "\x{a}" ~ " " sch:assert [ test = "ancestor::teix:egXML[@valid='feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[@type='closed']" "Attribute: the definition of the @" sch:value-of [ select = "@ident" ] " attribute in the " sch:value-of [ select = "ancestor::*[@ident][1]/@ident" ] "\x{a}" ~ " " sch:value-of [ select = "' '" ] "\x{a}" ~ " " sch:value-of [ select = "local-name(ancestor::*[@ident][1])" ] " should have a closed valList or a datatype" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], att.global.attributes, att.identified.attributes, ## specifies the optionality of the attribute. [ a:defaultValue = "opt" ] attribute usage { ## (required) "req" | ## (mandatory when applicable ) "mwa" | ## (recommended ) "rec" | ## (recommended when applicable ) "rwa" | ## (optional ) "opt" }?, ## (namespace) specifies the namespace to which this attribute belongs [ a:defaultValue = "http://www.tei-c.org/ns/1.0" ] attribute ns { data.namespace }?, empty } attRef = ## (attribute pointer) points to the definition of an attribute or group of attributes. [22.2. ] element ns2:attRef { empty, att.global.attributes, ## the name of the attribute class attribute class { data.word }?, ## the name of the attribute attribute name { data.text }?, empty } datatype = ## specifies the declared value for an attribute, by referring to any datatype defined by the chosen schema language. [1.4.2. 22.4.5. ] element ns2:datatype { macro.schemaPattern*, att.global.attributes, ## (minimum number of occurences) indicates the minimum number of times this datatype may occur in the specification of the attribute being defined [ a:defaultValue = "1" ] attribute minOccurs { data.count }?, ## (maximum number of occurences) indicates the maximum number of times this datatype may occur in the specification of the attribute being defined [ a:defaultValue = "1" ] attribute maxOccurs { data.count | "unbounded" }?, empty } defaultVal = ## (default value) specifies the default declared value for an attribute. [22.4.5. ] element ns2:defaultVal { text, att.global.attributes, empty } valDesc = ## (value description) specifies any semantic or syntactic constraint on the value that an attribute may take, additional to the information carried by the datatype element. [22.4.5. ] element ns2:valDesc { macro.phraseSeq.limited, att.global.attributes, att.translatable.attributes, att.combinable.attributes, empty } valItem = ## documents a single value in a predefined list of values. [22.4.5. ] element ns2:valItem { (model.descLike | model.glossLike)*, att.global.attributes, att.combinable.attributes, ## specifies the value concerned. attribute ident { data.text }, empty } valList = ## (value list) contains one or more valItem elements defining possible values. [22.4.5. ] element ns2:valList { valItem*, att.global.attributes, att.combinable.attributes, ## specifies the extensibility of the list of values specified. [ a:defaultValue = "open" ] attribute type { ## only the values specified are permitted. "closed" | ## (semi-open) all the values specified should be supported, but other values are legal and software should have appropriate fallback processing for them. "semi" | ## the values specified are sample values only. "open" }?, empty } start = TEI | teiCorpus