default namespace = "http://www.tei-c.org/ns/Examples" namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" namespace ns1 = "http://www.w3.org/1998/Math/MathML" namespace ns2 = "http://www.tei-c.org/ns/1.0" namespace ns3 = "http://www.w3.org/2000/svg" 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 xi = "http://www.w3.org/2001/XInclude" namespace xlink = "http://www.w3.org/1999/xlink" # Schema generated from ODD source 2012-02-02T17:11:21Z. # Edition: 2.0.1 Last updated on 22nd December 2011. # Edition Location: http://www.tei-c.org/Vault/P5/2.0.1/ # # This template file is freely available and you are hereby # authorised to copy, modify, and redistribute it in any way without # further reference or permissions. # When making such modifications, you are strongly recommended to # change the present text to include an accurate statement of the # licencing conditions applicable to your modified text. div { Boolean.datatype = "false" | "true" ClipFillRule.datatype = "nonzero" | "evenodd" | "inherit" ContentType.datatype = string Coordinate.datatype = string Coordinates.datatype = string Color.datatype = string Integer.datatype = string LanguageCode.datatype = xsd:NMTOKEN LanguageCodes.datatype = string Length.datatype = string Lengths.datatype = string Number.datatype = string Numbers.datatype = string OpacityValue.datatype = string PathData.datatype = string PreserveAspectRatioSpec.datatype = string Script.datatype = string SVGColor.datatype = string Text.datatype = string TransformList.datatype = string URI.datatype = string ViewBoxSpec.datatype = string XLINK.xmlns.attrib = empty SVG.xmlns.attrib = XLINK.xmlns.attrib SVG.Description.extra.class = notAllowed SVG.Description.class = desc | title | metadata | SVG.Description.extra.class SVG.Use.extra.class = notAllowed SVG.Use.class = use | SVG.Use.extra.class SVG.Structure.extra.class = notAllowed SVG.Structure.class = svg | g | defs | symbol | SVG.Use.class | SVG.Structure.extra.class SVG.Conditional.extra.class = notAllowed SVG.Conditional.class = switch | SVG.Conditional.extra.class SVG.Image.extra.class = notAllowed SVG.Image.class = image | SVG.Image.extra.class SVG.Style.extra.class = notAllowed SVG.Style.class = style | SVG.Style.extra.class SVG.Shape.extra.class = notAllowed SVG.Shape.class = path | rect | circle | line | ellipse | polyline | polygon | SVG.Shape.extra.class SVG.Text.extra.class = notAllowed SVG.Text.class = \text | altGlyphDef | SVG.Text.extra.class SVG.TextContent.extra.class = notAllowed SVG.TextContent.class = tspan | tref | textPath | altGlyph | SVG.TextContent.extra.class SVG.Marker.extra.class = notAllowed SVG.Marker.class = marker | SVG.Marker.extra.class SVG.ColorProfile.extra.class = notAllowed SVG.ColorProfile.class = color-profile | SVG.ColorProfile.extra.class SVG.Gradient.extra.class = notAllowed SVG.Gradient.class = linearGradient | radialGradient | SVG.Gradient.extra.class SVG.Pattern.extra.class = notAllowed SVG.Pattern.class = svgpattern | SVG.Pattern.extra.class SVG.Clip.extra.class = notAllowed SVG.Clip.class = clipPath | SVG.Clip.extra.class SVG.Mask.extra.class = notAllowed SVG.Mask.class = mask | SVG.Mask.extra.class SVG.Filter.extra.class = notAllowed SVG.Filter.class = filter | SVG.Filter.extra.class SVG.FilterPrimitive.extra.class = notAllowed SVG.FilterPrimitive.class = feBlend | feColorMatrix | feComponentTransfer | feComposite | feConvolveMatrix | feDiffuseLighting | feDisplacementMap | feFlood | feGaussianBlur | feImage | feMerge | feMorphology | feOffset | feSpecularLighting | feTile | feTurbulence | SVG.FilterPrimitive.extra.class SVG.Cursor.extra.class = notAllowed SVG.Cursor.class = cursor | SVG.Cursor.extra.class SVG.Hyperlink.extra.class = notAllowed SVG.Hyperlink.class = a | SVG.Hyperlink.extra.class SVG.View.extra.class = notAllowed SVG.View.class = view | SVG.View.extra.class SVG.Script.extra.class = notAllowed SVG.Script.class = script | SVG.Script.extra.class SVG.Animation.extra.class = notAllowed SVG.Animation.class = animate | set | animateMotion | animateColor | animateTransform | SVG.Animation.extra.class SVG.Font.extra.class = notAllowed SVG.Font.class = font | font-face | SVG.Font.extra.class SVG.Extensibility.extra.class = notAllowed SVG.Extensibility.class = foreignObject | SVG.Extensibility.extra.class ExtensionList.datatype = string FeatureList.datatype = string SVG.Conditional.extra.attrib = empty SVG.Conditional.attrib = attribute requiredFeatures { FeatureList.datatype }?, attribute requiredExtensions { ExtensionList.datatype }?, attribute systemLanguage { LanguageCodes.datatype }?, SVG.Conditional.extra.attrib ClassList.datatype = string StyleSheet.datatype = string SVG.Style.extra.attrib = empty SVG.Style.attrib = attribute style { StyleSheet.datatype }?, attribute class { ClassList.datatype }?, SVG.Style.extra.attrib BaselineShiftValue.datatype = string FontFamilyValue.datatype = string FontSizeValue.datatype = string FontSizeAdjustValue.datatype = string GlyphOrientationHorizontalValue.datatype = string GlyphOrientationVerticalValue.datatype = string KerningValue.datatype = string SpacingValue.datatype = string TextDecorationValue.datatype = string SVG.Text.extra.attrib = empty SVG.Text.attrib = attribute writing-mode { "lr-tb" | "rl-tb" | "tb-rl" | "lr" | "rl" | "tb" | "inherit" }?, SVG.Text.extra.attrib SVG.TextContent.extra.attrib = empty SVG.TextContent.attrib = attribute alignment-baseline { "auto" | "baseline" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "inherit" }?, attribute baseline-shift { BaselineShiftValue.datatype }?, attribute direction { "ltr" | "rtl" | "inherit" }?, attribute dominant-baseline { "auto" | "use-script" | "no-change" | "reset-size" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "central" | "middle" | "text-after-edge" | "text-before-edge" | "inherit" }?, attribute glyph-orientation-horizontal { GlyphOrientationHorizontalValue.datatype }?, attribute glyph-orientation-vertical { GlyphOrientationVerticalValue.datatype }?, attribute kerning { KerningValue.datatype }?, attribute letter-spacing { SpacingValue.datatype }?, attribute text-anchor { "start" | "middle" | "end" | "inherit" }?, attribute text-decoration { TextDecorationValue.datatype }?, attribute unicode-bidi { "normal" | "embed" | "bidi-override" | "inherit" }?, attribute word-spacing { SpacingValue.datatype }?, SVG.TextContent.extra.attrib SVG.Font.extra.attrib = empty SVG.Font.attrib = attribute font-family { FontFamilyValue.datatype }?, attribute font-size { FontSizeValue.datatype }?, attribute font-size-adjust { FontSizeAdjustValue.datatype }?, attribute font-stretch { "normal" | "wider" | "narrower" | "ultra-condensed" | "extra-condensed" | "condensed" | "semi-condensed" | "semi-expanded" | "expanded" | "extra-expanded" | "ultra-expanded" | "inherit" }?, attribute font-style { "normal" | "italic" | "oblique" | "inherit" }?, attribute font-variant { "normal" | "small-caps" | "inherit" }?, attribute font-weight { "normal" | "bold" | "bolder" | "lighter" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "inherit" }?, SVG.Font.extra.attrib MarkerValue.datatype = string SVG.Marker.extra.attrib = empty SVG.Marker.attrib = attribute marker-start { MarkerValue.datatype }?, attribute marker-mid { MarkerValue.datatype }?, attribute marker-end { MarkerValue.datatype }?, SVG.Marker.extra.attrib SVG.ColorProfile.extra.attrib = empty SVG.ColorProfile.attrib = attribute color-profile { text }?, SVG.ColorProfile.extra.attrib NumberOrPercentage.datatype = string SVG.Gradient.extra.attrib = empty SVG.Gradient.attrib = attribute stop-color { SVGColor.datatype }?, attribute stop-opacity { OpacityValue.datatype }?, SVG.Gradient.extra.attrib ClipPathValue.datatype = string SVG.Clip.extra.attrib = empty SVG.Clip.attrib = attribute clip-path { ClipPathValue.datatype }?, attribute clip-rule { ClipFillRule.datatype }?, SVG.Clip.extra.attrib MaskValue.datatype = string SVG.Mask.extra.attrib = empty SVG.Mask.attrib = attribute mask { MaskValue.datatype }?, SVG.Mask.extra.attrib FilterValue.datatype = string NumberOptionalNumber.datatype = string SVG.Filter.extra.attrib = empty SVG.Filter.attrib = attribute filter { FilterValue.datatype }?, SVG.Filter.extra.attrib SVG.FilterColor.extra.attrib = empty SVG.FilterColor.attrib = attribute color-interpolation-filters { "auto" | "sRGB" | "linearRGB" | "inherit" }?, SVG.FilterColor.extra.attrib CursorValue.datatype = string SVG.Cursor.extra.attrib = empty SVG.Cursor.attrib = attribute cursor { CursorValue.datatype }?, SVG.Cursor.extra.attrib SVG.id.attrib = attribute id { xsd:ID }? SVG.base.attrib = attribute xml:base { URI.datatype }? SVG.lang.attrib = attribute xml:lang { LanguageCode.datatype }? SVG.space.attrib = attribute xml:space { "default" | "preserve" }? SVG.Core.extra.attrib = empty SVG.Core.attrib = SVG.id.attrib, SVG.base.attrib, SVG.lang.attrib, SVG.space.attrib, SVG.Core.extra.attrib EnableBackgroundValue.datatype = string SVG.enable-background.attrib = attribute enable-background { EnableBackgroundValue.datatype }? SVG.Container.extra.attrib = empty SVG.Container.attrib = SVG.enable-background.attrib, SVG.Container.extra.attrib ClipValue.datatype = string SVG.clip.attrib = attribute clip { ClipValue.datatype }? SVG.overflow.attrib = attribute overflow { "visible" | "hidden" | "scroll" | "auto" | "inherit" }? SVG.Viewport.extra.attrib = empty SVG.Viewport.attrib = SVG.clip.attrib, SVG.overflow.attrib, SVG.Viewport.extra.attrib Paint.datatype = string StrokeDashArrayValue.datatype = string StrokeDashOffsetValue.datatype = string StrokeMiterLimitValue.datatype = string StrokeWidthValue.datatype = string SVG.fill.attrib = attribute fill { Paint.datatype }? SVG.fill-rule.attrib = attribute fill-rule { ClipFillRule.datatype }? SVG.stroke.attrib = attribute stroke { Paint.datatype }? SVG.stroke-dasharray.attrib = attribute stroke-dasharray { StrokeDashArrayValue.datatype }? SVG.stroke-dashoffset.attrib = attribute stroke-dashoffset { StrokeDashOffsetValue.datatype }? SVG.stroke-linecap.attrib = attribute stroke-linecap { "butt" | "round" | "square" | "inherit" }? SVG.stroke-linejoin.attrib = attribute stroke-linejoin { "miter" | "round" | "bevel" | "inherit" }? SVG.stroke-miterlimit.attrib = attribute stroke-miterlimit { StrokeMiterLimitValue.datatype }? SVG.stroke-width.attrib = attribute stroke-width { StrokeWidthValue.datatype }? SVG.Paint.extra.attrib = empty SVG.Paint.attrib = SVG.fill.attrib, SVG.fill-rule.attrib, SVG.stroke.attrib, SVG.stroke-dasharray.attrib, SVG.stroke-dashoffset.attrib, SVG.stroke-linecap.attrib, SVG.stroke-linejoin.attrib, SVG.stroke-miterlimit.attrib, SVG.stroke-width.attrib, SVG.Paint.extra.attrib SVG.color.attrib = attribute color { Color.datatype }? SVG.color-interpolation.attrib = attribute color-interpolation { "auto" | "sRGB" | "linearRGB" | "inherit" }? SVG.color-rendering.attrib = attribute color-rendering { "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit" }? SVG.Color.extra.attrib = empty SVG.Color.attrib = SVG.color.attrib, SVG.color-interpolation.attrib, SVG.color-rendering.attrib, SVG.Color.extra.attrib SVG.opacity.attrib = attribute opacity { OpacityValue.datatype }? SVG.fill-opacity.attrib = attribute fill-opacity { OpacityValue.datatype }? SVG.stroke-opacity.attrib = attribute stroke-opacity { OpacityValue.datatype }? SVG.Opacity.extra.attrib = empty SVG.Opacity.attrib = SVG.opacity.attrib, SVG.fill-opacity.attrib, SVG.stroke-opacity.attrib, SVG.Opacity.extra.attrib SVG.display.attrib = attribute display { "inline" | "block" | "list-item" | "run-in" | "compact" | "marker" | "table" | "inline-table" | "table-row-group" | "table-header-group" | "table-footer-group" | "table-row" | "table-column-group" | "table-column" | "table-cell" | "table-caption" | "none" | "inherit" }? SVG.image-rendering.attrib = attribute image-rendering { "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit" }? SVG.pointer-events.attrib = attribute pointer-events { "visiblePainted" | "visibleFill" | "visibleStroke" | "visible" | "painted" | "fill" | "stroke" | "all" | "none" | "inherit" }? SVG.shape-rendering.attrib = attribute shape-rendering { "auto" | "optimizeSpeed" | "crispEdges" | "geometricPrecision" | "inherit" }? SVG.text-rendering.attrib = attribute text-rendering { "auto" | "optimizeSpeed" | "optimizeLegibility" | "geometricPrecision" | "inherit" }? SVG.visibility.attrib = attribute visibility { "visible" | "hidden" | "inherit" }? SVG.Graphics.extra.attrib = empty SVG.Graphics.attrib = SVG.display.attrib, SVG.image-rendering.attrib, SVG.pointer-events.attrib, SVG.shape-rendering.attrib, SVG.text-rendering.attrib, SVG.visibility.attrib, SVG.Graphics.extra.attrib SVG.onunload.attrib = attribute onunload { Script.datatype }? SVG.onabort.attrib = attribute onabort { Script.datatype }? SVG.onerror.attrib = attribute onerror { Script.datatype }? SVG.onresize.attrib = attribute onresize { Script.datatype }? SVG.onscroll.attrib = attribute onscroll { Script.datatype }? SVG.onzoom.attrib = attribute onzoom { Script.datatype }? SVG.DocumentEvents.extra.attrib = empty SVG.DocumentEvents.attrib = SVG.onunload.attrib, SVG.onabort.attrib, SVG.onerror.attrib, SVG.onresize.attrib, SVG.onscroll.attrib, SVG.onzoom.attrib, SVG.DocumentEvents.extra.attrib SVG.onfocusin.attrib = attribute onfocusin { Script.datatype }? SVG.onfocusout.attrib = attribute onfocusout { Script.datatype }? SVG.onactivate.attrib = attribute onactivate { Script.datatype }? SVG.onclick.attrib = attribute onclick { Script.datatype }? SVG.onmousedown.attrib = attribute onmousedown { Script.datatype }? SVG.onmouseup.attrib = attribute onmouseup { Script.datatype }? SVG.onmouseover.attrib = attribute onmouseover { Script.datatype }? SVG.onmousemove.attrib = attribute onmousemove { Script.datatype }? SVG.onmouseout.attrib = attribute onmouseout { Script.datatype }? SVG.onload.attrib = attribute onload { Script.datatype }? SVG.GraphicalEvents.extra.attrib = empty SVG.GraphicalEvents.attrib = SVG.onfocusin.attrib, SVG.onfocusout.attrib, SVG.onactivate.attrib, SVG.onclick.attrib, SVG.onmousedown.attrib, SVG.onmouseup.attrib, SVG.onmouseover.attrib, SVG.onmousemove.attrib, SVG.onmouseout.attrib, SVG.onload.attrib, SVG.GraphicalEvents.extra.attrib SVG.onbegin.attrib = attribute onbegin { Script.datatype }? SVG.onend.attrib = attribute onend { Script.datatype }? SVG.onrepeat.attrib = attribute onrepeat { Script.datatype }? SVG.AnimationEvents.extra.attrib = empty SVG.AnimationEvents.attrib = SVG.onbegin.attrib, SVG.onend.attrib, SVG.onrepeat.attrib, SVG.onload.attrib, SVG.AnimationEvents.extra.attrib SVG.XLink.extra.attrib = empty SVG.XLink.attrib = XLINK.xmlns.attrib, [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, attribute xlink:href { URI.datatype }?, attribute xlink:role { URI.datatype }?, attribute xlink:arcrole { URI.datatype }?, attribute xlink:title { text }?, [ a:defaultValue = "other" ] attribute xlink:show { "other" }?, [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, SVG.XLink.extra.attrib SVG.XLinkRequired.extra.attrib = empty SVG.XLinkRequired.attrib = XLINK.xmlns.attrib, [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, attribute xlink:href { URI.datatype }, attribute xlink:role { URI.datatype }?, attribute xlink:arcrole { URI.datatype }?, attribute xlink:title { text }?, [ a:defaultValue = "other" ] attribute xlink:show { "other" }?, [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, SVG.XLinkRequired.extra.attrib SVG.XLinkEmbed.extra.attrib = empty SVG.XLinkEmbed.attrib = XLINK.xmlns.attrib, [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, attribute xlink:href { URI.datatype }, attribute xlink:role { URI.datatype }?, attribute xlink:arcrole { URI.datatype }?, attribute xlink:title { text }?, [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?, [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, SVG.XLinkEmbed.extra.attrib SVG.XLinkReplace.extra.attrib = empty SVG.XLinkReplace.attrib = XLINK.xmlns.attrib, [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, attribute xlink:href { URI.datatype }, attribute xlink:role { URI.datatype }?, attribute xlink:arcrole { URI.datatype }?, attribute xlink:title { text }?, [ a:defaultValue = "replace" ] attribute xlink:show { "new" | "replace" }?, [ a:defaultValue = "onRequest" ] attribute xlink:actuate { "onRequest" }?, SVG.XLinkReplace.extra.attrib SVG.externalResourcesRequired.attrib = attribute externalResourcesRequired { Boolean.datatype }? SVG.External.extra.attrib = empty SVG.External.attrib = SVG.externalResourcesRequired.attrib, SVG.External.extra.attrib SVG.Presentation.extra.attrib = empty SVG.Presentation.attrib = SVG.Container.attrib, SVG.Viewport.attrib, SVG.Text.attrib, SVG.TextContent.attrib, SVG.Font.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Marker.attrib, SVG.ColorProfile.attrib, SVG.Gradient.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.FilterColor.attrib, SVG.Cursor.attrib, attribute flood-color { SVGColor.datatype }?, attribute flood-opacity { OpacityValue.datatype }?, attribute lighting-color { SVGColor.datatype }?, SVG.Presentation.extra.attrib SVG.svg.extra.content = notAllowed SVG.svg.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.svg.extra.content)* svg = element ns3:svg { attlist.svg, SVG.svg.content } attlist.svg &= SVG.xmlns.attrib, SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.DocumentEvents.attrib, SVG.GraphicalEvents.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }?, attribute height { Length.datatype }?, attribute viewBox { ViewBoxSpec.datatype }?, [ a:defaultValue = "xMidYMid meet" ] attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, [ a:defaultValue = "magnify" ] attribute zoomAndPan { "disable" | "magnify" }?, [ a:defaultValue = "1.1" ] attribute version { string "1.1" }?, attribute baseProfile { Text.datatype }?, [ a:defaultValue = "text/ecmascript" ] attribute contentScriptType { ContentType.datatype }?, [ a:defaultValue = "text/css" ] attribute contentStyleType { ContentType.datatype }? SVG.g.extra.content = notAllowed SVG.g.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.g.extra.content)* g = element ns3:g { attlist.g, SVG.g.content } attlist.g &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.GraphicalEvents.attrib, SVG.External.attrib, attribute transform { TransformList.datatype }? SVG.defs.extra.content = notAllowed SVG.defs.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.defs.extra.content)* defs = element ns3:defs { attlist.defs, SVG.defs.content } attlist.defs &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.GraphicalEvents.attrib, SVG.External.attrib, attribute transform { TransformList.datatype }? SVG.desc.extra.content = notAllowed SVG.desc.content = (text | SVG.desc.extra.content)* desc = element ns3:desc { attlist.desc, SVG.desc.content } attlist.desc &= SVG.Core.attrib, SVG.Style.attrib SVG.title.extra.content = notAllowed SVG.title.content = (text | SVG.title.extra.content)* title = element ns3:title { attlist.title, SVG.title.content } attlist.title &= SVG.Core.attrib, SVG.Style.attrib SVG.metadata.extra.content = notAllowed SVG.metadata.content = (text | SVG.metadata.extra.content)* metadata = element ns3:metadata { attlist.metadata, SVG.metadata.content } attlist.metadata &= SVG.Core.attrib SVG.symbol.extra.content = notAllowed SVG.symbol.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.symbol.extra.content)* symbol = element ns3:symbol { attlist.symbol, SVG.symbol.content } attlist.symbol &= SVG.Core.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.GraphicalEvents.attrib, SVG.External.attrib, attribute viewBox { ViewBoxSpec.datatype }?, [ a:defaultValue = "xMidYMid meet" ] attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? SVG.use.extra.content = notAllowed SVG.use.content = SVG.Description.class*, (SVG.Animation.class | SVG.use.extra.content)* use = element ns3:use { attlist.use, SVG.use.content } attlist.use &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.GraphicalEvents.attrib, SVG.XLinkEmbed.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }?, attribute height { Length.datatype }?, attribute transform { TransformList.datatype }? SVG.switch.extra.content = notAllowed SVG.switch.content = SVG.Description.class*, (svg | g | use | \text | SVG.Animation.class | SVG.Conditional.class | SVG.Image.class | SVG.Shape.class | SVG.Hyperlink.class | SVG.Extensibility.class | SVG.switch.extra.content)* switch = element ns3:switch { attlist.switch, SVG.switch.content } attlist.switch &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.GraphicalEvents.attrib, SVG.External.attrib, attribute transform { TransformList.datatype }? SVG.image.extra.content = notAllowed SVG.image.content = SVG.Description.class*, (SVG.Animation.class | SVG.image.extra.content)* image = element ns3:image { attlist.image, SVG.image.content } attlist.image &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Viewport.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.ColorProfile.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.XLinkEmbed.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }, attribute height { Length.datatype }, [ a:defaultValue = "xMidYMid meet" ] attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, attribute transform { TransformList.datatype }? MediaDesc.datatype = string SVG.style.extra.content = notAllowed SVG.style.content = (text | SVG.style.extra.content)* style = element ns3:style { attlist.style, SVG.style.content } attlist.style &= [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }?, SVG.id.attrib, SVG.base.attrib, SVG.lang.attrib, SVG.Core.extra.attrib, attribute type { ContentType.datatype }, attribute media { MediaDesc.datatype }?, attribute title { Text.datatype }? Points.datatype = string SVG.path.extra.content = notAllowed SVG.path.content = SVG.Description.class*, (SVG.Animation.class | SVG.path.extra.content)* path = element ns3:path { attlist.path, SVG.path.content } attlist.path &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Marker.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute d { PathData.datatype }, attribute pathLength { Number.datatype }?, attribute transform { TransformList.datatype }? SVG.rect.extra.content = notAllowed SVG.rect.content = SVG.Description.class*, (SVG.Animation.class | SVG.rect.extra.content)* rect = element ns3:rect { attlist.rect, SVG.rect.content } attlist.rect &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }, attribute height { Length.datatype }, attribute rx { Length.datatype }?, attribute ry { Length.datatype }?, attribute transform { TransformList.datatype }? SVG.circle.extra.content = notAllowed SVG.circle.content = SVG.Description.class*, (SVG.Animation.class | SVG.circle.extra.content)* circle = element ns3:circle { attlist.circle, SVG.circle.content } attlist.circle &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute cx { Coordinate.datatype }?, attribute cy { Coordinate.datatype }?, attribute r { Length.datatype }, attribute transform { TransformList.datatype }? SVG.line.extra.content = notAllowed SVG.line.content = SVG.Description.class*, (SVG.Animation.class | SVG.line.extra.content)* line = element ns3:line { attlist.line, SVG.line.content } attlist.line &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Marker.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute x1 { Coordinate.datatype }?, attribute y1 { Coordinate.datatype }?, attribute x2 { Coordinate.datatype }?, attribute y2 { Coordinate.datatype }?, attribute transform { TransformList.datatype }? SVG.ellipse.extra.content = notAllowed SVG.ellipse.content = SVG.Description.class*, (SVG.Animation.class | SVG.ellipse.extra.content)* ellipse = element ns3:ellipse { attlist.ellipse, SVG.ellipse.content } attlist.ellipse &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute cx { Coordinate.datatype }?, attribute cy { Coordinate.datatype }?, attribute rx { Length.datatype }, attribute ry { Length.datatype }, attribute transform { TransformList.datatype }? SVG.polyline.extra.content = notAllowed SVG.polyline.content = SVG.Description.class*, (SVG.Animation.class | SVG.polyline.extra.content)* polyline = element ns3:polyline { attlist.polyline, SVG.polyline.content } attlist.polyline &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Marker.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute points { Points.datatype }, attribute transform { TransformList.datatype }? SVG.polygon.extra.content = notAllowed SVG.polygon.content = SVG.Description.class*, (SVG.Animation.class | SVG.polygon.extra.content)* polygon = element ns3:polygon { attlist.polygon, SVG.polygon.content } attlist.polygon &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Marker.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute points { Points.datatype }, attribute transform { TransformList.datatype }? SVG.text.extra.content = notAllowed SVG.text.content = (text | SVG.Description.class | SVG.Animation.class | SVG.TextContent.class | SVG.Hyperlink.class | SVG.text.extra.content)* \text = element ns3:text { attlist.text, SVG.text.content } attlist.text &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Text.attrib, SVG.TextContent.attrib, SVG.Font.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute x { Coordinates.datatype }?, attribute y { Coordinates.datatype }?, attribute dx { Lengths.datatype }?, attribute dy { Lengths.datatype }?, attribute rotate { Numbers.datatype }?, attribute textLength { Length.datatype }?, attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?, attribute transform { TransformList.datatype }? SVG.tspan.extra.content = notAllowed SVG.tspan.content = (text | tspan | tref | altGlyph | animate | set | animateColor | SVG.Description.class | SVG.Hyperlink.class | SVG.tspan.extra.content)* tspan = element ns3:tspan { attlist.tspan, SVG.tspan.content } attlist.tspan &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.TextContent.attrib, SVG.Font.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute x { Coordinates.datatype }?, attribute y { Coordinates.datatype }?, attribute dx { Lengths.datatype }?, attribute dy { Lengths.datatype }?, attribute rotate { Numbers.datatype }?, attribute textLength { Length.datatype }?, attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? SVG.tref.extra.content = notAllowed SVG.tref.content = (animate | set | animateColor | SVG.Description.class | SVG.tref.extra.content)* tref = element ns3:tref { attlist.tref, SVG.tref.content } attlist.tref &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.TextContent.attrib, SVG.Font.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.XLinkRequired.attrib, SVG.External.attrib, attribute x { Coordinates.datatype }?, attribute y { Coordinates.datatype }?, attribute dx { Lengths.datatype }?, attribute dy { Lengths.datatype }?, attribute rotate { Numbers.datatype }?, attribute textLength { Length.datatype }?, attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? SVG.textPath.extra.content = notAllowed SVG.textPath.content = (text | tspan | tref | altGlyph | animate | set | animateColor | SVG.Description.class | SVG.Hyperlink.class | SVG.textPath.extra.content)* textPath = element ns3:textPath { attlist.textPath, SVG.textPath.content } attlist.textPath &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.TextContent.attrib, SVG.Font.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.XLinkRequired.attrib, SVG.External.attrib, attribute startOffset { Length.datatype }?, attribute textLength { Length.datatype }?, attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?, attribute method { "align" | "stretch" }?, attribute spacing { "auto" | "exact" }? SVG.altGlyph.extra.content = notAllowed SVG.altGlyph.content = (text | SVG.altGlyph.extra.content)* altGlyph = element ns3:altGlyph { attlist.altGlyph, SVG.altGlyph.content } attlist.altGlyph &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.TextContent.attrib, SVG.Font.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.GraphicalEvents.attrib, SVG.Cursor.attrib, SVG.XLink.attrib, SVG.External.attrib, attribute x { Coordinates.datatype }?, attribute y { Coordinates.datatype }?, attribute dx { Lengths.datatype }?, attribute dy { Lengths.datatype }?, attribute glyphRef { text }?, attribute format { text }?, attribute rotate { Numbers.datatype }? SVG.altGlyphDef.extra.content = notAllowed SVG.altGlyphDef.content = (glyphRef+ | altGlyphItem+) | SVG.altGlyphDef.extra.content altGlyphDef = element ns3:altGlyphDef { attlist.altGlyphDef, SVG.altGlyphDef.content } attlist.altGlyphDef &= SVG.Core.attrib SVG.altGlyphItem.extra.content = notAllowed SVG.altGlyphItem.content = glyphRef+ | SVG.altGlyphItem.extra.content altGlyphItem = element ns3:altGlyphItem { attlist.altGlyphItem, SVG.altGlyphItem.content } attlist.altGlyphItem &= SVG.Core.attrib SVG.glyphRef.content = empty glyphRef = element ns3:glyphRef { attlist.glyphRef, SVG.glyphRef.content } attlist.glyphRef &= SVG.Core.attrib, SVG.Style.attrib, SVG.Font.attrib, SVG.XLink.attrib, attribute x { Number.datatype }?, attribute y { Number.datatype }?, attribute dx { Number.datatype }?, attribute dy { Number.datatype }?, attribute glyphRef { text }?, attribute format { text }? SVG.marker.extra.content = notAllowed SVG.marker.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.marker.extra.content)* marker = element ns3:marker { attlist.marker, SVG.marker.content } attlist.marker &= SVG.Core.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.External.attrib, attribute refX { Coordinate.datatype }?, attribute refY { Coordinate.datatype }?, attribute markerUnits { "strokeWidth" | "userSpaceOnUse" }?, attribute markerWidth { Length.datatype }?, attribute markerHeight { Length.datatype }?, attribute orient { text }?, attribute viewBox { ViewBoxSpec.datatype }?, [ a:defaultValue = "xMidYMid meet" ] attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? SVG.color-profile.extra.content = notAllowed SVG.color-profile.content = (SVG.Description.class | SVG.color-profile.extra.content)* color-profile = element ns3:color-profile { attlist.color-profile, SVG.color-profile.content } attlist.color-profile &= SVG.Core.attrib, SVG.XLink.attrib, attribute local { text }?, attribute name { text }, [ a:defaultValue = "auto" ] attribute rendering-intent { "auto" | "perceptual" | "relative-colorimetric" | "saturation" | "absolute-colorimetric" }? SVG.linearGradient.extra.content = notAllowed SVG.linearGradient.content = SVG.Description.class*, (stop | animate | set | animateTransform | SVG.linearGradient.extra.content)* linearGradient = element ns3:linearGradient { attlist.linearGradient, SVG.linearGradient.content } attlist.linearGradient &= SVG.Core.attrib, SVG.Style.attrib, SVG.Color.attrib, SVG.Gradient.attrib, SVG.XLink.attrib, SVG.External.attrib, attribute x1 { Coordinate.datatype }?, attribute y1 { Coordinate.datatype }?, attribute x2 { Coordinate.datatype }?, attribute y2 { Coordinate.datatype }?, attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?, attribute gradientTransform { TransformList.datatype }?, attribute spreadMethod { "pad" | "reflect" | "repeat" }? SVG.radialGradient.extra.content = notAllowed SVG.radialGradient.content = SVG.Description.class*, (stop | animate | set | animateTransform | SVG.radialGradient.extra.content)* radialGradient = element ns3:radialGradient { attlist.radialGradient, SVG.radialGradient.content } attlist.radialGradient &= SVG.Core.attrib, SVG.Style.attrib, SVG.Color.attrib, SVG.Gradient.attrib, SVG.XLink.attrib, SVG.External.attrib, attribute cx { Coordinate.datatype }?, attribute cy { Coordinate.datatype }?, attribute r { Length.datatype }?, attribute fx { Coordinate.datatype }?, attribute fy { Coordinate.datatype }?, attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?, attribute gradientTransform { TransformList.datatype }?, attribute spreadMethod { "pad" | "reflect" | "repeat" }? SVG.stop.extra.content = notAllowed SVG.stop.content = (animate | set | animateColor | SVG.stop.extra.content)* stop = element ns3:stop { attlist.stop, SVG.stop.content } attlist.stop &= SVG.Core.attrib, SVG.Style.attrib, SVG.Color.attrib, SVG.Gradient.attrib, attribute offset { NumberOrPercentage.datatype } SVG.pattern.extra.content = notAllowed SVG.pattern.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.pattern.extra.content)* svgpattern = element ns3:pattern { attlist.pattern, SVG.pattern.content } attlist.pattern &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.XLink.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }?, attribute height { Length.datatype }?, attribute patternUnits { "userSpaceOnUse" | "objectBoundingBox" }?, attribute patternContentUnits { "userSpaceOnUse" | "objectBoundingBox" }?, attribute patternTransform { TransformList.datatype }?, attribute viewBox { ViewBoxSpec.datatype }?, [ a:defaultValue = "xMidYMid meet" ] attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? SVG.clipPath.extra.content = notAllowed SVG.clipPath.content = SVG.Description.class*, (SVG.Animation.class | SVG.Use.class | SVG.Shape.class | SVG.Text.class | SVG.clipPath.extra.content)* clipPath = element ns3:clipPath { attlist.clipPath, SVG.clipPath.content } attlist.clipPath &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Text.attrib, SVG.TextContent.attrib, SVG.Font.attrib, SVG.Paint.attrib, SVG.Color.attrib, SVG.Opacity.attrib, SVG.Graphics.attrib, SVG.Clip.attrib, SVG.Mask.attrib, SVG.Filter.attrib, SVG.Cursor.attrib, SVG.External.attrib, attribute transform { TransformList.datatype }?, attribute clipPathUnits { "userSpaceOnUse" | "objectBoundingBox" }? SVG.mask.extra.content = notAllowed SVG.mask.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.mask.extra.content)* mask = element ns3:mask { attlist.mask, SVG.mask.content } attlist.mask &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }?, attribute height { Length.datatype }?, attribute maskUnits { "userSpaceOnUse" | "objectBoundingBox" }?, attribute maskContentUnits { "userSpaceOnUse" | "objectBoundingBox" }? SVG.FilterPrimitive.extra.attrib = empty SVG.FilterPrimitive.attrib = attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }?, attribute height { Length.datatype }?, attribute result { text }?, SVG.FilterPrimitive.extra.attrib SVG.FilterPrimitiveWithIn.extra.attrib = empty SVG.FilterPrimitiveWithIn.attrib = SVG.FilterPrimitive.attrib, attribute in { text }?, SVG.FilterPrimitiveWithIn.extra.attrib SVG.filter.extra.content = notAllowed SVG.filter.content = SVG.Description.class*, (animate | set | SVG.FilterPrimitive.class | SVG.filter.extra.content)* filter = element ns3:filter { attlist.filter, SVG.filter.content } attlist.filter &= SVG.Core.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.XLink.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }?, attribute height { Length.datatype }?, attribute filterRes { NumberOptionalNumber.datatype }?, attribute filterUnits { "userSpaceOnUse" | "objectBoundingBox" }?, attribute primitiveUnits { "userSpaceOnUse" | "objectBoundingBox" }? SVG.feBlend.extra.content = notAllowed SVG.feBlend.content = (animate | set | SVG.feBlend.extra.content)* feBlend = element ns3:feBlend { attlist.feBlend, SVG.feBlend.content } attlist.feBlend &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute in2 { text }, [ a:defaultValue = "normal" ] attribute mode { "normal" | "multiply" | "screen" | "darken" | "lighten" }? SVG.feColorMatrix.extra.content = notAllowed SVG.feColorMatrix.content = (animate | set | SVG.feColorMatrix.extra.content)* feColorMatrix = element ns3:feColorMatrix { attlist.feColorMatrix, SVG.feColorMatrix.content } attlist.feColorMatrix &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, [ a:defaultValue = "matrix" ] attribute type { "matrix" | "saturate" | "hueRotate" | "luminanceToAlpha" }?, attribute values { text }? SVG.feComponentTransfer.extra.content = empty SVG.feComponentTransfer.content = feFuncR?, feFuncG?, feFuncB?, feFuncA?, SVG.feComponentTransfer.extra.content feComponentTransfer = element ns3:feComponentTransfer { attlist.feComponentTransfer, SVG.feComponentTransfer.content } attlist.feComponentTransfer &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib SVG.feComposite.extra.content = notAllowed SVG.feComposite.content = (animate | set | SVG.feComposite.extra.content)* feComposite = element ns3:feComposite { attlist.feComposite, SVG.feComposite.content } attlist.feComposite &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute in2 { text }, [ a:defaultValue = "over" ] attribute operator { "over" | "in" | "out" | "atop" | "xor" | "arithmetic" }?, attribute k1 { Number.datatype }?, attribute k2 { Number.datatype }?, attribute k3 { Number.datatype }?, attribute k4 { Number.datatype }? SVG.feConvolveMatrix.extra.content = notAllowed SVG.feConvolveMatrix.content = (animate | set | SVG.feConvolveMatrix.extra.content)* feConvolveMatrix = element ns3:feConvolveMatrix { attlist.feConvolveMatrix, SVG.feConvolveMatrix.content } attlist.feConvolveMatrix &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute order { NumberOptionalNumber.datatype }, attribute kernelMatrix { text }, attribute divisor { Number.datatype }?, attribute bias { Number.datatype }?, attribute targetX { Integer.datatype }?, attribute targetY { Integer.datatype }?, [ a:defaultValue = "duplicate" ] attribute edgeMode { "duplicate" | "wrap" | "none" }?, attribute kernelUnitLength { NumberOptionalNumber.datatype }?, attribute preserveAlpha { Boolean.datatype }? SVG.feDiffuseLighting.extra.content = notAllowed SVG.feDiffuseLighting.content = (feDistantLight | fePointLight | feSpotLight), (animate | set | animateColor | SVG.feDiffuseLighting.extra.content)* feDiffuseLighting = element ns3:feDiffuseLighting { attlist.feDiffuseLighting, SVG.feDiffuseLighting.content } attlist.feDiffuseLighting &= SVG.Core.attrib, SVG.Style.attrib, SVG.Color.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute lighting-color { SVGColor.datatype }?, attribute surfaceScale { Number.datatype }?, attribute diffuseConstant { Number.datatype }?, attribute kernelUnitLength { NumberOptionalNumber.datatype }? SVG.feDisplacementMap.extra.content = notAllowed SVG.feDisplacementMap.content = (animate | set | SVG.feDisplacementMap.extra.content)* feDisplacementMap = element ns3:feDisplacementMap { attlist.feDisplacementMap, SVG.feDisplacementMap.content } attlist.feDisplacementMap &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute in2 { text }, attribute scale { Number.datatype }?, [ a:defaultValue = "A" ] attribute xChannelSelector { "R" | "G" | "B" | "A" }?, [ a:defaultValue = "A" ] attribute yChannelSelector { "R" | "G" | "B" | "A" }? SVG.feFlood.extra.content = notAllowed SVG.feFlood.content = (animate | set | animateColor | SVG.feFlood.extra.content)* feFlood = element ns3:feFlood { attlist.feFlood, SVG.feFlood.content } attlist.feFlood &= SVG.Core.attrib, SVG.Style.attrib, SVG.Color.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute flood-color { SVGColor.datatype }?, attribute flood-opacity { OpacityValue.datatype }? SVG.feGaussianBlur.extra.content = notAllowed SVG.feGaussianBlur.content = (animate | set | SVG.feGaussianBlur.extra.content)* feGaussianBlur = element ns3:feGaussianBlur { attlist.feGaussianBlur, SVG.feGaussianBlur.content } attlist.feGaussianBlur &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute stdDeviation { NumberOptionalNumber.datatype }? SVG.feImage.extra.content = notAllowed SVG.feImage.content = (animate | set | animateTransform | SVG.feImage.extra.content)* feImage = element ns3:feImage { attlist.feImage, SVG.feImage.content } attlist.feImage &= SVG.Core.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.FilterPrimitive.attrib, SVG.XLinkEmbed.attrib, SVG.External.attrib, [ a:defaultValue = "xMidYMid meet" ] attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? SVG.feMerge.extra.content = notAllowed SVG.feMerge.content = (feMergeNode | SVG.feMerge.extra.content)* feMerge = element ns3:feMerge { attlist.feMerge, SVG.feMerge.content } attlist.feMerge &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitive.attrib SVG.feMergeNode.extra.content = notAllowed SVG.feMergeNode.content = (animate | set | SVG.feMergeNode.extra.content)* feMergeNode = element ns3:feMergeNode { attlist.feMergeNode, SVG.feMergeNode.content } attlist.feMergeNode &= SVG.Core.attrib, attribute in { text }? SVG.feMorphology.extra.content = notAllowed SVG.feMorphology.content = (animate | set | SVG.feMorphology.extra.content)* feMorphology = element ns3:feMorphology { attlist.feMorphology, SVG.feMorphology.content } attlist.feMorphology &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, [ a:defaultValue = "erode" ] attribute operator { "erode" | "dilate" }?, attribute radius { NumberOptionalNumber.datatype }? SVG.feOffset.extra.content = notAllowed SVG.feOffset.content = (animate | set | SVG.feOffset.extra.content)* feOffset = element ns3:feOffset { attlist.feOffset, SVG.feOffset.content } attlist.feOffset &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute dx { Number.datatype }?, attribute dy { Number.datatype }? SVG.feSpecularLighting.extra.content = notAllowed SVG.feSpecularLighting.content = (feDistantLight | fePointLight | feSpotLight), (animate | set | animateColor | SVG.feSpecularLighting.extra.content)* feSpecularLighting = element ns3:feSpecularLighting { attlist.feSpecularLighting, SVG.feSpecularLighting.content } attlist.feSpecularLighting &= SVG.Core.attrib, SVG.Style.attrib, SVG.Color.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib, attribute lighting-color { SVGColor.datatype }?, attribute surfaceScale { Number.datatype }?, attribute specularConstant { Number.datatype }?, attribute specularExponent { Number.datatype }?, attribute kernelUnitLength { NumberOptionalNumber.datatype }? SVG.feTile.extra.content = notAllowed SVG.feTile.content = (animate | set | SVG.feTile.extra.content)* feTile = element ns3:feTile { attlist.feTile, SVG.feTile.content } attlist.feTile &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitiveWithIn.attrib SVG.feTurbulence.extra.content = notAllowed SVG.feTurbulence.content = (animate | set | SVG.feTurbulence.extra.content)* feTurbulence = element ns3:feTurbulence { attlist.feTurbulence, SVG.feTurbulence.content } attlist.feTurbulence &= SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitive.attrib, attribute baseFrequency { NumberOptionalNumber.datatype }?, attribute numOctaves { Integer.datatype }?, attribute seed { Number.datatype }?, [ a:defaultValue = "noStitch" ] attribute stitchTiles { "stitch" | "noStitch" }?, [ a:defaultValue = "turbulence" ] attribute type { "fractalNoise" | "turbulence" }? SVG.feDistantLight.extra.content = notAllowed SVG.feDistantLight.content = (animate | set | SVG.feDistantLight.extra.content)* feDistantLight = element ns3:feDistantLight { attlist.feDistantLight, SVG.feDistantLight.content } attlist.feDistantLight &= SVG.Core.attrib, attribute azimuth { Number.datatype }?, attribute elevation { Number.datatype }? SVG.fePointLight.extra.content = notAllowed SVG.fePointLight.content = (animate | set | SVG.fePointLight.extra.content)* fePointLight = element ns3:fePointLight { attlist.fePointLight, SVG.fePointLight.content } attlist.fePointLight &= SVG.Core.attrib, attribute x { Number.datatype }?, attribute y { Number.datatype }?, attribute z { Number.datatype }? SVG.feSpotLight.extra.content = notAllowed SVG.feSpotLight.content = (animate | set | SVG.feSpotLight.extra.content)* feSpotLight = element ns3:feSpotLight { attlist.feSpotLight, SVG.feSpotLight.content } attlist.feSpotLight &= SVG.Core.attrib, attribute x { Number.datatype }?, attribute y { Number.datatype }?, attribute z { Number.datatype }?, attribute pointsAtX { Number.datatype }?, attribute pointsAtY { Number.datatype }?, attribute pointsAtZ { Number.datatype }?, attribute specularExponent { Number.datatype }?, attribute limitingConeAngle { Number.datatype }? SVG.feFuncR.extra.content = notAllowed SVG.feFuncR.content = (animate | set | SVG.feFuncR.extra.content)* feFuncR = element ns3:feFuncR { attlist.feFuncR, SVG.feFuncR.content } attlist.feFuncR &= SVG.Core.attrib, attribute type { "identity" | "table" | "discrete" | "linear" | "gamma" }, attribute tableValues { text }?, attribute slope { Number.datatype }?, attribute intercept { Number.datatype }?, attribute amplitude { Number.datatype }?, attribute exponent { Number.datatype }?, attribute offset { Number.datatype }? SVG.feFuncG.extra.content = notAllowed SVG.feFuncG.content = (animate | set | SVG.feFuncG.extra.content)* feFuncG = element ns3:feFuncG { attlist.feFuncG, SVG.feFuncG.content } attlist.feFuncG &= SVG.Core.attrib, attribute type { "identity" | "table" | "discrete" | "linear" | "gamma" }, attribute tableValues { text }?, attribute slope { Number.datatype }?, attribute intercept { Number.datatype }?, attribute amplitude { Number.datatype }?, attribute exponent { Number.datatype }?, attribute offset { Number.datatype }? SVG.feFuncB.extra.content = notAllowed SVG.feFuncB.content = (animate | set | SVG.feFuncB.extra.content)* feFuncB = element ns3:feFuncB { attlist.feFuncB, SVG.feFuncB.content } attlist.feFuncB &= SVG.Core.attrib, attribute type { "identity" | "table" | "discrete" | "linear" | "gamma" }, attribute tableValues { text }?, attribute slope { Number.datatype }?, attribute intercept { Number.datatype }?, attribute amplitude { Number.datatype }?, attribute exponent { Number.datatype }?, attribute offset { Number.datatype }? SVG.feFuncA.extra.content = notAllowed SVG.feFuncA.content = (animate | set | SVG.feFuncA.extra.content)* feFuncA = element ns3:feFuncA { attlist.feFuncA, SVG.feFuncA.content } attlist.feFuncA &= SVG.Core.attrib, attribute type { "identity" | "table" | "discrete" | "linear" | "gamma" }, attribute tableValues { text }?, attribute slope { Number.datatype }?, attribute intercept { Number.datatype }?, attribute amplitude { Number.datatype }?, attribute exponent { Number.datatype }?, attribute offset { Number.datatype }? SVG.cursor.extra.content = notAllowed SVG.cursor.content = (SVG.Description.class | SVG.cursor.extra.content)* cursor = element ns3:cursor { attlist.cursor, SVG.cursor.content } attlist.cursor &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.XLinkRequired.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }? LinkTarget.datatype = xsd:NMTOKEN SVG.a.extra.content = notAllowed SVG.a.content = (text | SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.a.extra.content)* a = element ns3:a { attlist.a, SVG.a.content } attlist.a &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.GraphicalEvents.attrib, SVG.XLinkReplace.attrib, SVG.External.attrib, attribute transform { TransformList.datatype }?, attribute target { LinkTarget.datatype }? SVG.view.extra.content = notAllowed SVG.view.content = (SVG.Description.class | SVG.view.extra.content)* view = element ns3:view { attlist.view, SVG.view.content } attlist.view &= SVG.Core.attrib, SVG.External.attrib, attribute viewBox { ViewBoxSpec.datatype }?, [ a:defaultValue = "xMidYMid meet" ] attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, [ a:defaultValue = "magnify" ] attribute zoomAndPan { "disable" | "magnify" }?, attribute viewTarget { text }? SVG.script.extra.content = notAllowed SVG.script.content = (text | SVG.script.extra.content)* script = element ns3:script { attlist.script, SVG.script.content } attlist.script &= SVG.Core.attrib, SVG.XLink.attrib, SVG.External.attrib, attribute type { ContentType.datatype } SVG.Animation.extra.attrib = empty SVG.Animation.attrib = SVG.XLink.attrib, SVG.Animation.extra.attrib SVG.AnimationAttribute.extra.attrib = empty SVG.AnimationAttribute.attrib = attribute attributeName { text }, attribute attributeType { text }?, SVG.AnimationAttribute.extra.attrib SVG.AnimationTiming.extra.attrib = empty SVG.AnimationTiming.attrib = attribute begin { text }?, attribute dur { text }?, attribute end { text }?, attribute min { text }?, attribute max { text }?, [ a:defaultValue = "always" ] attribute restart { "always" | "never" | "whenNotActive" }?, attribute repeatCount { text }?, attribute repeatDur { text }?, [ a:defaultValue = "remove" ] attribute fill { "remove" | "freeze" }?, SVG.AnimationTiming.extra.attrib SVG.AnimationValue.extra.attrib = empty SVG.AnimationValue.attrib = [ a:defaultValue = "linear" ] attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?, attribute values { text }?, attribute keyTimes { text }?, attribute keySplines { text }?, attribute from { text }?, attribute to { text }?, attribute by { text }?, SVG.AnimationValue.extra.attrib SVG.AnimationAddtion.extra.attrib = empty SVG.AnimationAddtion.attrib = [ a:defaultValue = "replace" ] attribute additive { "replace" | "sum" }?, [ a:defaultValue = "none" ] attribute accumulate { "none" | "sum" }?, SVG.AnimationAddtion.extra.attrib SVG.animate.extra.content = notAllowed SVG.animate.content = (SVG.Description.class | SVG.animate.extra.content)* animate = element ns3:animate { attlist.animate, SVG.animate.content } attlist.animate &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.AnimationEvents.attrib, SVG.External.attrib, SVG.Animation.attrib, SVG.AnimationAttribute.attrib, SVG.AnimationTiming.attrib, SVG.AnimationValue.attrib, SVG.AnimationAddtion.attrib SVG.set.extra.content = notAllowed SVG.set.content = (SVG.Description.class | SVG.set.extra.content)* set = element ns3:set { attlist.set, SVG.set.content } attlist.set &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.AnimationEvents.attrib, SVG.External.attrib, SVG.Animation.attrib, SVG.AnimationAttribute.attrib, SVG.AnimationTiming.attrib, attribute to { text }? SVG.animateMotion.extra.content = empty SVG.animateMotion.content = SVG.Description.class*, mpath?, SVG.animateMotion.extra.content animateMotion = element ns3:animateMotion { attlist.animateMotion, SVG.animateMotion.content } attlist.animateMotion &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.AnimationEvents.attrib, SVG.External.attrib, SVG.Animation.attrib, SVG.AnimationTiming.attrib, SVG.AnimationAddtion.attrib, [ a:defaultValue = "paced" ] attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?, attribute values { text }?, attribute keyTimes { text }?, attribute keySplines { text }?, attribute from { text }?, attribute to { text }?, attribute by { text }?, attribute path { text }?, attribute keyPoints { text }?, attribute rotate { text }?, attribute origin { text }? SVG.animateColor.extra.content = notAllowed SVG.animateColor.content = (SVG.Description.class | SVG.animateColor.extra.content)* animateColor = element ns3:animateColor { attlist.animateColor, SVG.animateColor.content } attlist.animateColor &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.AnimationEvents.attrib, SVG.External.attrib, SVG.Animation.attrib, SVG.AnimationAttribute.attrib, SVG.AnimationTiming.attrib, SVG.AnimationValue.attrib, SVG.AnimationAddtion.attrib SVG.animateTransform.extra.content = notAllowed SVG.animateTransform.content = (SVG.Description.class | SVG.animateTransform.extra.content)* animateTransform = element ns3:animateTransform { attlist.animateTransform, SVG.animateTransform.content } attlist.animateTransform &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.AnimationEvents.attrib, SVG.External.attrib, SVG.Animation.attrib, SVG.AnimationAttribute.attrib, SVG.AnimationTiming.attrib, SVG.AnimationValue.attrib, SVG.AnimationAddtion.attrib, [ a:defaultValue = "translate" ] attribute type { "translate" | "scale" | "rotate" | "skewX" | "skewY" }? SVG.mpath.extra.content = notAllowed SVG.mpath.content = (SVG.Description.class | SVG.mpath.extra.content)* mpath = element ns3:mpath { attlist.mpath, SVG.mpath.content } attlist.mpath &= SVG.Core.attrib, SVG.XLinkRequired.attrib, SVG.External.attrib SVG.font.extra.content = notAllowed SVG.font.content = SVG.Description.class*, font-face, missing-glyph, (glyph | hkern | vkern | SVG.font.extra.content)* font = element ns3:font { attlist.font, SVG.font.content } attlist.font &= SVG.Core.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.External.attrib, attribute horiz-origin-x { Number.datatype }?, attribute horiz-origin-y { Number.datatype }?, attribute horiz-adv-x { Number.datatype }, attribute vert-origin-x { Number.datatype }?, attribute vert-origin-y { Number.datatype }?, attribute vert-adv-y { Number.datatype }? SVG.font-face.extra.content = empty SVG.font-face.content = SVG.Description.class*, font-face-src?, definition-src?, SVG.font-face.extra.content font-face = element ns3:font-face { attlist.font-face, SVG.font-face.content } attlist.font-face &= SVG.Core.attrib, attribute font-family { text }?, attribute font-style { text }?, attribute font-variant { text }?, attribute font-weight { text }?, attribute font-stretch { text }?, attribute font-size { text }?, attribute unicode-range { text }?, attribute units-per-em { Number.datatype }?, attribute panose-1 { text }?, attribute stemv { Number.datatype }?, attribute stemh { Number.datatype }?, attribute slope { Number.datatype }?, attribute cap-height { Number.datatype }?, attribute x-height { Number.datatype }?, attribute accent-height { Number.datatype }?, attribute ascent { Number.datatype }?, attribute descent { Number.datatype }?, attribute widths { text }?, attribute bbox { text }?, attribute ideographic { Number.datatype }?, attribute alphabetic { Number.datatype }?, attribute mathematical { Number.datatype }?, attribute hanging { Number.datatype }?, attribute v-ideographic { Number.datatype }?, attribute v-alphabetic { Number.datatype }?, attribute v-mathematical { Number.datatype }?, attribute v-hanging { Number.datatype }?, attribute underline-position { Number.datatype }?, attribute underline-thickness { Number.datatype }?, attribute strikethrough-position { Number.datatype }?, attribute strikethrough-thickness { Number.datatype }?, attribute overline-position { Number.datatype }?, attribute overline-thickness { Number.datatype }? SVG.glyph.extra.content = notAllowed SVG.glyph.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.glyph.extra.content)* glyph = element ns3:glyph { attlist.glyph, SVG.glyph.content } attlist.glyph &= SVG.Core.attrib, SVG.Style.attrib, SVG.Presentation.attrib, attribute unicode { text }?, attribute glyph-name { text }?, attribute d { PathData.datatype }?, attribute orientation { text }?, attribute arabic-form { text }?, attribute lang { LanguageCodes.datatype }?, attribute horiz-adv-x { Number.datatype }?, attribute vert-origin-x { Number.datatype }?, attribute vert-origin-y { Number.datatype }?, attribute vert-adv-y { Number.datatype }? SVG.missing-glyph.extra.content = notAllowed SVG.missing-glyph.content = (SVG.Description.class | SVG.Animation.class | SVG.Structure.class | SVG.Conditional.class | SVG.Image.class | SVG.Style.class | SVG.Shape.class | SVG.Text.class | SVG.Marker.class | SVG.ColorProfile.class | SVG.Gradient.class | SVG.Pattern.class | SVG.Clip.class | SVG.Mask.class | SVG.Filter.class | SVG.Cursor.class | SVG.Hyperlink.class | SVG.View.class | SVG.Script.class | SVG.Font.class | SVG.missing-glyph.extra.content)* missing-glyph = element ns3:missing-glyph { attlist.missing-glyph, SVG.missing-glyph.content } attlist.missing-glyph &= SVG.Core.attrib, SVG.Style.attrib, SVG.Presentation.attrib, attribute d { PathData.datatype }?, attribute horiz-adv-x { Number.datatype }?, attribute vert-origin-x { Number.datatype }?, attribute vert-origin-y { Number.datatype }?, attribute vert-adv-y { Number.datatype }? SVG.hkern.content = empty hkern = element ns3:hkern { attlist.hkern, SVG.hkern.content } attlist.hkern &= SVG.Core.attrib, attribute u1 { text }?, attribute g1 { text }?, attribute u2 { text }?, attribute g2 { text }?, attribute k { Number.datatype } SVG.vkern.content = empty vkern = element ns3:vkern { attlist.vkern, SVG.vkern.content } attlist.vkern &= SVG.Core.attrib, attribute u1 { text }?, attribute g1 { text }?, attribute u2 { text }?, attribute g2 { text }?, attribute k { Number.datatype } SVG.font-face-src.extra.content = notAllowed SVG.font-face-src.content = (font-face-uri | font-face-name | SVG.font-face-src.extra.content)+ font-face-src = element ns3:font-face-src { attlist.font-face-src, SVG.font-face-src.content } attlist.font-face-src &= SVG.Core.attrib SVG.font-face-uri.extra.content = notAllowed SVG.font-face-uri.content = (font-face-format | SVG.font-face-uri.extra.content)* font-face-uri = element ns3:font-face-uri { attlist.font-face-uri, SVG.font-face-uri.content } attlist.font-face-uri &= SVG.Core.attrib, SVG.XLinkRequired.attrib SVG.font-face-format.content = empty font-face-format = element ns3:font-face-format { attlist.font-face-format, SVG.font-face-format.content } attlist.font-face-format &= SVG.Core.attrib, attribute string { text }? SVG.font-face-name.content = empty font-face-name = element ns3:font-face-name { attlist.font-face-name, SVG.font-face-name.content } attlist.font-face-name &= SVG.Core.attrib, attribute name { text }? SVG.definition-src.content = empty definition-src = element ns3:definition-src { attlist.definition-src, SVG.definition-src.content } attlist.definition-src &= SVG.Core.attrib, SVG.XLinkRequired.attrib SVG.foreignObject.extra.content = notAllowed SVG.foreignObject.content = (text | SVG.foreignObject.extra.content)* foreignObject = element ns3:foreignObject { attlist.foreignObject, SVG.foreignObject.content } attlist.foreignObject &= SVG.Core.attrib, SVG.Conditional.attrib, SVG.Style.attrib, SVG.Presentation.attrib, SVG.GraphicalEvents.attrib, SVG.External.attrib, attribute x { Coordinate.datatype }?, attribute y { Coordinate.datatype }?, attribute width { Length.datatype }, attribute height { Length.datatype }, attribute transform { TransformList.datatype }? tei_model.graphicLike |= svg } div { div { math_XLINK.xmlns.attrib = empty MATHML.xmlns.extra.attrib = math_XLINK.xmlns.attrib MATHML.xmlns.attrib = empty, MATHML.xmlns.extra.attrib } MATHML.NamespaceDecl.attrib = MATHML.xmlns.attrib MATHML.Common.attrib = MATHML.NamespaceDecl.attrib, attribute xlink:href { text }?, attribute xlink:type { text }?, attribute class { text }?, attribute style { text }?, attribute id { xsd:ID }?, attribute xref { xsd:IDREF }?, attribute other { text }? mathml.att-fontsize = attribute fontsize { text }? mathml.att-fontweight = attribute fontweight { "normal" | "bold" }? mathml.att-fontstyle = attribute fontstyle { "normal" | "italic" }? mathml.att-fontfamily = attribute fontfamily { text }? mathml.att-color = attribute color { text }? mathml.att-mathvariant = attribute mathvariant { text }? mathml.att-mathsize = attribute mathsize { text }? mathml.att-mathcolor = attribute mathcolor { text }? mathml.att-mathbackground = attribute mathbackground { text }? mathml.att-fontinfo = mathml.att-fontsize, mathml.att-fontweight, mathml.att-fontstyle, mathml.att-fontfamily, mathml.att-color, mathml.att-mathvariant, mathml.att-mathsize, mathml.att-mathcolor, mathml.att-mathbackground mathml.att-form = attribute form { "prefix" | "infix" | "postfix" }? mathml.att-fence = attribute fence { "true" | "false" }? mathml.att-separator = attribute separator { "true" | "false" }? mathml.att-lspace = attribute lspace { text }? mathml.att-rspace = attribute rspace { text }? mathml.att-stretchy = attribute stretchy { "true" | "false" }? mathml.att-symmetric = attribute symmetric { "true" | "false" }? mathml.att-maxsize = attribute maxsize { text }? mathml.att-minsize = attribute minsize { text }? mathml.att-largeop = attribute largeop { "true" | "false" }? mathml.att-movablelimits = attribute movablelimits { "true" | "false" }? mathml.att-accent = attribute accent { "true" | "false" }? mathml.att-opinfo = mathml.att-form, mathml.att-fence, mathml.att-separator, mathml.att-lspace, mathml.att-rspace, mathml.att-stretchy, mathml.att-symmetric, mathml.att-maxsize, mathml.att-minsize, mathml.att-largeop, mathml.att-movablelimits, mathml.att-accent mathml.att-width = attribute width { text }? mathml.att-height = attribute height { text }? mathml.att-depth = attribute depth { text }? mathml.att-linebreak = attribute linebreak { text }? mathml.att-sizeinfo = mathml.att-width, mathml.att-height, mathml.att-depth mathml.att-lquote = attribute lquote { text }? mathml.att-rquote = attribute rquote { text }? mathml.att-linethickness = attribute linethickness { text }? mathml.att-scriptlevel = attribute scriptlevel { text }? mathml.att-displaystyle = attribute displaystyle { "true" | "false" }? mathml.att-scriptsizemultiplier = attribute scriptsizemultiplier { text }? mathml.att-scriptminsize = attribute scriptminsize { text }? mathml.att-background = attribute background { text }? mathml.att-veryverythinmathspace = attribute veryverythinmathspace { text }? mathml.att-verythinmathspace = attribute verythinmathspace { text }? mathml.att-thinmathspace = attribute thinmathspace { text }? mathml.att-mediummathspace = attribute mediummathspace { text }? mathml.att-thickmathspace = attribute thickmathspace { text }? mathml.att-verythickmathspace = attribute verythickmathspace { text }? mathml.att-veryverythickmathspace = attribute veryverythickmathspace { text }? mathml.att-open = attribute open { text }? mathml.att-close = attribute close { text }? mathml.att-separators = attribute separators { text }? mathml.att-subscriptshift = attribute subscriptshift { text }? mathml.att-superscriptshift = attribute superscriptshift { text }? mathml.att-accentunder = attribute accentunder { "true" | "false" }? mathml.att-align = attribute align { text }? mathml.att-numalign = attribute numalign { text }? mathml.att-denomalign = attribute denomalign { text }? mathml.att-rowalign = attribute rowalign { text }? mathml.att-columnalign = attribute columnalign { text }? mathml.att-columnwidth = attribute columnwidth { text }? mathml.att-groupalign = attribute groupalign { text }? mathml.att-alignmentscope = attribute alignmentscope { text }? mathml.att-rowspacing = attribute rowspacing { text }? mathml.att-columnspacing = attribute columnspacing { text }? mathml.att-rowlines = attribute rowlines { text }? mathml.att-columnlines = attribute columnlines { text }? mathml.att-frame = attribute frame { "none" | "solid" | "dashed" }? mathml.att-side = attribute side { "left" | "right" | "leftoverlap" | "rightoverlap" }? mathml.att-framespacing = attribute framespacing { text }? mathml.att-equalrows = attribute equalrows { text }? mathml.att-equalcolumns = attribute equalcolumns { text }? mathml.att-tableinfo = mathml.att-align, mathml.att-rowalign, mathml.att-columnalign, mathml.att-columnwidth, mathml.att-groupalign, mathml.att-alignmentscope, mathml.att-side, mathml.att-rowspacing, mathml.att-columnspacing, mathml.att-rowlines, mathml.att-columnlines, mathml.att-width, mathml.att-frame, mathml.att-framespacing, mathml.att-equalrows, mathml.att-equalcolumns, mathml.att-displaystyle mathml.att-rowspan = attribute rowspan { text }? mathml.att-columnspan = attribute columnspan { text }? mathml.att-edge = attribute edge { "left" | "right" }? mathml.att-actiontype = attribute actiontype { text }? mathml.att-selection = attribute selection { text }? mathml.att-name = attribute name { text }? mathml.att-alt = attribute alt { text }? mathml.att-index = attribute index { text }? mathml.att-bevelled = attribute bevelled { text }? mathml.ptoken = mathml.mi | mathml.mn | mathml.mo | mathml.mtext | mathml.ms mathml.attlist-mi &= MATHML.Common.attrib, mathml.att-fontinfo mathml.attlist-mn &= MATHML.Common.attrib, mathml.att-fontinfo mathml.attlist-mo &= MATHML.Common.attrib, mathml.att-fontinfo, mathml.att-opinfo mathml.attlist-mtext &= MATHML.Common.attrib, mathml.att-fontinfo mathml.attlist-ms &= MATHML.Common.attrib, mathml.att-fontinfo, mathml.att-lquote, mathml.att-rquote mathml.petoken = mathml.mspace mathml.mspace = element ns1:mspace { mathml.attlist-mspace, empty } mathml.any |= mathml.mspace mathml.attlist-mspace &= mathml.att-sizeinfo, mathml.att-linebreak, MATHML.Common.attrib mathml.pgenschema = mathml.mrow | mathml.mfrac | mathml.msqrt | mathml.mroot | mathml.menclose | mathml.mstyle | mathml.merror | mathml.mpadded | mathml.mphantom | mathml.mfenced mathml.attlist-mrow &= MATHML.Common.attrib mathml.attlist-mfrac &= MATHML.Common.attrib, mathml.att-bevelled, mathml.att-numalign, mathml.att-denomalign, mathml.att-linethickness mathml.attlist-msqrt &= MATHML.Common.attrib mathml.attlist-menclose &= MATHML.Common.attrib, [ a:defaultValue = "longdiv" ] attribute notation { text }? mathml.attlist-mroot &= MATHML.Common.attrib mathml.attlist-mstyle &= MATHML.Common.attrib, mathml.att-fontinfo, mathml.att-opinfo, mathml.att-lquote, mathml.att-rquote, mathml.att-linethickness, mathml.att-scriptlevel, mathml.att-scriptsizemultiplier, mathml.att-scriptminsize, mathml.att-background, mathml.att-veryverythinmathspace, mathml.att-verythinmathspace, mathml.att-thinmathspace, mathml.att-mediummathspace, mathml.att-thickmathspace, mathml.att-verythickmathspace, mathml.att-veryverythickmathspace, mathml.att-open, mathml.att-close, mathml.att-separators, mathml.att-subscriptshift, mathml.att-superscriptshift, mathml.att-accentunder, mathml.att-tableinfo, mathml.att-rowspan, mathml.att-columnspan, mathml.att-edge, mathml.att-actiontype, mathml.att-selection mathml.attlist-merror &= MATHML.Common.attrib mathml.attlist-mpadded &= MATHML.Common.attrib, mathml.att-sizeinfo, mathml.att-lspace mathml.attlist-mphantom &= MATHML.Common.attrib mathml.attlist-mfenced &= MATHML.Common.attrib, mathml.att-open, mathml.att-close, mathml.att-separators mathml.pscrschema = mathml.msub | mathml.msup | mathml.msubsup | mathml.munder | mathml.mover | mathml.munderover | mathml.mmultiscripts mathml.attlist-msub &= MATHML.Common.attrib, mathml.att-subscriptshift mathml.attlist-msup &= MATHML.Common.attrib, mathml.att-superscriptshift mathml.attlist-msubsup &= MATHML.Common.attrib, mathml.att-subscriptshift, mathml.att-superscriptshift mathml.attlist-munder &= MATHML.Common.attrib, mathml.att-accentunder mathml.attlist-mover &= MATHML.Common.attrib, mathml.att-accent mathml.attlist-munderover &= MATHML.Common.attrib, mathml.att-accent, mathml.att-accentunder mathml.attlist-mmultiscripts &= MATHML.Common.attrib, mathml.att-subscriptshift, mathml.att-superscriptshift mathml.pscreschema = mathml.mprescripts | mathml.none mathml.mprescripts = element ns1:mprescripts { mathml.attlist-mprescripts, empty } mathml.any |= mathml.mprescripts mathml.attlist-mprescripts &= MATHML.xmlns.attrib mathml.none = element ns1:none { mathml.attlist-none, empty } mathml.any |= mathml.none mathml.attlist-none &= MATHML.xmlns.attrib mathml.ptabschema = mathml.mtable | mathml.mtr | mathml.mlabeledtr | mathml.mtd mathml.attlist-mtable &= MATHML.Common.attrib, mathml.att-tableinfo mathml.attlist-mtr &= MATHML.Common.attrib, mathml.att-rowalign, mathml.att-columnalign, mathml.att-groupalign mathml.attlist-mlabeledtr &= MATHML.Common.attrib, mathml.att-rowalign, mathml.att-columnalign, mathml.att-groupalign mathml.attlist-mtd &= MATHML.Common.attrib, mathml.att-rowalign, mathml.att-columnalign, mathml.att-groupalign, mathml.att-rowspan, mathml.att-columnspan mathml.plschema = mathml.pgenschema | mathml.pscrschema | mathml.ptabschema mathml.peschema = mathml.maligngroup | mathml.malignmark mathml.malignmark = element ns1:malignmark { mathml.attlist-malignmark, empty } mathml.any |= mathml.malignmark mathml.attlist-malignmark &= mathml.att-edge mathml.maligngroup = element ns1:maligngroup { mathml.attlist-maligngroup, empty } mathml.any |= mathml.maligngroup mathml.attlist-maligngroup &= MATHML.Common.attrib, mathml.att-groupalign mathml.mglyph = element ns1:mglyph { mathml.attlist-mglyph, empty } mathml.any |= mathml.mglyph mathml.attlist-mglyph &= mathml.att-alt, mathml.att-fontfamily, mathml.att-index mathml.pactions = mathml.maction mathml.attlist-maction &= MATHML.Common.attrib, mathml.att-actiontype, mathml.att-selection mathml.PresInCont = mathml.ptoken | mathml.petoken | mathml.plschema | mathml.peschema | mathml.pactions mathml.Presentation = mathml.ptoken | mathml.petoken | mathml.pscreschema | mathml.plschema | mathml.peschema | mathml.pactions mathml.att-base = [ a:defaultValue = "10" ] attribute base { text }? mathml.att-closure = [ a:defaultValue = "closed" ] attribute closure { text }? mathml.att-definition = [ a:defaultValue = "" ] attribute definitionURL { text }? mathml.att-encoding = [ a:defaultValue = "" ] attribute encoding { text }? mathml.att-nargs = [ a:defaultValue = "1" ] attribute nargs { text }? mathml.att-occurrence = [ a:defaultValue = "function-model" ] attribute occurrence { text }? mathml.att-order = [ a:defaultValue = "numeric" ] attribute order { text }? mathml.att-scope = [ a:defaultValue = "local" ] attribute scope { text }? mathml.att-type = attribute type { text }? mathml.ctoken = mathml.csymbol | mathml.ci | mathml.cn mathml.attlist-ci &= MATHML.Common.attrib, mathml.att-type, mathml.att-definition, mathml.att-encoding mathml.attlist-csymbol &= MATHML.Common.attrib, mathml.att-encoding, mathml.att-type, mathml.att-definition mathml.attlist-cn &= MATHML.Common.attrib, mathml.att-type, mathml.att-base, mathml.att-definition, mathml.att-encoding mathml.cspecial = mathml.apply | mathml.reln | mathml.lambda mathml.attlist-apply &= MATHML.Common.attrib mathml.attlist-reln &= MATHML.Common.attrib mathml.attlist-lambda &= MATHML.Common.attrib mathml.cother = mathml.condition | mathml.declare | mathml.sep mathml.attlist-condition &= MATHML.Common.attrib mathml.attlist-declare &= MATHML.Common.attrib, mathml.att-type, mathml.att-scope, mathml.att-nargs, mathml.att-occurrence, mathml.att-definition, mathml.att-encoding mathml.sep = element ns1:sep { mathml.attlist-sep, empty } mathml.any |= mathml.sep mathml.attlist-sep &= MATHML.xmlns.attrib mathml.csemantics = mathml.semantics | mathml.annotation | mathml.annotation-xml mathml.attlist-semantics &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.attlist-annotation &= MATHML.Common.attrib, mathml.att-encoding mathml.attlist-annotation-xml &= MATHML.Common.attrib, mathml.att-encoding mathml.cconstructor = mathml.interval | mathml.list | mathml.matrix | mathml.matrixrow | mathml.set | mathml.vector | mathml.piecewise mathml.attlist-interval &= MATHML.Common.attrib, mathml.att-closure mathml.attlist-set &= MATHML.Common.attrib, mathml.att-type mathml.attlist-list &= MATHML.Common.attrib, mathml.att-order mathml.attlist-vector &= MATHML.Common.attrib mathml.attlist-matrix &= MATHML.Common.attrib mathml.attlist-matrixrow &= MATHML.Common.attrib mathml.attlist-piecewise &= MATHML.Common.attrib mathml.attlist-piece &= MATHML.Common.attrib mathml.attlist-otherwise &= MATHML.Common.attrib mathml.c0ary = mathml.integers | mathml.reals | mathml.rationals | mathml.naturalnumbers | mathml.complexes | mathml.primes | mathml.exponentiale | mathml.imaginaryi | mathml.notanumber | mathml.true | mathml.false | mathml.emptyset | mathml.pi | mathml.eulergamma | mathml.infinity mathml.integers = element ns1:integers { mathml.attlist-integers, empty } mathml.any |= mathml.integers mathml.attlist-integers &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.reals = element ns1:reals { mathml.attlist-reals, empty } mathml.any |= mathml.reals mathml.attlist-reals &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.rationals = element ns1:rationals { mathml.attlist-rationals, empty } mathml.any |= mathml.rationals mathml.attlist-rationals &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.naturalnumbers = element ns1:naturalnumbers { mathml.attlist-naturalnumbers, empty } mathml.any |= mathml.naturalnumbers mathml.attlist-naturalnumbers &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.complexes = element ns1:complexes { mathml.attlist-complexes, empty } mathml.any |= mathml.complexes mathml.attlist-complexes &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.primes = element ns1:primes { mathml.attlist-primes, empty } mathml.any |= mathml.primes mathml.attlist-primes &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.exponentiale = element ns1:exponentiale { mathml.attlist-exponentiale, empty } mathml.any |= mathml.exponentiale mathml.attlist-exponentiale &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.imaginaryi = element ns1:imaginaryi { mathml.attlist-imaginaryi, empty } mathml.any |= mathml.imaginaryi mathml.attlist-imaginaryi &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.notanumber = element ns1:notanumber { mathml.attlist-notanumber, empty } mathml.any |= mathml.notanumber mathml.attlist-notanumber &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.true = element ns1:true { mathml.attlist-true, empty } mathml.any |= mathml.true mathml.attlist-true &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.false = element ns1:false { mathml.attlist-false, empty } mathml.any |= mathml.false mathml.attlist-false &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.emptyset = element ns1:emptyset { mathml.attlist-emptyset, empty } mathml.any |= mathml.emptyset mathml.attlist-emptyset &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.pi = element ns1:pi { mathml.attlist-pi, empty } mathml.any |= mathml.pi mathml.attlist-pi &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.eulergamma = element ns1:eulergamma { mathml.attlist-eulergamma, empty } mathml.any |= mathml.eulergamma mathml.attlist-eulergamma &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.infinity = element ns1:infinity { mathml.attlist-infinity, empty } mathml.any |= mathml.infinity mathml.attlist-infinity &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cfuncop1ary = mathml.inverse | mathml.ident | mathml.domain | mathml.codomain | mathml.image mathml.inverse = element ns1:inverse { mathml.attlist-inverse, empty } mathml.any |= mathml.inverse mathml.attlist-inverse &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.domain = element ns1:domain { mathml.attlist-domain, empty } mathml.any |= mathml.domain mathml.attlist-domain &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.codomain = element ns1:codomain { mathml.attlist-codomain, empty } mathml.any |= mathml.codomain mathml.attlist-codomain &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.image = element ns1:image { mathml.attlist-image, empty } mathml.any |= mathml.image mathml.attlist-image &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cfuncopnary = mathml.fn | mathml.compose mathml.attlist-fn &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.ident = element ns1:ident { mathml.attlist-ident, empty } mathml.any |= mathml.ident mathml.attlist-ident &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.compose = element ns1:compose { mathml.attlist-compose, empty } mathml.any |= mathml.compose mathml.attlist-compose &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.carithop1ary = mathml.abs | mathml.conjugate | mathml.exp | mathml.factorial | mathml.arg | mathml.real | mathml.imaginary | mathml.floor | mathml.ceiling mathml.exp = element ns1:exp { mathml.attlist-exp, empty } mathml.any |= mathml.exp mathml.attlist-exp &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.abs = element ns1:abs { mathml.attlist-abs, empty } mathml.any |= mathml.abs mathml.attlist-abs &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arg = element ns1:arg { mathml.attlist-arg, empty } mathml.any |= mathml.arg mathml.attlist-arg &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.real = element ns1:real { mathml.attlist-real, empty } mathml.any |= mathml.real mathml.attlist-real &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.imaginary = element ns1:imaginary { mathml.attlist-imaginary, empty } mathml.any |= mathml.imaginary mathml.attlist-imaginary &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.conjugate = element ns1:conjugate { mathml.attlist-conjugate, empty } mathml.any |= mathml.conjugate mathml.attlist-conjugate &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.factorial = element ns1:factorial { mathml.attlist-factorial, empty } mathml.any |= mathml.factorial mathml.attlist-factorial &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.floor = element ns1:floor { mathml.attlist-floor, empty } mathml.any |= mathml.floor mathml.attlist-floor &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.ceiling = element ns1:ceiling { mathml.attlist-ceiling, empty } mathml.any |= mathml.ceiling mathml.attlist-ceiling &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.carithop1or2ary = mathml.minus mathml.minus = element ns1:minus { mathml.attlist-minus, empty } mathml.any |= mathml.minus mathml.attlist-minus &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.carithop2ary = mathml.quotient | mathml.divide | mathml.power | mathml.rem mathml.quotient = element ns1:quotient { mathml.attlist-quotient, empty } mathml.any |= mathml.quotient mathml.attlist-quotient &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.divide = element ns1:divide { mathml.attlist-divide, empty } mathml.any |= mathml.divide mathml.attlist-divide &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.power = element ns1:power { mathml.attlist-power, empty } mathml.any |= mathml.power mathml.attlist-power &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.rem = element ns1:rem { mathml.attlist-rem, empty } mathml.any |= mathml.rem mathml.attlist-rem &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.carithopnary = mathml.plus | mathml.times | mathml.max | mathml.min | mathml.gcd | mathml.lcm mathml.plus = element ns1:plus { mathml.attlist-plus, empty } mathml.any |= mathml.plus mathml.attlist-plus &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.max = element ns1:max { mathml.attlist-max, empty } mathml.any |= mathml.max mathml.attlist-max &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.min = element ns1:min { mathml.attlist-min, empty } mathml.any |= mathml.min mathml.attlist-min &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.times = element ns1:times { mathml.attlist-times, empty } mathml.any |= mathml.times mathml.attlist-times &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.gcd = element ns1:gcd { mathml.attlist-gcd, empty } mathml.any |= mathml.gcd mathml.attlist-gcd &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.lcm = element ns1:lcm { mathml.attlist-lcm, empty } mathml.any |= mathml.lcm mathml.attlist-lcm &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.carithoproot = mathml.root mathml.root = element ns1:root { mathml.attlist-root, empty } mathml.any |= mathml.root mathml.attlist-root &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.clogicopquant = mathml.exists | mathml.forall mathml.exists = element ns1:exists { mathml.attlist-exists, empty } mathml.any |= mathml.exists mathml.attlist-exists &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.forall = element ns1:forall { mathml.attlist-forall, empty } mathml.any |= mathml.forall mathml.attlist-forall &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.clogicopnary = mathml.and | mathml.or | mathml.xor mathml.and = element ns1:and { mathml.attlist-and, empty } mathml.any |= mathml.and mathml.attlist-and &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.or = element ns1:or { mathml.attlist-or, empty } mathml.any |= mathml.or mathml.attlist-or &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.xor = element ns1:xor { mathml.attlist-xor, empty } mathml.any |= mathml.xor mathml.attlist-xor &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.clogicop1ary = mathml.not mathml.not = element ns1:not { mathml.attlist-not, empty } mathml.any |= mathml.not mathml.attlist-not &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.clogicop2ary = mathml.implies mathml.implies = element ns1:implies { mathml.attlist-implies, empty } mathml.any |= mathml.implies mathml.attlist-implies &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.ccalcop = mathml.log | mathml.int | mathml.diff | mathml.partialdiff | mathml.divergence | mathml.grad | mathml.curl | mathml.laplacian mathml.divergence = element ns1:divergence { mathml.attlist-divergence, empty } mathml.any |= mathml.divergence mathml.attlist-divergence &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.grad = element ns1:grad { mathml.attlist-grad, empty } mathml.any |= mathml.grad mathml.attlist-grad &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.curl = element ns1:curl { mathml.attlist-curl, empty } mathml.any |= mathml.curl mathml.attlist-curl &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.laplacian = element ns1:laplacian { mathml.attlist-laplacian, empty } mathml.any |= mathml.laplacian mathml.attlist-laplacian &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.log = element ns1:log { mathml.attlist-log, empty } mathml.any |= mathml.log mathml.attlist-log &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.int = element ns1:int { mathml.attlist-int, empty } mathml.any |= mathml.int mathml.attlist-int &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.diff = element ns1:diff { mathml.attlist-diff, empty } mathml.any |= mathml.diff mathml.attlist-diff &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.partialdiff = element ns1:partialdiff { mathml.attlist-partialdiff, empty } mathml.any |= mathml.partialdiff mathml.attlist-partialdiff &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.ccalcop1ary = mathml.ln mathml.ln = element ns1:ln { mathml.attlist-ln, empty } mathml.any |= mathml.ln mathml.attlist-ln &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.csetop1ary = mathml.card mathml.card = element ns1:card { mathml.attlist-card, empty } mathml.any |= mathml.card mathml.attlist-card &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.csetop2ary = mathml.setdiff mathml.setdiff = element ns1:setdiff { mathml.attlist-setdiff, empty } mathml.any |= mathml.setdiff mathml.attlist-setdiff &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.csetopnary = mathml.union | mathml.intersect | mathml.cartesianproduct mathml.union = element ns1:union { mathml.attlist-union, empty } mathml.any |= mathml.union mathml.attlist-union &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.intersect = element ns1:intersect { mathml.attlist-intersect, empty } mathml.any |= mathml.intersect mathml.attlist-intersect &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cartesianproduct = element ns1:cartesianproduct { mathml.attlist-cartesianproduct, empty } mathml.any |= mathml.cartesianproduct mathml.attlist-cartesianproduct &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cseqop = mathml.sum | mathml.product | mathml.limit mathml.sum = element ns1:sum { mathml.attlist-sum, empty } mathml.any |= mathml.sum mathml.attlist-sum &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.product = element ns1:product { mathml.attlist-product, empty } mathml.any |= mathml.product mathml.attlist-product &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.limit = element ns1:limit { mathml.attlist-limit, empty } mathml.any |= mathml.limit mathml.attlist-limit &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.ctrigop = mathml.sin | mathml.cos | mathml.tan | mathml.sec | mathml.csc | mathml.cot | mathml.sinh | mathml.cosh | mathml.tanh | mathml.sech | mathml.csch | mathml.coth | mathml.arcsin | mathml.arccos | mathml.arctan | mathml.arccosh | mathml.arccot | mathml.arccoth | mathml.arccsc | mathml.arccsch | mathml.arcsec | mathml.arcsech | mathml.arcsinh | mathml.arctanh mathml.sin = element ns1:sin { mathml.attlist-sin, empty } mathml.any |= mathml.sin mathml.attlist-sin &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cos = element ns1:cos { mathml.attlist-cos, empty } mathml.any |= mathml.cos mathml.attlist-cos &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.tan = element ns1:tan { mathml.attlist-tan, empty } mathml.any |= mathml.tan mathml.attlist-tan &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.sec = element ns1:sec { mathml.attlist-sec, empty } mathml.any |= mathml.sec mathml.attlist-sec &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.csc = element ns1:csc { mathml.attlist-csc, empty } mathml.any |= mathml.csc mathml.attlist-csc &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cot = element ns1:cot { mathml.attlist-cot, empty } mathml.any |= mathml.cot mathml.attlist-cot &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.sinh = element ns1:sinh { mathml.attlist-sinh, empty } mathml.any |= mathml.sinh mathml.attlist-sinh &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cosh = element ns1:cosh { mathml.attlist-cosh, empty } mathml.any |= mathml.cosh mathml.attlist-cosh &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.tanh = element ns1:tanh { mathml.attlist-tanh, empty } mathml.any |= mathml.tanh mathml.attlist-tanh &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.sech = element ns1:sech { mathml.attlist-sech, empty } mathml.any |= mathml.sech mathml.attlist-sech &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.csch = element ns1:csch { mathml.attlist-csch, empty } mathml.any |= mathml.csch mathml.attlist-csch &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.coth = element ns1:coth { mathml.attlist-coth, empty } mathml.any |= mathml.coth mathml.attlist-coth &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arcsin = element ns1:arcsin { mathml.attlist-arcsin, empty } mathml.any |= mathml.arcsin mathml.attlist-arcsin &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arccos = element ns1:arccos { mathml.attlist-arccos, empty } mathml.any |= mathml.arccos mathml.attlist-arccos &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arctan = element ns1:arctan { mathml.attlist-arctan, empty } mathml.any |= mathml.arctan mathml.attlist-arctan &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arccosh = element ns1:arccosh { mathml.attlist-arccosh, empty } mathml.any |= mathml.arccosh mathml.attlist-arccosh &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arccot = element ns1:arccot { mathml.attlist-arccot, empty } mathml.any |= mathml.arccot mathml.attlist-arccot &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arccoth = element ns1:arccoth { mathml.attlist-arccoth, empty } mathml.any |= mathml.arccoth mathml.attlist-arccoth &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arccsc = element ns1:arccsc { mathml.attlist-arccsc, empty } mathml.any |= mathml.arccsc mathml.attlist-arccsc &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arccsch = element ns1:arccsch { mathml.attlist-arccsch, empty } mathml.any |= mathml.arccsch mathml.attlist-arccsch &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arcsec = element ns1:arcsec { mathml.attlist-arcsec, empty } mathml.any |= mathml.arcsec mathml.attlist-arcsec &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arcsech = element ns1:arcsech { mathml.attlist-arcsech, empty } mathml.any |= mathml.arcsech mathml.attlist-arcsech &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arcsinh = element ns1:arcsinh { mathml.attlist-arcsinh, empty } mathml.any |= mathml.arcsinh mathml.attlist-arcsinh &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.arctanh = element ns1:arctanh { mathml.attlist-arctanh, empty } mathml.any |= mathml.arctanh mathml.attlist-arctanh &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cstatopnary = mathml.mean | mathml.sdev | mathml.variance | mathml.median | mathml.mode mathml.mean = element ns1:mean { mathml.attlist-mean, empty } mathml.any |= mathml.mean mathml.attlist-mean &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.sdev = element ns1:sdev { mathml.attlist-sdev, empty } mathml.any |= mathml.sdev mathml.attlist-sdev &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.variance = element ns1:variance { mathml.attlist-variance, empty } mathml.any |= mathml.variance mathml.attlist-variance &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.median = element ns1:median { mathml.attlist-median, empty } mathml.any |= mathml.median mathml.attlist-median &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.mode = element ns1:mode { mathml.attlist-mode, empty } mathml.any |= mathml.mode mathml.attlist-mode &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cstatopmoment = mathml.moment mathml.moment = element ns1:moment { mathml.attlist-moment, empty } mathml.any |= mathml.moment mathml.attlist-moment &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.clalgop1ary = mathml.determinant | mathml.transpose mathml.determinant = element ns1:determinant { mathml.attlist-determinant, empty } mathml.any |= mathml.determinant mathml.attlist-determinant &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.transpose = element ns1:transpose { mathml.attlist-transpose, empty } mathml.any |= mathml.transpose mathml.attlist-transpose &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.clalgop2ary = mathml.vectorproduct | mathml.scalarproduct | mathml.outerproduct mathml.vectorproduct = element ns1:vectorproduct { mathml.attlist-vectorproduct, empty } mathml.any |= mathml.vectorproduct mathml.attlist-vectorproduct &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.scalarproduct = element ns1:scalarproduct { mathml.attlist-scalarproduct, empty } mathml.any |= mathml.scalarproduct mathml.attlist-scalarproduct &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.outerproduct = element ns1:outerproduct { mathml.attlist-outerproduct, empty } mathml.any |= mathml.outerproduct mathml.attlist-outerproduct &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.clalgopnary = mathml.selector mathml.selector = element ns1:selector { mathml.attlist-selector, empty } mathml.any |= mathml.selector mathml.attlist-selector &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cgenrel2ary = mathml.neq | mathml.factorof mathml.neq = element ns1:neq { mathml.attlist-neq, empty } mathml.any |= mathml.neq mathml.attlist-neq &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.factorof = element ns1:factorof { mathml.attlist-factorof, empty } mathml.any |= mathml.factorof mathml.attlist-factorof &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cgenrelnary = mathml.eq | mathml.leq | mathml.lt | mathml.geq | mathml.gt | mathml.equivalent | mathml.approx mathml.eq = element ns1:eq { mathml.attlist-eq, empty } mathml.any |= mathml.eq mathml.attlist-eq &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.equivalent = element ns1:equivalent { mathml.attlist-equivalent, empty } mathml.any |= mathml.equivalent mathml.attlist-equivalent &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.approx = element ns1:approx { mathml.attlist-approx, empty } mathml.any |= mathml.approx mathml.attlist-approx &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.gt = element ns1:gt { mathml.attlist-gt, empty } mathml.any |= mathml.gt mathml.attlist-gt &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.lt = element ns1:lt { mathml.attlist-lt, empty } mathml.any |= mathml.lt mathml.attlist-lt &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.geq = element ns1:geq { mathml.attlist-geq, empty } mathml.any |= mathml.geq mathml.attlist-geq &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.leq = element ns1:leq { mathml.attlist-leq, empty } mathml.any |= mathml.leq mathml.attlist-leq &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.csetrel2ary = mathml.in | mathml.notin | mathml.notsubset | mathml.notprsubset mathml.in = element ns1:in { mathml.attlist-in, empty } mathml.any |= mathml.in mathml.attlist-in &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.notin = element ns1:notin { mathml.attlist-notin, empty } mathml.any |= mathml.notin mathml.attlist-notin &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.notsubset = element ns1:notsubset { mathml.attlist-notsubset, empty } mathml.any |= mathml.notsubset mathml.attlist-notsubset &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.notprsubset = element ns1:notprsubset { mathml.attlist-notprsubset, empty } mathml.any |= mathml.notprsubset mathml.attlist-notprsubset &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.csetrelnary = mathml.subset | mathml.prsubset mathml.subset = element ns1:subset { mathml.attlist-subset, empty } mathml.any |= mathml.subset mathml.attlist-subset &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.prsubset = element ns1:prsubset { mathml.attlist-prsubset, empty } mathml.any |= mathml.prsubset mathml.attlist-prsubset &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding mathml.cseqrel2ary = mathml.tendsto mathml.tendsto = element ns1:tendsto { mathml.attlist-tendsto, empty } mathml.any |= mathml.tendsto mathml.attlist-tendsto &= MATHML.Common.attrib, mathml.att-definition, mathml.att-encoding, mathml.att-type mathml.cquantifier = mathml.lowlimit | mathml.uplimit | mathml.bvar | mathml.degree | mathml.logbase | mathml.momentabout | mathml.domainofapplication mathml.attlist-lowlimit &= MATHML.Common.attrib mathml.attlist-uplimit &= MATHML.Common.attrib mathml.attlist-bvar &= MATHML.Common.attrib mathml.attlist-degree &= MATHML.Common.attrib mathml.attlist-logbase &= MATHML.Common.attrib mathml.attlist-momentabout &= MATHML.Common.attrib mathml.attlist-domainofapplication &= MATHML.Common.attrib mathml.cop1ary = mathml.cfuncop1ary | mathml.carithop1ary | mathml.clogicop1ary | mathml.ccalcop1ary | mathml.ctrigop | mathml.clalgop1ary | mathml.csetop1ary mathml.cop2ary = mathml.carithop2ary | mathml.clogicop2ary | mathml.clalgop2ary | mathml.csetop2ary mathml.copnary = mathml.cfuncopnary | mathml.carithopnary | mathml.clogicopnary | mathml.csetopnary | mathml.cstatopnary | mathml.clalgopnary mathml.copmisc = mathml.carithoproot | mathml.carithop1or2ary | mathml.ccalcop | mathml.cseqop | mathml.cstatopmoment | mathml.clogicopquant mathml.crel2ary = mathml.cgenrel2ary | mathml.csetrel2ary | mathml.cseqrel2ary mathml.crelnary = mathml.cgenrelnary | mathml.csetrelnary mathml.Content = mathml.ctoken | mathml.cspecial | mathml.cother | mathml.csemantics | mathml.c0ary | mathml.cconstructor | mathml.cquantifier | mathml.cop1ary | mathml.cop2ary | mathml.copnary | mathml.copmisc | mathml.crel2ary | mathml.crelnary mathml.ContInPres = mathml.ci | mathml.csymbol | mathml.cn | mathml.c0ary | mathml.apply | mathml.fn | mathml.lambda | mathml.reln | mathml.cconstructor | mathml.semantics | mathml.declare mathml.ContentExpression = (mathml.Content | mathml.PresInCont)* mathml.PresExpression = (mathml.Presentation | mathml.ContInPres)* mathml.MathExpression = (mathml.PresInCont | mathml.ContInPres)* mathml.MathMLCharacters = text | mathml.mglyph mathml.ci = element ns1:ci { mathml.attlist-ci, (mathml.MathMLCharacters | mathml.PresInCont)* } mathml.any |= mathml.ci mathml.csymbol = element ns1:csymbol { mathml.attlist-csymbol, (mathml.MathMLCharacters | mathml.PresInCont)* } mathml.any |= mathml.csymbol mathml.cn = element ns1:cn { mathml.attlist-cn, (mathml.MathMLCharacters | mathml.sep | mathml.PresInCont)* } mathml.any |= mathml.cn mathml.apply = element ns1:apply { mathml.attlist-apply, mathml.ContentExpression } mathml.any |= mathml.apply mathml.reln = element ns1:reln { mathml.attlist-reln, mathml.ContentExpression } mathml.any |= mathml.reln mathml.lambda = element ns1:lambda { mathml.attlist-lambda, mathml.ContentExpression } mathml.any |= mathml.lambda mathml.condition = element ns1:condition { mathml.attlist-condition, mathml.ContentExpression } mathml.any |= mathml.condition mathml.declare = element ns1:declare { mathml.attlist-declare, mathml.ContentExpression } mathml.any |= mathml.declare mathml.semantics = element ns1:semantics { mathml.attlist-semantics, mathml.ContentExpression } mathml.any |= mathml.semantics mathml.Annotation.content = text mathml.annotation = element ns1:annotation { mathml.attlist-annotation, mathml.Annotation.content } mathml.any |= mathml.annotation mathml.annotation-xml = element ns1:annotation-xml { mathml.attlist-annotation-xml, mathml.any } mathml.any |= mathml.annotation-xml mathml.interval = element ns1:interval { mathml.attlist-interval, mathml.ContentExpression } mathml.any |= mathml.interval mathml.set = element ns1:set { mathml.attlist-set, mathml.ContentExpression } mathml.any |= mathml.set mathml.list = element ns1:list { mathml.attlist-list, mathml.ContentExpression } mathml.any |= mathml.list mathml.vector = element ns1:vector { mathml.attlist-vector, mathml.ContentExpression } mathml.any |= mathml.vector mathml.matrix = element ns1:matrix { mathml.attlist-matrix, mathml.ContentExpression } mathml.any |= mathml.matrix mathml.matrixrow = element ns1:matrixrow { mathml.attlist-matrixrow, mathml.ContentExpression } mathml.any |= mathml.matrixrow mathml.piecewise = element ns1:piecewise { mathml.attlist-piecewise, mathml.piece*, mathml.otherwise? } mathml.any |= mathml.piecewise mathml.piece = element ns1:piece { mathml.attlist-piece, mathml.ContentExpression } mathml.any |= mathml.piece mathml.otherwise = element ns1:otherwise { mathml.attlist-otherwise, mathml.ContentExpression } mathml.any |= mathml.otherwise mathml.fn = element ns1:fn { mathml.attlist-fn, mathml.ContentExpression } mathml.any |= mathml.fn mathml.lowlimit = element ns1:lowlimit { mathml.attlist-lowlimit, mathml.ContentExpression } mathml.any |= mathml.lowlimit mathml.uplimit = element ns1:uplimit { mathml.attlist-uplimit, mathml.ContentExpression } mathml.any |= mathml.uplimit mathml.bvar = element ns1:bvar { mathml.attlist-bvar, mathml.ContentExpression } mathml.any |= mathml.bvar mathml.degree = element ns1:degree { mathml.attlist-degree, mathml.ContentExpression } mathml.any |= mathml.degree mathml.logbase = element ns1:logbase { mathml.attlist-logbase, mathml.ContentExpression } mathml.any |= mathml.logbase mathml.momentabout = element ns1:momentabout { mathml.attlist-momentabout, mathml.ContentExpression } mathml.any |= mathml.momentabout mathml.domainofapplication = element ns1:domainofapplication { mathml.attlist-domainofapplication, mathml.ContentExpression } mathml.any |= mathml.domainofapplication mathml.mstyle = element ns1:mstyle { mathml.attlist-mstyle, mathml.PresExpression } mathml.any |= mathml.mstyle mathml.merror = element ns1:merror { mathml.attlist-merror, mathml.PresExpression } mathml.any |= mathml.merror mathml.mphantom = element ns1:mphantom { mathml.attlist-mphantom, mathml.PresExpression } mathml.any |= mathml.mphantom mathml.mrow = element ns1:mrow { mathml.attlist-mrow, mathml.PresExpression } mathml.any |= mathml.mrow mathml.mfrac = element ns1:mfrac { mathml.attlist-mfrac, mathml.PresExpression } mathml.any |= mathml.mfrac mathml.msqrt = element ns1:msqrt { mathml.attlist-msqrt, mathml.PresExpression } mathml.any |= mathml.msqrt mathml.menclose = element ns1:menclose { mathml.attlist-menclose, mathml.PresExpression } mathml.any |= mathml.menclose mathml.mroot = element ns1:mroot { mathml.attlist-mroot, mathml.PresExpression } mathml.any |= mathml.mroot mathml.msub = element ns1:msub { mathml.attlist-msub, mathml.PresExpression } mathml.any |= mathml.msub mathml.msup = element ns1:msup { mathml.attlist-msup, mathml.PresExpression } mathml.any |= mathml.msup mathml.msubsup = element ns1:msubsup { mathml.attlist-msubsup, mathml.PresExpression } mathml.any |= mathml.msubsup mathml.mmultiscripts = element ns1:mmultiscripts { mathml.attlist-mmultiscripts, mathml.PresExpression } mathml.any |= mathml.mmultiscripts mathml.munder = element ns1:munder { mathml.attlist-munder, mathml.PresExpression } mathml.any |= mathml.munder mathml.mover = element ns1:mover { mathml.attlist-mover, mathml.PresExpression } mathml.any |= mathml.mover mathml.munderover = element ns1:munderover { mathml.attlist-munderover, mathml.PresExpression } mathml.any |= mathml.munderover mathml.mtable = element ns1:mtable { mathml.attlist-mtable, mathml.PresExpression } mathml.any |= mathml.mtable mathml.mtr = element ns1:mtr { mathml.attlist-mtr, mathml.PresExpression } mathml.any |= mathml.mtr mathml.mlabeledtr = element ns1:mlabeledtr { mathml.attlist-mlabeledtr, mathml.PresExpression } mathml.any |= mathml.mlabeledtr mathml.mtd = element ns1:mtd { mathml.attlist-mtd, mathml.PresExpression } mathml.any |= mathml.mtd mathml.maction = element ns1:maction { mathml.attlist-maction, mathml.PresExpression } mathml.any |= mathml.maction mathml.mfenced = element ns1:mfenced { mathml.attlist-mfenced, mathml.PresExpression } mathml.any |= mathml.mfenced mathml.mpadded = element ns1:mpadded { mathml.attlist-mpadded, mathml.PresExpression } mathml.any |= mathml.mpadded mathml.mi = element ns1:mi { mathml.attlist-mi, (mathml.MathMLCharacters | mathml.malignmark)* } mathml.any |= mathml.mi mathml.mn = element ns1:mn { mathml.attlist-mn, (mathml.MathMLCharacters | mathml.malignmark)* } mathml.any |= mathml.mn mathml.mo = element ns1:mo { mathml.attlist-mo, (mathml.MathMLCharacters | mathml.malignmark)* } mathml.any |= mathml.mo mathml.mtext = element ns1:mtext { mathml.attlist-mtext, (mathml.MathMLCharacters | mathml.malignmark)* } mathml.any |= mathml.mtext mathml.ms = element ns1:ms { mathml.attlist-ms, (mathml.MathMLCharacters | mathml.malignmark)* } mathml.any |= mathml.ms mathml.att-macros = attribute macros { text }? mathml.att-mode = attribute mode { text }? mathml.att-display = attribute display { text }? mathml.att-topinfo = MATHML.Common.attrib, mathml.att-macros, mathml.att-mode, mathml.att-display mathml.att-baseline = attribute baseline { text }? mathml.att-overflow = [ a:defaultValue = "scroll" ] attribute overflow { "scroll" | "elide" | "truncate" | "scale" }? mathml.att-altimg = attribute altimg { text }? mathml.att-alttext = attribute alttext { text }? mathml.att-browif = mathml.att-type, mathml.att-name, mathml.att-height, mathml.att-width, mathml.att-baseline, mathml.att-overflow, mathml.att-altimg, mathml.att-alttext mathml.math = element ns1:math { mathml.attlist-math, mathml.MathExpression } mathml.any |= mathml.math mathml.attlist-math &= mathml.att-topinfo, mathml.att-browif mathml.any |= text } tei_macro.paraContent = (text | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_model.global)* tei_macro.limitedContent = (text | tei_model.limitedPhrase | tei_model.inter)* tei_macro.phraseSeq = (text | tei_model.gLike | tei_model.phrase | tei_model.global)* tei_macro.phraseSeq.limited = (text | tei_model.limitedPhrase | tei_model.global)* tei_macro.specialPara = (text | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_model.divPart | tei_model.global)* tei_macro.xtext = (text | tei_model.gLike)* tei_data.certainty = "high" | "medium" | "low" | "unknown" tei_data.probability = xsd:double { minInclusive = "0" maxInclusive = "1" } tei_data.numeric = xsd:double | xsd:token { pattern = "(\-?[\d]+/\-?[\d]+)" } | xsd:decimal tei_data.count = xsd:nonNegativeInteger tei_data.temporal.w3c = xsd:date | xsd:gYear | xsd:gMonth | xsd:gDay | xsd:gYearMonth | xsd:gMonthDay | xsd:time | xsd:dateTime tei_data.duration.w3c = xsd:duration tei_data.truthValue = xsd:boolean tei_data.xTruthValue = xsd:boolean | "unknown" | "inapplicable" tei_data.language = xsd:language tei_data.sex = "0" | "1" | "2" | "9" tei_data.namespace = xsd:anyURI tei_data.outputMeasurement = xsd:token { pattern = "[\-+]?\d+(\.\d+)?(%|cm|mm|in|pt|pc|px|em|ex|gd|rem|vw|vh|vm)" } tei_data.pattern = xsd:token tei_data.point = xsd:token { pattern = "(\-?[0-9]+\.?[0-9]*,\-?[0-9]+\.?[0-9]*)" } tei_data.pointer = xsd:anyURI tei_data.version = xsd:token { pattern = "[\d]+(\.[\d]+){0,2}" } tei_data.key = xsd:string tei_data.word = xsd:token { pattern = "(\p{L}|\p{N}|\p{P}|\p{S})+" } tei_data.code = xsd:anyURI tei_data.name = xsd:Name tei_data.enumerated = tei_data.name tei_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/:+\-]+" } tei_data.duration.iso = xsd:token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } tei_macro.anyXML = element * - (ns2:* | ns1:* | ns3:* | egXML) { attribute * { text }*, (text | tei_macro.anyXML)* } tei_macro.schemaPattern = tei_macro.anyXML tei_macro.anyThing = svg | g | defs | desc | title | metadata | symbol | use | switch | image | style | path | rect | circle | line | ellipse | polyline | polygon | \text | tspan | tref | textPath | altGlyph | altGlyphDef | altGlyphItem | glyphRef | marker | color-profile | linearGradient | radialGradient | stop | svgpattern | clipPath | mask | filter | feBlend | feColorMatrix | feComponentTransfer | feComposite | feConvolveMatrix | feDiffuseLighting | feDisplacementMap | feFlood | feGaussianBlur | feImage | feMerge | feMergeNode | feMorphology | feOffset | feSpecularLighting | feTile | feTurbulence | feDistantLight | fePointLight | feSpotLight | feFuncR | feFuncG | feFuncB | feFuncA | cursor | a | view | script | animate | set | animateMotion | animateColor | animateTransform | mpath | font | font-face | glyph | missing-glyph | hkern | vkern | font-face-src | font-face-uri | font-face-format | font-face-name | definition-src | foreignObject | mathml.mspace | mathml.mprescripts | mathml.none | mathml.malignmark | mathml.maligngroup | mathml.mglyph | mathml.sep | mathml.integers | mathml.reals | mathml.rationals | mathml.naturalnumbers | mathml.complexes | mathml.primes | mathml.exponentiale | mathml.imaginaryi | mathml.notanumber | mathml.true | mathml.false | mathml.emptyset | mathml.pi | mathml.eulergamma | mathml.infinity | mathml.inverse | mathml.domain | mathml.codomain | mathml.image | mathml.ident | mathml.compose | mathml.exp | mathml.abs | mathml.arg | mathml.real | mathml.imaginary | mathml.conjugate | mathml.factorial | mathml.floor | mathml.ceiling | mathml.minus | mathml.quotient | mathml.divide | mathml.power | mathml.rem | mathml.plus | mathml.max | mathml.min | mathml.times | mathml.gcd | mathml.lcm | mathml.root | mathml.exists | mathml.forall | mathml.and | mathml.or | mathml.xor | mathml.not | mathml.implies | mathml.divergence | mathml.grad | mathml.curl | mathml.laplacian | mathml.log | mathml.int | mathml.diff | mathml.partialdiff | mathml.ln | mathml.card | mathml.setdiff | mathml.union | mathml.intersect | mathml.cartesianproduct | mathml.sum | mathml.product | mathml.limit | mathml.sin | mathml.cos | mathml.tan | mathml.sec | mathml.csc | mathml.cot | mathml.sinh | mathml.cosh | mathml.tanh | mathml.sech | mathml.csch | mathml.coth | mathml.arcsin | mathml.arccos | mathml.arctan | mathml.arccosh | mathml.arccot | mathml.arccoth | mathml.arccsc | mathml.arccsch | mathml.arcsec | mathml.arcsech | mathml.arcsinh | mathml.arctanh | mathml.mean | mathml.sdev | mathml.variance | mathml.median | mathml.mode | mathml.moment | mathml.determinant | mathml.transpose | mathml.vectorproduct | mathml.scalarproduct | mathml.outerproduct | mathml.selector | mathml.neq | mathml.factorof | mathml.eq | mathml.equivalent | mathml.approx | mathml.gt | mathml.lt | mathml.geq | mathml.leq | mathml.in | mathml.notin | mathml.notsubset | mathml.notprsubset | mathml.subset | mathml.prsubset | mathml.tendsto | mathml.ci | mathml.csymbol | mathml.cn | mathml.apply | mathml.reln | mathml.lambda | mathml.condition | mathml.declare | mathml.semantics | mathml.annotation | mathml.annotation-xml | mathml.interval | mathml.set | mathml.list | mathml.vector | mathml.matrix | mathml.matrixrow | mathml.piecewise | mathml.piece | mathml.otherwise | mathml.fn | mathml.lowlimit | mathml.uplimit | mathml.bvar | mathml.degree | mathml.logbase | mathml.momentabout | mathml.domainofapplication | mathml.mstyle | mathml.merror | mathml.mphantom | mathml.mrow | mathml.mfrac | mathml.msqrt | mathml.menclose | mathml.mroot | mathml.msub | mathml.msup | mathml.msubsup | mathml.mmultiscripts | mathml.munder | mathml.mover | mathml.munderover | mathml.mtable | mathml.mtr | mathml.mlabeledtr | mathml.mtd | mathml.maction | mathml.mfenced | mathml.mpadded | mathml.mi | mathml.mn | mathml.mo | mathml.mtext | mathml.ms | mathml.math | tei_p | tei_foreign | tei_emph | tei_hi | tei_distinct | tei_said | tei_quote | tei_q | tei_cit | tei_mentioned | tei_soCalled | tei_desc | tei_gloss | tei_term | tei_sic | tei_corr | tei_choice | tei_reg | tei_orig | tei_gap | tei_add | tei_del | tei_unclear | tei_name | tei_rs | tei_email | tei_address | tei_addrLine | tei_street | tei_postCode | tei_postBox | tei_num | tei_measure | tei_measureGrp | tei_date | tei_time | tei_abbr | tei_expan | tei_ptr | tei_ref | tei_list | tei_item | tei_label | tei_head | tei_headLabel | tei_headItem | tei_note | tei_index | tei_graphic | tei_binaryObject | tei_milestone | tei_gb | tei_pb | tei_lb | tei_cb | tei_analytic | tei_monogr | tei_series | tei_author | tei_editor | tei_respStmt | tei_resp | tei_title | tei_meeting | tei_imprint | tei_publisher | tei_biblScope | tei_pubPlace | tei_bibl | tei_biblStruct | tei_listBibl | tei_relatedItem | tei_l | tei_lg | tei_sp | tei_speaker | tei_stage | tei_teiCorpus | tei_divGen | tei_textLang | tei_s | tei_cl | tei_phr | tei_w | tei_m | tei_c | tei_pc | tei_span | tei_spanGrp | tei_interp | tei_interpGrp | tei_precision | tei_certainty | tei_respons | tei_textDesc | tei_particDesc | tei_settingDesc | tei_channel | tei_constitution | tei_derivation | tei_domain | tei_factuality | tei_interaction | tei_preparedness | tei_purpose | tei_setting | tei_locale | tei_activity | tei_superEntry | tei_entry | tei_entryFree | tei_hom | tei_sense | tei_dictScrap | tei_form | tei_orth | tei_pron | tei_hyph | tei_syll | tei_stress | tei_gram | tei_gen | tei_number | tei_case | tei_per | tei_tns | tei_mood | tei_iType | tei_gramGrp | tei_pos | tei_subc | tei_colloc | tei_def | tei_etym | tei_lang | tei_usg | tei_lbl | tei_xr | tei_re | tei_oRef | tei_oVar | tei_pRef | tei_pVar | tei_set | tei_prologue | tei_epilogue | tei_performance | tei_castList | tei_castGroup | tei_castItem | tei_role | tei_roleDesc | tei_actor | tei_spGrp | tei_move | tei_view | tei_camera | tei_sound | tei_caption | tei_tech | tei_table | tei_row | tei_cell | tei_formula | tei_notatedMusic | tei_figure | tei_figDesc | tei_g | tei_char | tei_charName | tei_charProp | tei_charDecl | tei_glyph | tei_glyphName | tei_localName | tei_mapping | tei_unicodeName | tei_value | tei_teiHeader | tei_fileDesc | tei_titleStmt | tei_sponsor | tei_funder | tei_principal | tei_editionStmt | tei_edition | tei_extent | tei_publicationStmt | tei_distributor | tei_authority | tei_idno | tei_availability | tei_licence | tei_seriesStmt | tei_notesStmt | tei_sourceDesc | tei_biblFull | tei_encodingDesc | tei_projectDesc | tei_samplingDecl | tei_editorialDecl | tei_correction | tei_normalization | tei_quotation | tei_hyphenation | tei_segmentation | tei_stdVals | tei_interpretation | tei_tagsDecl | tei_tagUsage | tei_namespace | tei_rendition | tei_refsDecl | tei_cRefPattern | tei_refState | tei_classDecl | tei_taxonomy | tei_category | tei_catDesc | tei_appInfo | tei_application | tei_profileDesc | tei_handNote | tei_creation | tei_langUsage | tei_language | tei_textClass | tei_keywords | tei_classCode | tei_catRef | tei_calendarDesc | tei_calendar | tei_revisionDesc | tei_change | tei_typeNote | tei_scriptNote | tei_listChange | tei_geoDecl | tei_fsdDecl | tei_fsDecl | tei_fsDescr | tei_fsdLink | tei_fDecl | tei_fDescr | tei_vRange | tei_vDefault | tei_if | tei_then | tei_fsConstraints | tei_cond | tei_bicond | tei_iff | tei_fs | tei_f | tei_binary | tei_symbol | tei_numeric | tei_string | tei_vLabel | tei_vColl | tei_default | tei_vAlt | tei_vNot | tei_vMerge | tei_fLib | tei_fvLib | tei_link | tei_linkGrp | tei_ab | tei_anchor | tei_seg | tei_when | tei_timeline | tei_join | tei_joinGrp | tei_alt | tei_altGrp | tei_msDesc | tei_catchwords | tei_dimensions | tei_dim | tei_height | tei_depth | tei_width | tei_heraldry | tei_locus | tei_locusGrp | tei_material | tei_objectType | tei_origDate | tei_origPlace | tei_secFol | tei_signatures | tei_stamp | tei_watermark | tei_msIdentifier | tei_institution | tei_repository | tei_collection | tei_altIdentifier | tei_msName | tei_colophon | tei_explicit | tei_filiation | tei_finalRubric | tei_incipit | tei_msContents | tei_msItem | tei_msItemStruct | tei_rubric | tei_summary | tei_physDesc | tei_objectDesc | tei_supportDesc | tei_support | tei_collation | tei_foliation | tei_condition | tei_layoutDesc | tei_layout | tei_handDesc | tei_typeDesc | tei_scriptDesc | tei_musicNotation | tei_decoDesc | tei_decoNote | tei_additions | tei_bindingDesc | tei_binding | tei_sealDesc | tei_seal | tei_accMat | tei_history | tei_origin | tei_provenance | tei_acquisition | tei_additional | tei_adminInfo | tei_recordHist | tei_source | tei_custodialHist | tei_custEvent | tei_surrogates | tei_msPart | tei_orgName | tei_persName | tei_surname | tei_forename | tei_genName | tei_nameLink | tei_addName | tei_roleName | tei_placeName | tei_bloc | tei_country | tei_region | tei_district | tei_settlement | tei_offset | tei_geogName | tei_geogFeat | tei_affiliation | tei_age | tei_birth | tei_climate | tei_death | tei_education | tei_event | tei_faith | tei_floruit | tei_geo | tei_langKnowledge | tei_langKnown | tei_listOrg | tei_listEvent | tei_listPerson | tei_listPlace | tei_location | tei_nationality | tei_occupation | tei_org | tei_listRelation | tei_relationGrp | tei_person | tei_personGrp | tei_place | tei_population | tei_relation | tei_residence | tei_sex | tei_socecStatus | tei_state | tei_terrain | tei_trait | tei_nym | tei_listNym | tei_graph | tei_node | tei_arc | tei_tree | tei_root | tei_iNode | tei_leaf | tei_eTree | tei_triangle | tei_eLeaf | tei_forest | tei_listForest | tei_scriptStmt | tei_recordingStmt | tei_recording | tei_equipment | tei_broadcast | tei_u | tei_pause | tei_vocal | tei_kinesic | tei_incident | tei_writing | tei_shift | tei_att | tei_code | tei_eg | tei_egXML | tei_gi | tei_ident | tei_tag | tei_val | tei_specList | tei_specDesc | tei_classRef | tei_elementRef | tei_macroRef | tei_moduleRef | tei_moduleSpec | tei_schemaSpec | tei_specGrp | tei_specGrpRef | tei_elementSpec | tei_classSpec | tei_macroSpec | tei_remarks | tei_listRef | tei_exemplum | tei_classes | tei_memberOf | tei_equiv | tei_altIdent | tei_content | tei_constraint | tei_constraintSpec | tei_attList | tei_attDef | tei_attRef | tei_datatype | tei_defaultVal | tei_valDesc | tei_valItem | tei_valList | tei_app | tei_lem | tei_rdg | tei_rdgGrp | tei_witDetail | tei_wit | tei_listWit | tei_witness | tei_witStart | tei_witEnd | tei_lacunaStart | tei_lacunaEnd | tei_variantEncoding | tei_TEI | tei_text | tei_body | tei_group | tei_floatingText | tei_div | tei_div1 | tei_div2 | tei_div3 | tei_div4 | tei_div5 | tei_div6 | tei_div7 | tei_trailer | tei_byline | tei_dateline | tei_argument | tei_epigraph | tei_opener | tei_closer | tei_salute | tei_signed | tei_postscript | tei_titlePage | tei_docTitle | tei_titlePart | tei_docAuthor | tei_imprimatur | tei_docEdition | tei_docImprint | tei_docDate | tei_front | tei_back | tei_facsimile | tei_sourceDoc | tei_surface | tei_surfaceGrp | tei_zone | tei_addSpan | tei_damage | tei_damageSpan | tei_delSpan | tei_ex | tei_fw | tei_handNotes | tei_handShift | tei_am | tei_restore | tei_space | tei_subst | tei_substJoin | tei_supplied | tei_surplus | tei_line | tei_listTranspose | tei_metamark | tei_mod | tei_redo | tei_retrace | tei_transpose | tei_undo | tei_metDecl | tei_metSym | tei_caesura | tei_rhyme tei_att.ascribed.attributes = tei_att.ascribed.attribute.who tei_att.ascribed.attribute.who = ## indicates the person, or group of people, to whom the element content is ascribed. attribute who { list { tei_data.pointer, tei_data.pointer* } }? tei_att.canonical.attributes = tei_att.canonical.attribute.key, tei_att.canonical.attribute.ref tei_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 { tei_data.key }? tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_att.ranging.attributes = tei_att.ranging.attribute.atLeast, tei_att.ranging.attribute.atMost, tei_att.ranging.attribute.min, tei_att.ranging.attribute.max, tei_att.ranging.attribute.confidence tei_att.ranging.attribute.atLeast = ## gives a minimum estimated value for the approximate measurement. attribute atLeast { tei_data.numeric }? tei_att.ranging.attribute.atMost = ## gives a maximum estimated value for the approximate measurement. attribute atMost { tei_data.numeric }? tei_att.ranging.attribute.min = ## where the measurement summarizes more than one observation ## or a range, supplies the minimum value ## observed. attribute min { tei_data.numeric }? tei_att.ranging.attribute.max = ## where the measurement summarizes more than one observation ## or a range, supplies the maximum value ## observed. attribute max { tei_data.numeric }? tei_att.ranging.attribute.confidence = ## 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 { tei_data.probability }? tei_att.dimensions.attributes = tei_att.ranging.attributes, tei_att.dimensions.attribute.unit, tei_att.dimensions.attribute.quantity, tei_att.dimensions.attribute.extent, tei_att.dimensions.attribute.precision, tei_att.dimensions.attribute.scope tei_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 }? tei_att.dimensions.attribute.quantity = ## specifies the length in the units specified attribute quantity { tei_data.numeric }? tei_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 { list { tei_data.word, tei_data.word* } }? tei_att.dimensions.attribute.precision = ## characterizes the precision of the values specified by the other attributes. attribute precision { tei_data.certainty }? tei_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 { tei_data.enumerated }? tei_att.damaged.attributes = tei_att.dimensions.attributes, tei_att.damaged.attribute.hand, tei_att.damaged.attribute.agent, tei_att.damaged.attribute.degree, tei_att.damaged.attribute.group tei_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. attribute hand { tei_data.pointer }? tei_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 { tei_data.enumerated }? tei_att.damaged.attribute.degree = ## Signifies the degree of damage according to a convenient scale. The damage tag ## 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 { tei_data.probability | tei_data.certainty }? tei_att.damaged.attribute.group = ## assigns an arbitrary number to each stretch of damage regarded as forming part of the ## same physical phenomenon. attribute group { tei_data.count }? tei_att.breaking.attributes = tei_att.breaking.attribute.break tei_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 { tei_data.enumerated }? tei_att.datable.w3c.attributes = tei_att.datable.w3c.attribute.when, tei_att.datable.w3c.attribute.notBefore, tei_att.datable.w3c.attribute.notAfter, tei_att.datable.w3c.attribute.from, tei_att.datable.w3c.attribute.to tei_att.datable.w3c.attribute.when = ## supplies the value of the date or time in a standard form, ## e.g. yyyy-mm-dd. attribute when { tei_data.temporal.w3c }? tei_att.datable.w3c.attribute.notBefore = ## specifies the earliest possible date for the event in ## standard form, e.g. yyyy-mm-dd. attribute notBefore { tei_data.temporal.w3c }? tei_att.datable.w3c.attribute.notAfter = ## specifies the latest possible date for the event in ## standard form, e.g. yyyy-mm-dd. attribute notAfter { tei_data.temporal.w3c }? tei_att.datable.w3c.attribute.from = ## indicates the starting point of the period in standard form, e.g. yyyy-mm-dd. attribute from { tei_data.temporal.w3c }? tei_att.datable.w3c.attribute.to = ## indicates the ending point of the period in standard ## form, e.g. yyyy-mm-dd. attribute to { tei_data.temporal.w3c }? tei_att.datable.attributes = tei_att.datable.w3c.attributes, tei_att.datable.iso.attributes, tei_att.datable.custom.attributes, tei_att.datable.attribute.calendar, tei_att.datable.attribute.period tei_att.datable.attribute.calendar = ## indicates the system or calendar to which the date represented by the content of this ## element belongs. attribute calendar { tei_data.pointer }? tei_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 { tei_data.pointer }? tei_att.declarable.attributes = tei_att.declarable.attribute.default tei_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" }? tei_att.declaring.attributes = tei_att.declaring.attribute.decls tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_att.divLike.attributes = tei_att.metrical.attributes, tei_att.divLike.attribute.org, tei_att.divLike.attribute.sample, tei_att.divLike.attribute.part tei_att.divLike.attribute.org = ## (organization) specifies how the content of the division is organized. [ a:defaultValue = "uniform" ] attribute org { ## composite content: i.e. no claim is made about the ## sequence in which the immediate contents of this division ## are to be processed, or their inter-relationships. "composite" | ## uniform content: i.e. the immediate contents of this ## element are regarded as forming a logical unit, to be ## processed in sequence. "uniform" }? tei_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" }? tei_att.divLike.attribute.part = ## specifies whether or not the division is fragmented by ## some other structural element, for example a speech which is ## divided between two or more verse stanzas. [ a:defaultValue = "N" ] attribute part { ## (yes) the division is incomplete in some respect "Y" | ## (no) either the division is complete, or no claim is made as to its completeness. "N" | ## (initial) the initial part of an incomplete division "I" | ## (medial) a medial part of an incomplete division "M" | ## (final) the final part of an incomplete division "F" }? tei_att.docStatus.attributes = tei_att.docStatus.attribute.status tei_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 { tei_data.enumerated }? tei_att.duration.w3c.attributes = tei_att.duration.w3c.attribute.dur tei_att.duration.w3c.attribute.dur = ## (duration) indicates the length of this element in time. attribute dur { tei_data.duration.w3c }? tei_att.responsibility.attributes = tei_att.responsibility.attribute.cert, tei_att.responsibility.attribute.resp tei_att.responsibility.attribute.cert = ## (certainty) signifies the degree of certainty associated with the intervention or interpretation. attribute cert { tei_data.certainty }? tei_att.responsibility.attribute.resp = ## (responsible party) indicates the agency responsible for the intervention or interpretation, for example an ## editor or transcriber. attribute resp { list { tei_data.pointer, tei_data.pointer* } }? tei_att.editLike.attributes = tei_att.dimensions.attributes, tei_att.responsibility.attributes, tei_att.editLike.attribute.evidence, tei_att.editLike.attribute.source, tei_att.editLike.attribute.instant tei_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), ( ## 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)* } }? tei_att.editLike.attribute.source = ## contains a list of one or more pointers indicating sources ## supporting the given intervention or interpretation. attribute source { list { tei_data.pointer, tei_data.pointer* } }? tei_att.editLike.attribute.instant = ## Is this an instant revision? [ a:defaultValue = "false" ] attribute instant { tei_data.xTruthValue }? tei_att.global.attributes = tei_att.global.linking.attributes, tei_att.global.analytic.attributes, tei_att.global.facs.attributes, tei_att.global.change.attributes, tei_att.global.attribute.xmlid, tei_att.global.attribute.n, tei_att.global.attribute.xmllang, tei_att.global.attribute.rend, tei_att.global.attribute.rendition, tei_att.global.attribute.xmlbase, tei_att.global.attribute.xmlspace tei_att.global.attribute.xmlid = ## (identifier) provides a unique identifier for the element bearing the attribute. attribute xml:id { xsd:ID }? tei_att.global.attribute.n = ## (number) gives a number (or other label) for an element, which is not necessarily unique within ## the document. attribute n { list { tei_data.word, tei_data.word* } }? tei_att.global.attribute.xmllang = ## (language) indicates the language of the element content using a tag generated ## according to BCP 47 ## attribute xml:lang { tei_data.language }? tei_att.global.attribute.rend = ## (rendition) indicates how the element in question was rendered or presented in the source text. attribute rend { list { tei_data.word, tei_data.word* } }? tei_att.global.attribute.rendition = ## points to a description of the rendering or presentation used for this element in the ## source text. attribute rendition { list { tei_data.pointer, tei_data.pointer* } }? tei_att.global.attribute.xmlbase = ## provides a base URI reference with which applications can resolve relative URI ## references into absolute URI references. attribute xml:base { tei_data.pointer }? tei_att.global.attribute.xmlspace = ## signals an intention about how white space should be ## managed by applications. attribute xml:space { ## the processor should treat white space according to the ## default XML white space handling rules "default" | ## the processor should preserve unchanged any and all ## white space in the source "preserve" }? tei_att.handFeatures.attributes = tei_att.handFeatures.attribute.scribe, tei_att.handFeatures.attribute.scribeRef, tei_att.handFeatures.attribute.script, tei_att.handFeatures.attribute.scriptRef, tei_att.handFeatures.attribute.medium, tei_att.handFeatures.attribute.scope tei_att.handFeatures.attribute.scribe = ## gives a name or other identifier for the scribe ## believed to be responsible for this hand. attribute scribe { tei_data.name }? tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_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 { tei_data.name, tei_data.name* } }? tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_att.handFeatures.attribute.medium = ## describes the tint or type of ink, e.g. brown, or other ## writing medium, e.g. pencil attribute medium { tei_data.enumerated }? tei_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" }? tei_att.internetMedia.attributes = tei_att.internetMedia.attribute.mimeType tei_att.internetMedia.attribute.mimeType = ## (MIME media type) specifies the applicable multimedia internet mail extension (MIME) media type attribute mimeType { list { tei_data.word, tei_data.word* } }? tei_att.interpLike.attributes = tei_att.responsibility.attributes, tei_att.interpLike.attribute.type, tei_att.interpLike.attribute.inst tei_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 { tei_data.enumerated }? tei_att.interpLike.attribute.inst = ## (instances) points to instances of the analysis or interpretation represented ## by the current element. attribute inst { list { tei_data.pointer, tei_data.pointer* } }? tei_att.measurement.attributes = tei_att.measurement.attribute.unit, tei_att.measurement.attribute.quantity, tei_att.measurement.attribute.commodity tei_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 }? tei_att.measurement.attribute.quantity = ## specifies the number of the specified units that ## comprise the measurement attribute quantity { tei_data.numeric }? tei_att.measurement.attribute.commodity = ## indicates the substance that is being measured attribute commodity { list { tei_data.word, tei_data.word* } }? tei_att.naming.attributes = tei_att.canonical.attributes, tei_att.naming.attribute.role, tei_att.naming.attribute.nymRef tei_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 { tei_data.enumerated }? tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_att.placement.attributes = tei_att.placement.attribute.place tei_att.placement.attribute.place = ## ## 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), ( ## 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)* } }? tei_att.typed.attributes = tei_att.typed.attribute.type, tei_att.typed.attribute.subtype tei_att.typed.attribute.type = ## characterizes the element in some sense, using any convenient ## classification scheme or typology. attribute type { tei_data.enumerated }? tei_att.typed.attribute.subtype = ## provides a sub-categorization of the element, if needed attribute subtype { tei_data.enumerated }? tei_att.pointing.attributes = tei_att.pointing.attribute.target, tei_att.pointing.attribute.evaluate tei_att.pointing.attribute.target = ## specifies the destination of the reference by supplying one or more URI References attribute target { list { tei_data.pointer, tei_data.pointer* } }? tei_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" }? tei_att.pointing.group.attributes = tei_att.pointing.attributes, tei_att.typed.attributes, tei_att.pointing.group.attribute.domains, tei_att.pointing.group.attribute.targFunc tei_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 { tei_data.pointer, tei_data.pointer, tei_data.pointer* } }? tei_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 { tei_data.word, tei_data.word, tei_data.word* } }? tei_att.readFrom.attributes = tei_att.readFrom.attribute.source tei_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 { xsd:anyURI }? tei_att.scoping.attributes = tei_att.scoping.attribute.target, tei_att.scoping.attribute.match tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_att.scoping.attribute.match = ## supplies an arbitrary XPath expression identifying 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 }? tei_att.segLike.attributes = tei_att.metrical.attributes, tei_att.segLike.attribute.function, tei_att.segLike.attribute.part tei_att.segLike.attribute.function = ## characterizes the function of the segment. attribute function { tei_data.enumerated }? tei_att.segLike.attribute.part = ## specifies whether or not the segment is fragmented by some other ## structural element, for example a clause which is divided between two ## or more sentences. [ a:defaultValue = "N" ] attribute part { ## (yes) the segment is incomplete in some respect "Y" | ## (no) either the segment is complete, or no claim is made as to ## its completeness "N" | ## (initial) the initial part of an incomplete segment "I" | ## (medial) a medial part of an incomplete segment "M" | ## (final) the final part of an incomplete segment "F" }? tei_att.sortable.attributes = tei_att.sortable.attribute.sortKey tei_att.sortable.attribute.sortKey = ## supplies the sort key for this element in an index, list or group which contains it. attribute sortKey { tei_data.word }? tei_att.sourced.attributes = tei_att.sourced.attribute.ed tei_att.sourced.attribute.ed = ## (edition) supplies an arbitrary identifier for the source edition in which ## the associated feature (for example, a page, column, or line ## break) occurs at this point in the text. attribute ed { list { tei_data.code, tei_data.code* } }? tei_att.spanning.attributes = tei_att.spanning.attribute.spanTo tei_att.spanning.attribute.spanTo = ## indicates the end of a span initiated by the element ## bearing this attribute. attribute spanTo { tei_data.pointer }? tei_att.tableDecoration.attributes = tei_att.tableDecoration.attribute.role, tei_att.tableDecoration.attribute.rows, tei_att.tableDecoration.attribute.cols tei_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 }? tei_att.tableDecoration.attribute.rows = ## indicates the number of rows occupied by this cell or row. [ a:defaultValue = "1" ] attribute rows { tei_data.count }? tei_att.tableDecoration.attribute.cols = ## (columns) indicates the number of columns occupied by this cell or ## row. [ a:defaultValue = "1" ] attribute cols { tei_data.count }? tei_att.timed.attributes = tei_att.duration.w3c.attributes, tei_att.timed.attribute.start, tei_att.timed.attribute.end tei_att.timed.attribute.start = ## indicates the location within a temporal alignment at ## which this element begins. attribute start { tei_data.pointer }? tei_att.timed.attribute.end = ## indicates the location within a temporal alignment at ## which this element ends. attribute end { tei_data.pointer }? tei_att.transcriptional.attributes = tei_att.editLike.attributes, tei_att.transcriptional.attribute.hand, tei_att.transcriptional.attribute.status, tei_att.transcriptional.attribute.cause, tei_att.transcriptional.attribute.seq tei_att.transcriptional.attribute.hand = ## signifies the hand of the agent which made the intervention. attribute hand { tei_data.pointer }? tei_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 { tei_data.enumerated }? tei_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" }? tei_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 { tei_data.count }? tei_att.translatable.attributes = tei_att.translatable.attribute.version tei_att.translatable.attribute.version = ## specifies the version name or number of the source from ## which the translated version was derived attribute version { tei_data.word }? tei_model.nameLike.agent = tei_name | tei_orgName | tei_persName tei_model.nameLike.agent_alternation = tei_name | tei_orgName | tei_persName tei_model.nameLike.agent_sequence = tei_name, tei_orgName, tei_persName tei_model.nameLike.agent_sequenceOptional = tei_name?, tei_orgName?, tei_persName? tei_model.nameLike.agent_sequenceOptionalRepeatable = tei_name*, tei_orgName*, tei_persName* tei_model.nameLike.agent_sequenceRepeatable = tei_name+, tei_orgName+, tei_persName+ tei_model.segLike = tei_s | tei_cl | tei_phr | tei_w | tei_m | tei_c | tei_pc | tei_seg tei_model.segLike_alternation = tei_s | tei_cl | tei_phr | tei_w | tei_m | tei_c | tei_pc | tei_seg tei_model.segLike_sequence = tei_s, tei_cl, tei_phr, tei_w, tei_m, tei_c, tei_pc, tei_seg tei_model.segLike_sequenceOptional = tei_s?, tei_cl?, tei_phr?, tei_w?, tei_m?, tei_c?, tei_pc?, tei_seg? tei_model.segLike_sequenceOptionalRepeatable = tei_s*, tei_cl*, tei_phr*, tei_w*, tei_m*, tei_c*, tei_pc*, tei_seg* tei_model.segLike_sequenceRepeatable = tei_s+, tei_cl+, tei_phr+, tei_w+, tei_m+, tei_c+, tei_pc+, tei_seg+ tei_model.hiLike = tei_hi tei_model.hiLike_alternation = tei_hi tei_model.hiLike_sequence = tei_hi tei_model.hiLike_sequenceOptional = tei_hi? tei_model.hiLike_sequenceOptionalRepeatable = tei_hi* tei_model.hiLike_sequenceRepeatable = tei_hi+ tei_model.emphLike = tei_foreign | tei_emph | tei_distinct | tei_mentioned | tei_soCalled | tei_gloss | tei_term | tei_title | tei_code | tei_ident tei_model.emphLike_alternation = tei_foreign | tei_emph | tei_distinct | tei_mentioned | tei_soCalled | tei_gloss | tei_term | tei_title | tei_code | tei_ident tei_model.emphLike_sequence = tei_foreign, tei_emph, tei_distinct, tei_mentioned, tei_soCalled, tei_gloss, tei_term, tei_title, tei_code, tei_ident tei_model.emphLike_sequenceOptional = tei_foreign?, tei_emph?, tei_distinct?, tei_mentioned?, tei_soCalled?, tei_gloss?, tei_term?, tei_title?, tei_code?, tei_ident? tei_model.emphLike_sequenceOptionalRepeatable = tei_foreign*, tei_emph*, tei_distinct*, tei_mentioned*, tei_soCalled*, tei_gloss*, tei_term*, tei_title*, tei_code*, tei_ident* tei_model.emphLike_sequenceRepeatable = tei_foreign+, tei_emph+, tei_distinct+, tei_mentioned+, tei_soCalled+, tei_gloss+, tei_term+, tei_title+, tei_code+, tei_ident+ tei_model.highlighted = tei_model.hiLike | tei_model.emphLike tei_model.highlighted_alternation = tei_model.hiLike_alternation | tei_model.emphLike_alternation tei_model.highlighted_sequence = tei_model.hiLike_sequence, tei_model.emphLike_sequence tei_model.highlighted_sequenceOptional = tei_model.hiLike_sequenceOptional?, tei_model.emphLike_sequenceOptional? tei_model.highlighted_sequenceOptionalRepeatable = tei_model.hiLike_sequenceOptionalRepeatable*, tei_model.emphLike_sequenceOptionalRepeatable* tei_model.highlighted_sequenceRepeatable = tei_model.hiLike_sequenceRepeatable+, tei_model.emphLike_sequenceRepeatable+ tei_model.dateLike = tei_date | tei_time tei_model.dateLike_alternation = tei_date | tei_time tei_model.dateLike_sequence = tei_date, tei_time tei_model.dateLike_sequenceOptional = tei_date?, tei_time? tei_model.dateLike_sequenceOptionalRepeatable = tei_date*, tei_time* tei_model.dateLike_sequenceRepeatable = tei_date+, tei_time+ tei_model.dimLike = tei_height | tei_depth | tei_width tei_model.measureLike = tei_num | tei_measure | tei_measureGrp | tei_dim | tei_height | tei_depth | tei_width | tei_geo tei_model.measureLike_alternation = tei_num | tei_measure | tei_measureGrp | tei_dim | tei_height | tei_depth | tei_width | tei_geo tei_model.measureLike_sequence = tei_num, tei_measure, tei_measureGrp, tei_dim, tei_height, tei_depth, tei_width, tei_geo tei_model.measureLike_sequenceOptional = tei_num?, tei_measure?, tei_measureGrp?, tei_dim?, tei_height?, tei_depth?, tei_width?, tei_geo? tei_model.measureLike_sequenceOptionalRepeatable = tei_num*, tei_measure*, tei_measureGrp*, tei_dim*, tei_height*, tei_depth*, tei_width*, tei_geo* tei_model.measureLike_sequenceRepeatable = tei_num+, tei_measure+, tei_measureGrp+, tei_dim+, tei_height+, tei_depth+, tei_width+, tei_geo+ tei_model.egLike = tei_eg | tei_egXML tei_model.egLike_alternation = tei_eg | tei_egXML tei_model.egLike_sequence = tei_eg, tei_egXML tei_model.egLike_sequenceOptional = tei_eg?, tei_egXML? tei_model.egLike_sequenceOptionalRepeatable = tei_eg*, tei_egXML* tei_model.egLike_sequenceRepeatable = tei_eg+, tei_egXML+ tei_model.graphicLike = tei_graphic | tei_binaryObject | tei_formula tei_model.graphicLike_alternation = tei_graphic | tei_binaryObject | tei_formula tei_model.graphicLike_sequence = tei_graphic, tei_binaryObject, tei_formula tei_model.graphicLike_sequenceOptional = tei_graphic?, tei_binaryObject?, tei_formula? tei_model.graphicLike_sequenceOptionalRepeatable = tei_graphic*, tei_binaryObject*, tei_formula* tei_model.graphicLike_sequenceRepeatable = tei_graphic+, tei_binaryObject+, tei_formula+ tei_model.offsetLike = tei_offset | tei_geogFeat tei_model.offsetLike_alternation = tei_offset | tei_geogFeat tei_model.offsetLike_sequence = tei_offset, tei_geogFeat tei_model.offsetLike_sequenceOptional = tei_offset?, tei_geogFeat? tei_model.offsetLike_sequenceOptionalRepeatable = tei_offset*, tei_geogFeat* tei_model.offsetLike_sequenceRepeatable = tei_offset+, tei_geogFeat+ tei_model.pPart.msdesc = tei_catchwords | tei_dimensions | tei_heraldry | tei_locus | tei_locusGrp | tei_material | tei_objectType | tei_origDate | tei_origPlace | tei_secFol | tei_signatures | tei_stamp | tei_watermark tei_model.pPart.msdesc_alternation = tei_catchwords | tei_dimensions | tei_heraldry | tei_locus | tei_locusGrp | tei_material | tei_objectType | tei_origDate | tei_origPlace | tei_secFol | tei_signatures | tei_stamp | tei_watermark tei_model.pPart.msdesc_sequence = tei_catchwords, tei_dimensions, tei_heraldry, tei_locus, tei_locusGrp, tei_material, tei_objectType, tei_origDate, tei_origPlace, tei_secFol, tei_signatures, tei_stamp, tei_watermark tei_model.pPart.msdesc_sequenceOptional = tei_catchwords?, tei_dimensions?, tei_heraldry?, tei_locus?, tei_locusGrp?, tei_material?, tei_objectType?, tei_origDate?, tei_origPlace?, tei_secFol?, tei_signatures?, tei_stamp?, tei_watermark? tei_model.pPart.msdesc_sequenceOptionalRepeatable = tei_catchwords*, tei_dimensions*, tei_heraldry*, tei_locus*, tei_locusGrp*, tei_material*, tei_objectType*, tei_origDate*, tei_origPlace*, tei_secFol*, tei_signatures*, tei_stamp*, tei_watermark* tei_model.pPart.msdesc_sequenceRepeatable = tei_catchwords+, tei_dimensions+, tei_heraldry+, tei_locus+, tei_locusGrp+, tei_material+, tei_objectType+, tei_origDate+, tei_origPlace+, tei_secFol+, tei_signatures+, tei_stamp+, tei_watermark+ tei_model.pPart.editorial = tei_choice | tei_abbr | tei_expan | tei_ex | tei_am | tei_subst tei_model.pPart.editorial_alternation = tei_choice | tei_abbr | tei_expan | tei_ex | tei_am | tei_subst tei_model.pPart.editorial_sequence = tei_choice, tei_abbr, tei_expan, tei_ex, tei_am, tei_subst tei_model.pPart.editorial_sequenceOptional = tei_choice?, tei_abbr?, tei_expan?, tei_ex?, tei_am?, tei_subst? tei_model.pPart.editorial_sequenceOptionalRepeatable = tei_choice*, tei_abbr*, tei_expan*, tei_ex*, tei_am*, tei_subst* tei_model.pPart.editorial_sequenceRepeatable = tei_choice+, tei_abbr+, tei_expan+, tei_ex+, tei_am+, tei_subst+ tei_model.pPart.transcriptional = tei_sic | tei_corr | tei_reg | tei_orig | tei_add | tei_del | tei_unclear | tei_app | tei_damage | tei_handShift | tei_restore | tei_supplied | tei_surplus | tei_mod | tei_redo | tei_retrace | tei_undo tei_model.pPart.transcriptional_alternation = tei_sic | tei_corr | tei_reg | tei_orig | tei_add | tei_del | tei_unclear | tei_app | tei_damage | tei_handShift | tei_restore | tei_supplied | tei_surplus | tei_mod | tei_redo | tei_retrace | tei_undo tei_model.pPart.transcriptional_sequence = tei_sic, tei_corr, tei_reg, tei_orig, tei_add, tei_del, tei_unclear, tei_app, tei_damage, tei_handShift, tei_restore, tei_supplied, tei_surplus, tei_mod, tei_redo, tei_retrace, tei_undo tei_model.pPart.transcriptional_sequenceOptional = tei_sic?, tei_corr?, tei_reg?, tei_orig?, tei_add?, tei_del?, tei_unclear?, tei_app?, tei_damage?, tei_handShift?, tei_restore?, tei_supplied?, tei_surplus?, tei_mod?, tei_redo?, tei_retrace?, tei_undo? tei_model.pPart.transcriptional_sequenceOptionalRepeatable = tei_sic*, tei_corr*, tei_reg*, tei_orig*, tei_add*, tei_del*, tei_unclear*, tei_app*, tei_damage*, tei_handShift*, tei_restore*, tei_supplied*, tei_surplus*, tei_mod*, tei_redo*, tei_retrace*, tei_undo* tei_model.pPart.transcriptional_sequenceRepeatable = tei_sic+, tei_corr+, tei_reg+, tei_orig+, tei_add+, tei_del+, tei_unclear+, tei_app+, tei_damage+, tei_handShift+, tei_restore+, tei_supplied+, tei_surplus+, tei_mod+, tei_redo+, tei_retrace+, tei_undo+ tei_model.pPart.edit = tei_model.pPart.editorial | tei_model.pPart.transcriptional tei_model.pPart.edit_alternation = tei_model.pPart.editorial_alternation | tei_model.pPart.transcriptional_alternation tei_model.pPart.edit_sequence = tei_model.pPart.editorial_sequence, tei_model.pPart.transcriptional_sequence tei_model.pPart.edit_sequenceOptional = tei_model.pPart.editorial_sequenceOptional?, tei_model.pPart.transcriptional_sequenceOptional? tei_model.pPart.edit_sequenceOptionalRepeatable = tei_model.pPart.editorial_sequenceOptionalRepeatable*, tei_model.pPart.transcriptional_sequenceOptionalRepeatable* tei_model.pPart.edit_sequenceRepeatable = tei_model.pPart.editorial_sequenceRepeatable+, tei_model.pPart.transcriptional_sequenceRepeatable+ tei_model.linePart = tei_model.segLike | tei_model.hiLike | tei_model.pPart.transcriptional | tei_choice | tei_zone | tei_line tei_model.ptrLike = tei_ptr | tei_ref tei_model.ptrLike_alternation = tei_ptr | tei_ref tei_model.ptrLike_sequence = tei_ptr, tei_ref tei_model.ptrLike_sequenceOptional = tei_ptr?, tei_ref? tei_model.ptrLike_sequenceOptionalRepeatable = tei_ptr*, tei_ref* tei_model.ptrLike_sequenceRepeatable = tei_ptr+, tei_ref+ tei_model.lPart = tei_caesura | tei_rhyme tei_model.lPart_alternation = tei_caesura | tei_rhyme tei_model.lPart_sequence = tei_caesura, tei_rhyme tei_model.lPart_sequenceOptional = tei_caesura?, tei_rhyme? tei_model.lPart_sequenceOptionalRepeatable = tei_caesura*, tei_rhyme* tei_model.lPart_sequenceRepeatable = tei_caesura+, tei_rhyme+ tei_model.global.meta = tei_index | tei_span | tei_spanGrp | tei_interp | tei_interpGrp | tei_precision | tei_certainty | tei_respons | tei_fs | tei_fLib | tei_fvLib | tei_link | tei_linkGrp | tei_timeline | tei_join | tei_joinGrp | tei_alt | tei_altGrp | tei_substJoin | tei_listTranspose tei_model.global.meta_alternation = tei_index | tei_span | tei_spanGrp | tei_interp | tei_interpGrp | tei_precision | tei_certainty | tei_respons | tei_fs | tei_fLib | tei_fvLib | tei_link | tei_linkGrp | tei_timeline | tei_join | tei_joinGrp | tei_alt | tei_altGrp | tei_substJoin | tei_listTranspose tei_model.global.meta_sequence = tei_index, tei_span, tei_spanGrp, tei_interp, tei_interpGrp, tei_precision, tei_certainty, tei_respons, tei_fs, tei_fLib, tei_fvLib, tei_link, tei_linkGrp, tei_timeline, tei_join, tei_joinGrp, tei_alt, tei_altGrp, tei_substJoin, tei_listTranspose tei_model.global.meta_sequenceOptional = tei_index?, tei_span?, tei_spanGrp?, tei_interp?, tei_interpGrp?, tei_precision?, tei_certainty?, tei_respons?, tei_fs?, tei_fLib?, tei_fvLib?, tei_link?, tei_linkGrp?, tei_timeline?, tei_join?, tei_joinGrp?, tei_alt?, tei_altGrp?, tei_substJoin?, tei_listTranspose? tei_model.global.meta_sequenceOptionalRepeatable = tei_index*, tei_span*, tei_spanGrp*, tei_interp*, tei_interpGrp*, tei_precision*, tei_certainty*, tei_respons*, tei_fs*, tei_fLib*, tei_fvLib*, tei_link*, tei_linkGrp*, tei_timeline*, tei_join*, tei_joinGrp*, tei_alt*, tei_altGrp*, tei_substJoin*, tei_listTranspose* tei_model.global.meta_sequenceRepeatable = tei_index+, tei_span+, tei_spanGrp+, tei_interp+, tei_interpGrp+, tei_precision+, tei_certainty+, tei_respons+, tei_fs+, tei_fLib+, tei_fvLib+, tei_link+, tei_linkGrp+, tei_timeline+, tei_join+, tei_joinGrp+, tei_alt+, tei_altGrp+, tei_substJoin+, tei_listTranspose+ tei_model.milestoneLike = tei_milestone | tei_gb | tei_pb | tei_lb | tei_cb | tei_anchor | tei_fw tei_model.milestoneLike_alternation = tei_milestone | tei_gb | tei_pb | tei_lb | tei_cb | tei_anchor | tei_fw tei_model.milestoneLike_sequence = tei_milestone, tei_gb, tei_pb, tei_lb, tei_cb, tei_anchor, tei_fw tei_model.milestoneLike_sequenceOptional = tei_milestone?, tei_gb?, tei_pb?, tei_lb?, tei_cb?, tei_anchor?, tei_fw? tei_model.milestoneLike_sequenceOptionalRepeatable = tei_milestone*, tei_gb*, tei_pb*, tei_lb*, tei_cb*, tei_anchor*, tei_fw* tei_model.milestoneLike_sequenceRepeatable = tei_milestone+, tei_gb+, tei_pb+, tei_lb+, tei_cb+, tei_anchor+, tei_fw+ tei_model.gLike = tei_g tei_model.oddDecl = tei_moduleSpec | tei_specGrp | tei_specGrpRef | tei_elementSpec | tei_classSpec | tei_macroSpec | tei_listRef tei_model.oddDecl_alternation = tei_moduleSpec | tei_specGrp | tei_specGrpRef | tei_elementSpec | tei_classSpec | tei_macroSpec | tei_listRef tei_model.oddDecl_sequence = tei_moduleSpec, tei_specGrp, tei_specGrpRef, tei_elementSpec, tei_classSpec, tei_macroSpec, tei_listRef tei_model.oddDecl_sequenceOptional = tei_moduleSpec?, tei_specGrp?, tei_specGrpRef?, tei_elementSpec?, tei_classSpec?, tei_macroSpec?, tei_listRef? tei_model.oddDecl_sequenceOptionalRepeatable = tei_moduleSpec*, tei_specGrp*, tei_specGrpRef*, tei_elementSpec*, tei_classSpec*, tei_macroSpec*, tei_listRef* tei_model.oddDecl_sequenceRepeatable = tei_moduleSpec+, tei_specGrp+, tei_specGrpRef+, tei_elementSpec+, tei_classSpec+, tei_macroSpec+, tei_listRef+ tei_model.oddRef = tei_classRef | tei_elementRef | tei_macroRef | tei_moduleRef tei_model.phrase.xml = tei_att | tei_gi | tei_tag | tei_val tei_model.phrase.xml_alternation = tei_att | tei_gi | tei_tag | tei_val tei_model.phrase.xml_sequence = tei_att, tei_gi, tei_tag, tei_val tei_model.phrase.xml_sequenceOptional = tei_att?, tei_gi?, tei_tag?, tei_val? tei_model.phrase.xml_sequenceOptionalRepeatable = tei_att*, tei_gi*, tei_tag*, tei_val* tei_model.phrase.xml_sequenceRepeatable = tei_att+, tei_gi+, tei_tag+, tei_val+ tei_model.specDescLike = tei_specList | tei_specDesc tei_model.specDescLike_alternation = tei_specList | tei_specDesc tei_model.specDescLike_sequence = tei_specList, tei_specDesc tei_model.specDescLike_sequenceOptional = tei_specList?, tei_specDesc? tei_model.specDescLike_sequenceOptionalRepeatable = tei_specList*, tei_specDesc* tei_model.specDescLike_sequenceRepeatable = tei_specList+, tei_specDesc+ tei_model.biblLike = tei_bibl | tei_biblStruct | tei_biblFull | tei_msDesc | tei_listRelation | tei_relationGrp tei_model.biblLike_alternation = tei_bibl | tei_biblStruct | tei_biblFull | tei_msDesc | tei_listRelation | tei_relationGrp tei_model.biblLike_sequence = tei_bibl, tei_biblStruct, tei_biblFull, tei_msDesc, tei_listRelation, tei_relationGrp tei_model.biblLike_sequenceOptional = tei_bibl?, tei_biblStruct?, tei_biblFull?, tei_msDesc?, tei_listRelation?, tei_relationGrp? tei_model.biblLike_sequenceOptionalRepeatable = tei_bibl*, tei_biblStruct*, tei_biblFull*, tei_msDesc*, tei_listRelation*, tei_relationGrp* tei_model.biblLike_sequenceRepeatable = tei_bibl+, tei_biblStruct+, tei_biblFull+, tei_msDesc+, tei_listRelation+, tei_relationGrp+ tei_model.headLike = tei_head tei_model.headLike_alternation = tei_head tei_model.headLike_sequence = tei_head tei_model.headLike_sequenceOptional = tei_head? tei_model.headLike_sequenceOptionalRepeatable = tei_head* tei_model.headLike_sequenceRepeatable = tei_head+ tei_model.labelLike = tei_desc | tei_label tei_model.labelLike_alternation = tei_desc | tei_label tei_model.labelLike_sequence = tei_desc, tei_label tei_model.labelLike_sequenceOptional = tei_desc?, tei_label? tei_model.labelLike_sequenceOptionalRepeatable = tei_desc*, tei_label* tei_model.labelLike_sequenceRepeatable = tei_desc+, tei_label+ tei_model.listLike = tei_list | tei_listBibl | tei_table | tei_listOrg | tei_listEvent | tei_listPerson | tei_listPlace | tei_listNym | tei_listWit tei_model.listLike_alternation = tei_list | tei_listBibl | tei_table | tei_listOrg | tei_listEvent | tei_listPerson | tei_listPlace | tei_listNym | tei_listWit tei_model.listLike_sequence = tei_list, tei_listBibl, tei_table, tei_listOrg, tei_listEvent, tei_listPerson, tei_listPlace, tei_listNym, tei_listWit tei_model.listLike_sequenceOptional = tei_list?, tei_listBibl?, tei_table?, tei_listOrg?, tei_listEvent?, tei_listPerson?, tei_listPlace?, tei_listNym?, tei_listWit? tei_model.listLike_sequenceOptionalRepeatable = tei_list*, tei_listBibl*, tei_table*, tei_listOrg*, tei_listEvent*, tei_listPerson*, tei_listPlace*, tei_listNym*, tei_listWit* tei_model.listLike_sequenceRepeatable = tei_list+, tei_listBibl+, tei_table+, tei_listOrg+, tei_listEvent+, tei_listPerson+, tei_listPlace+, tei_listNym+, tei_listWit+ tei_model.noteLike = tei_note | tei_witDetail tei_model.noteLike_alternation = tei_note | tei_witDetail tei_model.noteLike_sequence = tei_note, tei_witDetail tei_model.noteLike_sequenceOptional = tei_note?, tei_witDetail? tei_model.noteLike_sequenceOptionalRepeatable = tei_note*, tei_witDetail* tei_model.noteLike_sequenceRepeatable = tei_note+, tei_witDetail+ tei_model.lLike = tei_l tei_model.lLike_alternation = tei_l tei_model.lLike_sequence = tei_l tei_model.lLike_sequenceOptional = tei_l? tei_model.lLike_sequenceOptionalRepeatable = tei_l* tei_model.lLike_sequenceRepeatable = tei_l+ tei_model.pLike = tei_p | tei_ab tei_model.pLike_alternation = tei_p | tei_ab tei_model.pLike_sequence = tei_p, tei_ab tei_model.pLike_sequenceOptional = tei_p?, tei_ab? tei_model.pLike_sequenceOptionalRepeatable = tei_p*, tei_ab* tei_model.pLike_sequenceRepeatable = tei_p+, tei_ab+ tei_model.stageLike = tei_stage | tei_move | tei_view | tei_camera | tei_sound | tei_caption | tei_tech tei_model.stageLike_alternation = tei_stage | tei_move | tei_view | tei_camera | tei_sound | tei_caption | tei_tech tei_model.stageLike_sequence = tei_stage, tei_move, tei_view, tei_camera, tei_sound, tei_caption, tei_tech tei_model.stageLike_sequenceOptional = tei_stage?, tei_move?, tei_view?, tei_camera?, tei_sound?, tei_caption?, tei_tech? tei_model.stageLike_sequenceOptionalRepeatable = tei_stage*, tei_move*, tei_view*, tei_camera*, tei_sound*, tei_caption*, tei_tech* tei_model.stageLike_sequenceRepeatable = tei_stage+, tei_move+, tei_view+, tei_camera+, tei_sound+, tei_caption+, tei_tech+ tei_model.featureVal.complex = tei_fs | tei_vColl | tei_vNot | tei_vMerge tei_model.featureVal.complex_alternation = tei_fs | tei_vColl | tei_vNot | tei_vMerge tei_model.featureVal.complex_sequence = tei_fs, tei_vColl, tei_vNot, tei_vMerge tei_model.featureVal.complex_sequenceOptional = tei_fs?, tei_vColl?, tei_vNot?, tei_vMerge? tei_model.featureVal.complex_sequenceOptionalRepeatable = tei_fs*, tei_vColl*, tei_vNot*, tei_vMerge* tei_model.featureVal.complex_sequenceRepeatable = tei_fs+, tei_vColl+, tei_vNot+, tei_vMerge+ tei_model.featureVal.single = tei_binary | tei_symbol | tei_numeric | tei_string | tei_vLabel | tei_default | tei_vAlt tei_model.featureVal.single_alternation = tei_binary | tei_symbol | tei_numeric | tei_string | tei_vLabel | tei_default | tei_vAlt tei_model.featureVal.single_sequence = tei_binary, tei_symbol, tei_numeric, tei_string, tei_vLabel, tei_default, tei_vAlt tei_model.featureVal.single_sequenceOptional = tei_binary?, tei_symbol?, tei_numeric?, tei_string?, tei_vLabel?, tei_default?, tei_vAlt? tei_model.featureVal.single_sequenceOptionalRepeatable = tei_binary*, tei_symbol*, tei_numeric*, tei_string*, tei_vLabel*, tei_default*, tei_vAlt* tei_model.featureVal.single_sequenceRepeatable = tei_binary+, tei_symbol+, tei_numeric+, tei_string+, tei_vLabel+, tei_default+, tei_vAlt+ tei_model.entryPart = tei_superEntry | tei_hom | tei_sense | tei_form | tei_orth | tei_pron | tei_hyph | tei_syll | tei_gen | tei_number | tei_case | tei_per | tei_tns | tei_mood | tei_iType | tei_gramGrp | tei_pos | tei_subc | tei_colloc | tei_def | tei_etym | tei_usg | tei_lbl | tei_xr | tei_re tei_model.entryPart.top = tei_cit | tei_dictScrap | tei_form | tei_gramGrp | tei_def | tei_etym | tei_usg | tei_xr | tei_re tei_model.global.edit = tei_gap | tei_addSpan | tei_damageSpan | tei_delSpan | tei_space tei_model.global.edit_alternation = tei_gap | tei_addSpan | tei_damageSpan | tei_delSpan | tei_space tei_model.global.edit_sequence = tei_gap, tei_addSpan, tei_damageSpan, tei_delSpan, tei_space tei_model.global.edit_sequenceOptional = tei_gap?, tei_addSpan?, tei_damageSpan?, tei_delSpan?, tei_space? tei_model.global.edit_sequenceOptionalRepeatable = tei_gap*, tei_addSpan*, tei_damageSpan*, tei_delSpan*, tei_space* tei_model.global.edit_sequenceRepeatable = tei_gap+, tei_addSpan+, tei_damageSpan+, tei_delSpan+, tei_space+ tei_model.divPart = tei_model.lLike | tei_model.pLike | tei_lg | tei_sp | tei_spGrp | tei_graph | tei_tree | tei_eTree | tei_forest | tei_listForest | tei_model.divPart.spoken | tei_schemaSpec tei_model.divPart_alternation = tei_model.lLike_alternation | tei_model.pLike_alternation | tei_lg | tei_sp | tei_spGrp | tei_graph | tei_tree | tei_eTree | tei_forest | tei_listForest | tei_model.divPart.spoken_alternation | tei_schemaSpec tei_model.divPart_sequence = tei_model.lLike_sequence, tei_model.pLike_sequence, tei_lg, tei_sp, tei_spGrp, tei_graph, tei_tree, tei_eTree, tei_forest, tei_listForest, tei_model.divPart.spoken_sequence, tei_schemaSpec tei_model.divPart_sequenceOptional = tei_model.lLike_sequenceOptional?, tei_model.pLike_sequenceOptional?, tei_lg?, tei_sp?, tei_spGrp?, tei_graph?, tei_tree?, tei_eTree?, tei_forest?, tei_listForest?, tei_model.divPart.spoken_sequenceOptional?, tei_schemaSpec? tei_model.divPart_sequenceOptionalRepeatable = tei_model.lLike_sequenceOptionalRepeatable*, tei_model.pLike_sequenceOptionalRepeatable*, tei_lg*, tei_sp*, tei_spGrp*, tei_graph*, tei_tree*, tei_eTree*, tei_forest*, tei_listForest*, tei_model.divPart.spoken_sequenceOptionalRepeatable*, tei_schemaSpec* tei_model.divPart_sequenceRepeatable = tei_model.lLike_sequenceRepeatable+, tei_model.pLike_sequenceRepeatable+, tei_lg+, tei_sp+, tei_spGrp+, tei_graph+, tei_tree+, tei_eTree+, tei_forest+, tei_listForest+, tei_model.divPart.spoken_sequenceRepeatable+, tei_schemaSpec+ tei_model.persStateLike = tei_persName | tei_affiliation | tei_age | tei_education | tei_faith | tei_floruit | tei_langKnowledge | tei_nationality | tei_occupation | tei_residence | tei_sex | tei_socecStatus | tei_state | tei_trait tei_model.persStateLike_alternation = tei_persName | tei_affiliation | tei_age | tei_education | tei_faith | tei_floruit | tei_langKnowledge | tei_nationality | tei_occupation | tei_residence | tei_sex | tei_socecStatus | tei_state | tei_trait tei_model.persStateLike_sequence = tei_persName, tei_affiliation, tei_age, tei_education, tei_faith, tei_floruit, tei_langKnowledge, tei_nationality, tei_occupation, tei_residence, tei_sex, tei_socecStatus, tei_state, tei_trait tei_model.persStateLike_sequenceOptional = tei_persName?, tei_affiliation?, tei_age?, tei_education?, tei_faith?, tei_floruit?, tei_langKnowledge?, tei_nationality?, tei_occupation?, tei_residence?, tei_sex?, tei_socecStatus?, tei_state?, tei_trait? tei_model.persStateLike_sequenceOptionalRepeatable = tei_persName*, tei_affiliation*, tei_age*, tei_education*, tei_faith*, tei_floruit*, tei_langKnowledge*, tei_nationality*, tei_occupation*, tei_residence*, tei_sex*, tei_socecStatus*, tei_state*, tei_trait* tei_model.persStateLike_sequenceRepeatable = tei_persName+, tei_affiliation+, tei_age+, tei_education+, tei_faith+, tei_floruit+, tei_langKnowledge+, tei_nationality+, tei_occupation+, tei_residence+, tei_sex+, tei_socecStatus+, tei_state+, tei_trait+ tei_model.persEventLike = tei_birth | tei_death | tei_event tei_model.persEventLike_alternation = tei_birth | tei_death | tei_event tei_model.persEventLike_sequence = tei_birth, tei_death, tei_event tei_model.persEventLike_sequenceOptional = tei_birth?, tei_death?, tei_event? tei_model.persEventLike_sequenceOptionalRepeatable = tei_birth*, tei_death*, tei_event* tei_model.persEventLike_sequenceRepeatable = tei_birth+, tei_death+, tei_event+ tei_model.personLike = tei_org | tei_person | tei_personGrp tei_model.personPart = tei_model.persStateLike | tei_model.persEventLike | tei_bibl tei_model.placeNamePart = tei_placeName | tei_bloc | tei_country | tei_region | tei_district | tei_settlement | tei_geogName tei_model.placeNamePart_alternation = tei_placeName | tei_bloc | tei_country | tei_region | tei_district | tei_settlement | tei_geogName tei_model.placeNamePart_sequence = tei_placeName, tei_bloc, tei_country, tei_region, tei_district, tei_settlement, tei_geogName tei_model.placeNamePart_sequenceOptional = tei_placeName?, tei_bloc?, tei_country?, tei_region?, tei_district?, tei_settlement?, tei_geogName? tei_model.placeNamePart_sequenceOptionalRepeatable = tei_placeName*, tei_bloc*, tei_country*, tei_region*, tei_district*, tei_settlement*, tei_geogName* tei_model.placeNamePart_sequenceRepeatable = tei_placeName+, tei_bloc+, tei_country+, tei_region+, tei_district+, tei_settlement+, tei_geogName+ tei_model.placeStateLike = tei_model.placeNamePart | tei_climate | tei_location | tei_population | tei_state | tei_terrain | tei_trait tei_model.placeStateLike_alternation = tei_model.placeNamePart_alternation | tei_climate | tei_location | tei_population | tei_state | tei_terrain | tei_trait tei_model.placeStateLike_sequence = tei_model.placeNamePart_sequence, tei_climate, tei_location, tei_population, tei_state, tei_terrain, tei_trait tei_model.placeStateLike_sequenceOptional = tei_model.placeNamePart_sequenceOptional?, tei_climate?, tei_location?, tei_population?, tei_state?, tei_terrain?, tei_trait? tei_model.placeStateLike_sequenceOptionalRepeatable = tei_model.placeNamePart_sequenceOptionalRepeatable*, tei_climate*, tei_location*, tei_population*, tei_state*, tei_terrain*, tei_trait* tei_model.placeStateLike_sequenceRepeatable = tei_model.placeNamePart_sequenceRepeatable+, tei_climate+, tei_location+, tei_population+, tei_state+, tei_terrain+, tei_trait+ tei_model.placeEventLike = tei_event tei_model.orgPart = tei_listOrg | tei_listPerson | tei_listPlace tei_model.publicationStmtPart = tei_address | tei_date | tei_publisher | tei_pubPlace | tei_distributor | tei_authority | tei_idno | tei_availability tei_model.availabilityPart = tei_p | tei_licence tei_model.certLike = tei_certainty | tei_respons tei_model.certLike_alternation = tei_certainty | tei_respons tei_model.certLike_sequence = tei_certainty, tei_respons tei_model.certLike_sequenceOptional = tei_certainty?, tei_respons? tei_model.certLike_sequenceOptionalRepeatable = tei_certainty*, tei_respons* tei_model.certLike_sequenceRepeatable = tei_certainty+, tei_respons+ tei_model.glossLike = tei_model.certLike | tei_desc | tei_gloss | tei_precision | tei_equiv | tei_altIdent tei_model.quoteLike = tei_quote | tei_cit tei_model.quoteLike_alternation = tei_quote | tei_cit tei_model.quoteLike_sequence = tei_quote, tei_cit tei_model.quoteLike_sequenceOptional = tei_quote?, tei_cit? tei_model.quoteLike_sequenceOptionalRepeatable = tei_quote*, tei_cit* tei_model.quoteLike_sequenceRepeatable = tei_quote+, tei_cit+ tei_model.qLike = tei_model.quoteLike | tei_said | tei_q | tei_floatingText tei_model.qLike_alternation = tei_model.quoteLike_alternation | tei_said | tei_q | tei_floatingText tei_model.qLike_sequence = tei_model.quoteLike_sequence, tei_said, tei_q, tei_floatingText tei_model.qLike_sequenceOptional = tei_model.quoteLike_sequenceOptional?, tei_said?, tei_q?, tei_floatingText? tei_model.qLike_sequenceOptionalRepeatable = tei_model.quoteLike_sequenceOptionalRepeatable*, tei_said*, tei_q*, tei_floatingText* tei_model.qLike_sequenceRepeatable = tei_model.quoteLike_sequenceRepeatable+, tei_said+, tei_q+, tei_floatingText+ tei_model.respLike = tei_author | tei_editor | tei_respStmt | tei_meeting | tei_sponsor | tei_funder | tei_principal tei_model.respLike_alternation = tei_author | tei_editor | tei_respStmt | tei_meeting | tei_sponsor | tei_funder | tei_principal tei_model.respLike_sequence = tei_author, tei_editor, tei_respStmt, tei_meeting, tei_sponsor, tei_funder, tei_principal tei_model.respLike_sequenceOptional = tei_author?, tei_editor?, tei_respStmt?, tei_meeting?, tei_sponsor?, tei_funder?, tei_principal? tei_model.respLike_sequenceOptionalRepeatable = tei_author*, tei_editor*, tei_respStmt*, tei_meeting*, tei_sponsor*, tei_funder*, tei_principal* tei_model.respLike_sequenceRepeatable = tei_author+, tei_editor+, tei_respStmt+, tei_meeting+, tei_sponsor+, tei_funder+, tei_principal+ tei_model.divWrapper = tei_meeting | tei_byline | tei_dateline | tei_argument | tei_epigraph | tei_salute | tei_docAuthor | tei_docDate tei_model.divWrapper_alternation = tei_meeting | tei_byline | tei_dateline | tei_argument | tei_epigraph | tei_salute | tei_docAuthor | tei_docDate tei_model.divWrapper_sequence = tei_meeting, tei_byline, tei_dateline, tei_argument, tei_epigraph, tei_salute, tei_docAuthor, tei_docDate tei_model.divWrapper_sequenceOptional = tei_meeting?, tei_byline?, tei_dateline?, tei_argument?, tei_epigraph?, tei_salute?, tei_docAuthor?, tei_docDate? tei_model.divWrapper_sequenceOptionalRepeatable = tei_meeting*, tei_byline*, tei_dateline*, tei_argument*, tei_epigraph*, tei_salute*, tei_docAuthor*, tei_docDate* tei_model.divWrapper_sequenceRepeatable = tei_meeting+, tei_byline+, tei_dateline+, tei_argument+, tei_epigraph+, tei_salute+, tei_docAuthor+, tei_docDate+ tei_model.divTopPart = tei_model.headLike | tei_opener tei_model.divTopPart_alternation = tei_model.headLike_alternation | tei_opener tei_model.divTopPart_sequence = tei_model.headLike_sequence, tei_opener tei_model.divTopPart_sequenceOptional = tei_model.headLike_sequenceOptional?, tei_opener? tei_model.divTopPart_sequenceOptionalRepeatable = tei_model.headLike_sequenceOptionalRepeatable*, tei_opener* tei_model.divTopPart_sequenceRepeatable = tei_model.headLike_sequenceRepeatable+, tei_opener+ tei_model.divTop = tei_model.divWrapper | tei_model.divTopPart tei_model.frontPart.drama = tei_set | tei_prologue | tei_epilogue | tei_performance | tei_castList tei_model.frontPart.drama_alternation = tei_set | tei_prologue | tei_epilogue | tei_performance | tei_castList tei_model.frontPart.drama_sequence = tei_set, tei_prologue, tei_epilogue, tei_performance, tei_castList tei_model.frontPart.drama_sequenceOptional = tei_set?, tei_prologue?, tei_epilogue?, tei_performance?, tei_castList? tei_model.frontPart.drama_sequenceOptionalRepeatable = tei_set*, tei_prologue*, tei_epilogue*, tei_performance*, tei_castList* tei_model.frontPart.drama_sequenceRepeatable = tei_set+, tei_prologue+, tei_epilogue+, tei_performance+, tei_castList+ tei_model.pLike.front = tei_head | tei_byline | tei_argument | tei_epigraph | tei_docTitle | tei_titlePart | tei_docAuthor | tei_docEdition | tei_docImprint | tei_docDate tei_model.divBottomPart = tei_trailer | tei_closer | tei_signed | tei_postscript tei_model.divBottomPart_alternation = tei_trailer | tei_closer | tei_signed | tei_postscript tei_model.divBottomPart_sequence = tei_trailer, tei_closer, tei_signed, tei_postscript tei_model.divBottomPart_sequenceOptional = tei_trailer?, tei_closer?, tei_signed?, tei_postscript? tei_model.divBottomPart_sequenceOptionalRepeatable = tei_trailer*, tei_closer*, tei_signed*, tei_postscript* tei_model.divBottomPart_sequenceRepeatable = tei_trailer+, tei_closer+, tei_signed+, tei_postscript+ tei_model.divBottom = tei_model.divWrapper | tei_model.divBottomPart tei_model.titlepagePart = tei_graphic | tei_binaryObject | tei_byline | tei_argument | tei_epigraph | tei_docTitle | tei_titlePart | tei_docAuthor | tei_imprimatur | tei_docEdition | tei_docImprint | tei_docDate tei_model.msQuoteLike = tei_title | tei_colophon | tei_explicit | tei_finalRubric | tei_incipit | tei_rubric tei_model.msQuoteLike_alternation = tei_title | tei_colophon | tei_explicit | tei_finalRubric | tei_incipit | tei_rubric tei_model.msQuoteLike_sequence = tei_title, tei_colophon, tei_explicit, tei_finalRubric, tei_incipit, tei_rubric tei_model.msQuoteLike_sequenceOptional = tei_title?, tei_colophon?, tei_explicit?, tei_finalRubric?, tei_incipit?, tei_rubric? tei_model.msQuoteLike_sequenceOptionalRepeatable = tei_title*, tei_colophon*, tei_explicit*, tei_finalRubric*, tei_incipit*, tei_rubric* tei_model.msQuoteLike_sequenceRepeatable = tei_title+, tei_colophon+, tei_explicit+, tei_finalRubric+, tei_incipit+, tei_rubric+ tei_model.msItemPart = tei_model.quoteLike | tei_model.respLike | tei_model.msQuoteLike | tei_bibl | tei_listBibl | tei_textLang | tei_filiation | tei_msItem | tei_msItemStruct | tei_decoNote tei_model.choicePart = tei_sic | tei_corr | tei_reg | tei_orig | tei_unclear | tei_abbr | tei_expan | tei_seg | tei_ex | tei_am tei_model.imprintPart = tei_publisher | tei_biblScope | tei_pubPlace | tei_distributor tei_model.imprintPart_alternation = tei_publisher | tei_biblScope | tei_pubPlace | tei_distributor tei_model.imprintPart_sequence = tei_publisher, tei_biblScope, tei_pubPlace, tei_distributor tei_model.imprintPart_sequenceOptional = tei_publisher?, tei_biblScope?, tei_pubPlace?, tei_distributor? tei_model.imprintPart_sequenceOptionalRepeatable = tei_publisher*, tei_biblScope*, tei_pubPlace*, tei_distributor* tei_model.imprintPart_sequenceRepeatable = tei_publisher+, tei_biblScope+, tei_pubPlace+, tei_distributor+ tei_model.catDescPart = tei_textDesc tei_model.settingPart = tei_locale | tei_activity tei_model.textDescPart_sequence = tei_channel, tei_constitution, tei_derivation, tei_domain, tei_factuality, tei_interaction, tei_preparedness tei_model.castItemPart = tei_role | tei_roleDesc | tei_actor tei_model.physDescPart_sequenceOptional = tei_objectDesc?, tei_handDesc?, tei_typeDesc?, tei_scriptDesc?, tei_musicNotation?, tei_decoDesc?, tei_additions?, tei_bindingDesc?, tei_sealDesc?, tei_accMat? tei_model.addressLike = tei_email | tei_address | tei_affiliation tei_model.addressLike_alternation = tei_email | tei_address | tei_affiliation tei_model.addressLike_sequence = tei_email, tei_address, tei_affiliation tei_model.addressLike_sequenceOptional = tei_email?, tei_address?, tei_affiliation? tei_model.addressLike_sequenceOptionalRepeatable = tei_email*, tei_address*, tei_affiliation* tei_model.addressLike_sequenceRepeatable = tei_email+, tei_address+, tei_affiliation+ tei_model.nameLike = tei_model.nameLike.agent | tei_model.offsetLike | tei_model.placeStateLike | tei_rs | tei_lang | tei_idno | tei_model.persNamePart tei_model.nameLike_alternation = tei_model.nameLike.agent_alternation | tei_model.offsetLike_alternation | tei_model.placeStateLike_alternation | tei_rs | tei_lang | tei_idno | tei_model.persNamePart_alternation tei_model.nameLike_sequence = tei_model.nameLike.agent_sequence, tei_model.offsetLike_sequence, tei_model.placeStateLike_sequence, tei_rs, tei_lang, tei_idno, tei_model.persNamePart_sequence tei_model.nameLike_sequenceOptional = tei_model.nameLike.agent_sequenceOptional?, tei_model.offsetLike_sequenceOptional?, tei_model.placeStateLike_sequenceOptional?, tei_rs?, tei_lang?, tei_idno?, tei_model.persNamePart_sequenceOptional? tei_model.nameLike_sequenceOptionalRepeatable = tei_model.nameLike.agent_sequenceOptionalRepeatable*, tei_model.offsetLike_sequenceOptionalRepeatable*, tei_model.placeStateLike_sequenceOptionalRepeatable*, tei_rs*, tei_lang*, tei_idno*, tei_model.persNamePart_sequenceOptionalRepeatable* tei_model.nameLike_sequenceRepeatable = tei_model.nameLike.agent_sequenceRepeatable+, tei_model.offsetLike_sequenceRepeatable+, tei_model.placeStateLike_sequenceRepeatable+, tei_rs+, tei_lang+, tei_idno+, tei_model.persNamePart_sequenceRepeatable+ tei_model.global = tei_model.global.meta | tei_model.milestoneLike | tei_model.noteLike | tei_model.global.edit | tei_notatedMusic | tei_figure | tei_model.global.spoken | tei_metamark tei_model.featureVal = tei_model.featureVal.complex | tei_model.featureVal.single tei_model.biblPart = tei_model.respLike | tei_model.imprintPart | tei_series | tei_bibl | tei_relatedItem | tei_textLang | tei_edition | tei_extent | tei_msIdentifier tei_model.frontPart = tei_model.frontPart.drama | tei_divGen | tei_titlePage tei_model.addrPart = tei_model.nameLike | tei_addrLine | tei_street | tei_postCode | tei_postBox tei_model.pPart.data = tei_model.dateLike | tei_model.measureLike | tei_model.addressLike | tei_model.nameLike tei_model.pPart.data_alternation = tei_model.dateLike_alternation | tei_model.measureLike_alternation | tei_model.addressLike_alternation | tei_model.nameLike_alternation tei_model.pPart.data_sequence = tei_model.dateLike_sequence, tei_model.measureLike_sequence, tei_model.addressLike_sequence, tei_model.nameLike_sequence tei_model.pPart.data_sequenceOptional = tei_model.dateLike_sequenceOptional?, tei_model.measureLike_sequenceOptional?, tei_model.addressLike_sequenceOptional?, tei_model.nameLike_sequenceOptional? tei_model.pPart.data_sequenceOptionalRepeatable = tei_model.dateLike_sequenceOptionalRepeatable*, tei_model.measureLike_sequenceOptionalRepeatable*, tei_model.addressLike_sequenceOptionalRepeatable*, tei_model.nameLike_sequenceOptionalRepeatable* tei_model.pPart.data_sequenceRepeatable = tei_model.dateLike_sequenceRepeatable+, tei_model.measureLike_sequenceRepeatable+, tei_model.addressLike_sequenceRepeatable+, tei_model.nameLike_sequenceRepeatable+ tei_model.inter = tei_model.egLike | tei_model.oddDecl | tei_model.biblLike | tei_model.labelLike | tei_model.listLike | tei_model.stageLike | tei_model.qLike | tei_castList tei_model.inter_alternation = tei_model.egLike_alternation | tei_model.oddDecl_alternation | tei_model.biblLike_alternation | tei_model.labelLike_alternation | tei_model.listLike_alternation | tei_model.stageLike_alternation | tei_model.qLike_alternation | tei_castList tei_model.inter_sequence = tei_model.egLike_sequence, tei_model.oddDecl_sequence, tei_model.biblLike_sequence, tei_model.labelLike_sequence, tei_model.listLike_sequence, tei_model.stageLike_sequence, tei_model.qLike_sequence, tei_castList tei_model.inter_sequenceOptional = tei_model.egLike_sequenceOptional?, tei_model.oddDecl_sequenceOptional?, tei_model.biblLike_sequenceOptional?, tei_model.labelLike_sequenceOptional?, tei_model.listLike_sequenceOptional?, tei_model.stageLike_sequenceOptional?, tei_model.qLike_sequenceOptional?, tei_castList? tei_model.inter_sequenceOptionalRepeatable = tei_model.egLike_sequenceOptionalRepeatable*, tei_model.oddDecl_sequenceOptionalRepeatable*, tei_model.biblLike_sequenceOptionalRepeatable*, tei_model.labelLike_sequenceOptionalRepeatable*, tei_model.listLike_sequenceOptionalRepeatable*, tei_model.stageLike_sequenceOptionalRepeatable*, tei_model.qLike_sequenceOptionalRepeatable*, tei_castList* tei_model.inter_sequenceRepeatable = tei_model.egLike_sequenceRepeatable+, tei_model.oddDecl_sequenceRepeatable+, tei_model.biblLike_sequenceRepeatable+, tei_model.labelLike_sequenceRepeatable+, tei_model.listLike_sequenceRepeatable+, tei_model.stageLike_sequenceRepeatable+, tei_model.qLike_sequenceRepeatable+, tei_castList+ tei_model.common = tei_model.divPart | tei_model.inter | tei_model.entryLike tei_model.phrase = tei_model.segLike | tei_model.highlighted | tei_model.graphicLike | tei_model.pPart.msdesc | tei_model.pPart.edit | tei_model.ptrLike | tei_model.lPart | tei_model.phrase.xml | tei_model.specDescLike | tei_model.pPart.data | tei_model.ptrLike.form tei_model.limitedPhrase = tei_model.hiLike | tei_model.emphLike | tei_model.pPart.msdesc | tei_model.pPart.editorial | tei_model.ptrLike | tei_model.phrase.xml | tei_model.pPart.data tei_model.divLike = tei_div tei_model.divGenLike = tei_divGen tei_model.div1Like = tei_div1 tei_model.div2Like = tei_div2 tei_model.div3Like = tei_div3 tei_model.div4Like = tei_div4 tei_model.div5Like = tei_div5 tei_model.div6Like = tei_div6 tei_model.div7Like = tei_div7 tei_model.applicationLike = tei_application tei_model.teiHeaderPart = tei_encodingDesc | tei_profileDesc tei_model.sourceDescPart = tei_scriptStmt | tei_recordingStmt tei_model.encodingDescPart = tei_charDecl | tei_projectDesc | tei_samplingDecl | tei_editorialDecl | tei_tagsDecl | tei_refsDecl | tei_classDecl | tei_appInfo | tei_geoDecl | tei_fsdDecl | tei_variantEncoding | tei_metDecl tei_model.editorialDeclPart = tei_correction | tei_normalization | tei_quotation | tei_hyphenation | tei_segmentation | tei_stdVals | tei_interpretation tei_model.profileDescPart = tei_textDesc | tei_particDesc | tei_settingDesc | tei_creation | tei_langUsage | tei_textClass | tei_calendarDesc | tei_handNotes | tei_listTranspose tei_model.resourceLike = tei_fsdDecl | tei_facsimile | tei_sourceDoc tei_att.personal.attributes = tei_att.naming.attributes, tei_att.personal.attribute.full, tei_att.personal.attribute.sort tei_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" }? tei_att.personal.attribute.sort = ## specifies the sort order of the name component in relation ## to others within the personal name. attribute sort { tei_data.count }? tei_model.placeLike = tei_place tei_p = ## (paragraph) marks paragraphs in prose. [3.1. 7.2.5. ] element ns2:p { tei_macro.paraContent, tei_att.global.attributes, tei_att.declaring.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, ## specifies the sublanguage or register to which the word or phrase is being ## assigned attribute type { tei_data.enumerated }?, ## specifies how the phrase is distinct diachronically attribute time { tei_data.key }?, ## specifies how the phrase is distinct diatopically attribute space { tei_data.key }?, ## specifies how the phrase is distinct diastatically attribute social { tei_data.key }?, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, tei_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 { tei_data.xTruthValue }?, ## may be used to indicate whether the quoted matter is regarded as direct or indirect ## speech. [ a:defaultValue = "true" ] attribute direct { tei_data.xTruthValue }?, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, tei_att.typed.attributes, tei_att.msExcerpt.attributes, empty } tei_q = ## (separated from the surrounding text with quotation marks) contains material which is marked as (ostensibly) being somehow different than the ## surrounding text, 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 { tei_macro.specialPara, tei_att.global.attributes, tei_att.ascribed.attributes, ## may be used to indicate whether the offset passage is spoken or thought, or to ## characterize it more finely. ## Suggested values include: 1] spoken; 2] thought; 3] written; 4] soCalled; 5] foreign(foreign words) ; 6] distinct(linguistically distinct) ; 7] term(technical term) ; 8] emph(rhetorically emphasized) ; 9] mentioned attribute type { ## representation of speech "spoken" | ## representation of thought, e.g. internal monologue "thought" | ## quotation from a written source "written" | ## authorial distance "soCalled" | ## (foreign words) "foreign" | ## (linguistically distinct) "distinct" | ## (technical term) "term" | ## (rhetorically emphasized) "emph" | ## refering to itself, not its normal referant "mentioned" | xsd:Name }?, empty } tei_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 { (tei_model.qLike | tei_model.egLike | tei_model.biblLike | tei_model.ptrLike | tei_model.global | tei_model.entryPart)+, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_mentioned = ## marks words or phrases mentioned, not used. [3.3.4. ] element ns2:mentioned { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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.4. 22.4.5. 22.4.6. 22.4.7. ] element ns2:desc { tei_macro.limitedContent, tei_att.global.attributes, tei_att.translatable.attributes, empty } tei_gloss = ## identifies a phrase or word used to provide a gloss or definition for some other word or ## phrase. [3.3.4. ] element ns2:gloss { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.declaring.attributes, tei_att.translatable.attributes, tei_att.typed.attributes, tei_att.pointing.attributes, ## (canonical reference) identifies the associated term element using a canonical reference from a ## scheme defined in a refsDecl element in the TEI header attribute cRef { tei_data.pointer }?, empty } tei_term = ## contains a single-word, multi-word, or symbolic designation which is regarded as a technical ## term. [3.3.4. ] element ns2:term { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.declaring.attributes, tei_att.pointing.attributes, tei_att.typed.attributes, tei_att.canonical.attributes, tei_att.sortable.attributes, ## identifies the associated gloss element using a canonical reference from a ## scheme defined in a refsDecl element in the TEI header attribute cRef { tei_data.pointer }?, empty } tei_sic = ## (latin for thus or so ## ) contains text reproduced although apparently incorrect or inaccurate. [3.4.1. ] element ns2:sic { tei_macro.paraContent, tei_att.global.attributes, tei_att.responsibility.attributes, empty } tei_corr = ## (correction) contains the correct form of a passage apparently erroneous in the copy text. [3.4.1. ] element ns2:corr { tei_macro.paraContent, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, empty } tei_choice = ## groups a number of alternative encodings for the same point in ## a text. [3.4. ] element ns2:choice { (tei_model.choicePart | tei_choice)*, tei_att.global.attributes, empty } tei_reg = ## (regularization) contains a reading which has been regularized or normalized in some sense. [3.4.2. 12. ] element ns2:reg { tei_macro.paraContent, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_att.responsibility.attributes, empty } tei_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 { tei_model.glossLike*, tei_att.global.attributes, tei_att.duration.attributes, tei_att.editLike.attributes, ## gives the reason for omission. Sample values include sampling, ## inaudible, irrelevant, cancelled. attribute reason { list { tei_data.word, tei_data.word* } }?, ## in the case of text omitted from the transcription because of deliberate deletion by an ## identifiable hand, signifies the hand which made the deletion. attribute hand { tei_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 { tei_data.enumerated }?, empty } tei_add = ## (addition) contains letters, words, or phrases inserted in the text by an ## author, scribe, annotator, or corrector. [3.4.3. ] element ns2:add { tei_macro.paraContent, tei_att.global.attributes, tei_att.transcriptional.attributes, tei_att.placement.attributes, tei_att.typed.attributes, empty } tei_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, annotator, or corrector. [3.4.3. ] element ns2:del { tei_macro.paraContent, tei_att.global.attributes, tei_att.transcriptional.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_att.editLike.attributes, ## indicates why the material is hard to transcribe. attribute reason { list { tei_data.word, tei_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 { tei_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 { tei_data.enumerated }?, empty } tei_name = ## (name, proper noun) contains a proper noun or noun phrase. [3.5.1. ] element ns2:name { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, empty } tei_rs = ## (referencing string) contains a general purpose name or referring string. [13.2.1. 3.5.1. ] element ns2:rs { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, ## indicates more specifically the object referred to by the referencing string. ## When suitable, values should be drawn from an existing ontology, such as the BBN's proposed answer categories. attribute type { tei_data.enumerated }?, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_address = ## contains a postal address, for example of a ## publisher, an organization, or an individual. [3.5.2. 2.2.4. 3.11.2.3. ] element ns2:address { (tei_model.global*, (tei_model.addrPart, tei_model.global*)+), tei_att.global.attributes, empty } tei_addrLine = ## (address line) contains one line of a postal address. [3.5.2. 2.2.4. 3.11.2.3. ] element ns2:addrLine { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_street = ## 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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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, tei_att.global.attributes, empty } tei_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, tei_att.global.attributes, empty } tei_num = ## (number) contains a number, written in any form. [3.5.3. ] element ns2:num { tei_macro.phraseSeq, tei_att.global.attributes, tei_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 { tei_data.numeric }?, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.measurement.attributes, ## specifies the type of measurement in any convenient typology. attribute type { tei_data.enumerated }?, empty } tei_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 | tei_model.gLike | tei_model.measureLike)*, tei_att.global.attributes, tei_att.measurement.attributes, tei_att.typed.attributes, empty } tei_date = ## contains a date in any format. [3.5.4. 2.2.4. 2.5. 3.11.2.3. 15.2.3. 13.3.6. ] element ns2:date { (text | tei_model.gLike | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.datable.attributes, tei_att.duration.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, empty } tei_time = ## contains a phrase defining a time of day in any format. [3.5.4. ] element ns2:time { (text | tei_model.gLike | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.datable.attributes, tei_att.duration.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, empty } tei_abbr = ## (abbreviation) contains an abbreviation of any sort. [3.5.5. ] element ns2:abbr { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.responsibility.attributes, ## allows the encoder to classify the abbreviation according to some convenient ## typology. ## Sample values include: 1] suspension; 2] contraction; 3] brevigraph; 4] superscription; 5] acronym; 6] title; 7] organization; 8] geographic attribute type { tei_data.enumerated }?, empty } tei_expan = ## (expansion) contains the expansion of an abbreviation. [3.5.5. ] element ns2:expan { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.editLike.attributes, empty } tei_ptr = ## (pointer) defines a pointer to another location. [3.6. 16.1. ] element ns2:ptr { empty >> sch:pattern [ id = "ptr-constraint-ptrAtts" "\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." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.pointing.attributes, tei_att.internetMedia.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, ## (canonical reference) specifies the destination of the pointer by supplying a canonical reference from a ## scheme defined in a refsDecl element in the TEI header attribute cRef { list { tei_data.word, tei_data.word* } }?, empty } tei_ref = ## (reference) defines a reference to another location, possibly modified by additional text or comment. [3.6. 16.1. ] element ns2:ref { tei_macro.paraContent >> sch:pattern [ id = "ref-constraint-refAtts" "\x{a}" ~ " " sch:rule [ context = "tei:ref" "\x{a}" ~ " " sch:report [ test = "@target and @cRef" "Only one of the\x{a}" ~ " attributes 'target' and 'cRef' may be supplied." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.pointing.attributes, tei_att.internetMedia.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, ## (canonical reference) specifies the destination of the reference by supplying a canonical reference from a ## scheme defined in a refsDecl element in the TEI header attribute cRef { list { tei_data.word, tei_data.word* } }?, empty } tei_list = ## (list) contains any sequence of items organized as a list. [3.7. ] element ns2:list { ((tei_model.divTop | tei_model.global)*, ((tei_item, tei_model.global*)+ | (tei_headLabel?, tei_headItem?, (tei_label, tei_model.global*, tei_item, tei_model.global*)+)), (tei_model.divBottom, tei_model.global*)*), tei_att.global.attributes, tei_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 } tei_item = ## contains one component of a list. [3.7. 2.5. ] element ns2:item { tei_macro.specialPara, tei_att.global.attributes, tei_att.sortable.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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 | tei_lg | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_model.lLike | tei_model.global)*, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_note = ## contains a note or annotation. [3.8.1. 2.2.6. 3.11.2.6. 9.3.5.4. ] element ns2:note { tei_macro.specialPara, tei_att.global.attributes, tei_att.placement.attributes, tei_att.pointing.attributes, tei_att.responsibility.attributes, tei_att.typed.attributes, ## indicates whether the copy text shows the exact place of reference for the note. [ a:defaultValue = "true" ] attribute anchored { tei_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 { tei_data.pointer, tei_data.pointer* } }?, empty } tei_index = ## (index entry) marks a location to be indexed for whatever purpose. [3.8.2. ] element ns2:index { (tei_term, tei_index?)*, tei_att.global.attributes, tei_att.spanning.attributes, ## supplies a name to specify which index (of several) the index entry belongs to. attribute indexName { tei_data.name }?, empty } tei_graphic = ## indicates the location of an inline graphic, illustration, or figure. [3.9. ] element ns2:graphic { tei_model.glossLike*, tei_att.global.attributes, tei_att.internetMedia.attributes, tei_att.declaring.attributes, ## The display width of the image attribute width { tei_data.outputMeasurement }?, ## The display height of the image attribute height { tei_data.outputMeasurement }?, ## A scale factor to be applied to the image to make it the desired display size attribute scale { tei_data.numeric }?, ## (uniform resource locator) A URL which refers to the image itself. attribute url { tei_data.pointer }, empty } tei_binaryObject = ## provides encoded binary data representing an inline graphic or other object. element ns2:binaryObject { text, tei_att.global.attributes, tei_att.internetMedia.attributes, ## The display width of the object attribute width { tei_data.outputMeasurement }?, ## The display height of the object attribute height { tei_data.outputMeasurement }?, ## A scale factor to be applied to the object to make it the desired display size attribute scale { tei_data.numeric }?, ## The encoding used to encode the binary data. If not specified, this is assumed to be ## Base64. attribute encoding { list { tei_data.word, tei_data.word* } }?, empty } tei_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, tei_att.global.attributes, tei_att.typed.attributes, tei_att.sourced.attributes, tei_att.spanning.attributes, tei_att.breaking.attributes, ## 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 }, empty } tei_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, tei_att.global.attributes, tei_att.typed.attributes, tei_att.spanning.attributes, tei_att.breaking.attributes, empty } tei_pb = ## (page break) marks the boundary between one page of a text and the next in a standard reference system. [3.10.3. ] element ns2:pb { empty, tei_att.global.attributes, tei_att.typed.attributes, tei_att.sourced.attributes, tei_att.spanning.attributes, tei_att.breaking.attributes, empty } tei_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, tei_att.global.attributes, tei_att.typed.attributes, tei_att.sourced.attributes, tei_att.spanning.attributes, tei_att.breaking.attributes, empty } tei_cb = ## (column break) marks the boundary between one column of a text and the next ## in a standard reference system. [3.10.3. ] element ns2:cb { empty, tei_att.global.attributes, tei_att.typed.attributes, tei_att.sourced.attributes, tei_att.spanning.attributes, tei_att.breaking.attributes, empty } tei_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 { (tei_author | tei_editor | tei_respStmt | tei_title | tei_ref | tei_date | tei_textLang | tei_idno)*, tei_att.global.attributes, empty } tei_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 { ((((tei_author | tei_editor | tei_respStmt), (tei_author | tei_editor | tei_respStmt)*, tei_title+, (tei_idno | tei_textLang | tei_editor | tei_respStmt)*) | ((tei_title | tei_ref)+, (tei_idno | tei_textLang | tei_author | tei_editor | tei_respStmt)*))?, (tei_model.noteLike | tei_meeting)*, (tei_edition, (tei_idno | tei_editor | tei_respStmt)*)*, tei_imprint, (tei_imprint | tei_extent | tei_biblScope)*), tei_att.global.attributes, empty } tei_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 | tei_model.gLike | tei_title | tei_ref | tei_editor | tei_respStmt | tei_biblScope | tei_idno | tei_textLang | tei_model.global)*, tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, empty } tei_editor = ## 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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, empty } tei_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 { ((tei_resp+, tei_model.nameLike.agent+) | (tei_model.nameLike.agent+, tei_resp+)), tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq.limited, tei_att.global.attributes, tei_att.canonical.attributes, empty } tei_title = ## contains a title for any kind of work. [3.11.2.2. 2.2.1. 2.2.5. ] element ns2:title { tei_macro.paraContent, tei_att.global.attributes, tei_att.canonical.attributes, ## indicates the bibliographic level for a title, that is, whether ## it identifies an article, book, journal, series, or ## unpublished material. attribute level { ## (analytic) analytic title (article, poem, or other item ## published as part of a larger item) "a" | ## (monographic) monographic title (book, collection, or ## other item published as a distinct item, ## including single volumes of multi-volume ## works) "m" | ## (journal) journal title "j" | ## (series) series title "s" | ## (unpublished) title of unpublished material (including ## theses and dissertations unless ## published by a commercial press) "u" }?, ## 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 { tei_data.enumerated }?, empty } tei_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 { tei_macro.limitedContent, tei_att.global.attributes, empty } tei_imprint = ## groups information relating to the publication or distribution ## of a bibliographic item. [3.11.2.3. ] element ns2:imprint { ((tei_model.imprintPart | tei_model.dateLike), tei_respStmt*, tei_model.global*)+, tei_att.global.attributes, empty } tei_publisher = ## provides the name of the organization responsible for the publication or distribution of a ## bibliographic item. [3.11.2.3. 2.2.4. ] element ns2:publisher { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_biblScope = ## (scope of citation) 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.3. ] element ns2:biblScope { tei_macro.phraseSeq, tei_att.global.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 }?, ## specifies the starting point of the range of units indicated by the type attribute. attribute from { tei_data.word }?, ## specifies the end-point of the range of units indicated by the type attribute. attribute to { tei_data.word }?, empty } tei_pubPlace = ## (publication place) contains the name of the place where a bibliographic item was published. [3.11.2.3. ] element ns2:pubPlace { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, empty } tei_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 | tei_model.gLike | tei_model.highlighted | tei_model.pPart.data | tei_model.pPart.edit | tei_model.segLike | tei_model.ptrLike | tei_model.biblPart | tei_model.global)*, tei_att.global.attributes, tei_att.declarable.attributes, tei_att.typed.attributes, tei_att.sortable.attributes, empty } tei_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 { (tei_analytic*, (tei_monogr, tei_series*)+, (tei_model.noteLike | tei_idno | tei_relatedItem)*), tei_att.global.attributes, tei_att.declarable.attributes, tei_att.typed.attributes, tei_att.sortable.attributes, empty } tei_listBibl = ## (citation list) contains a list of bibliographic citations of any kind. [3.11.1. 2.2.7. 15.3.2. ] element ns2:listBibl { (tei_model.headLike*, (tei_model.biblLike | tei_model.milestoneLike | tei_listBibl)+), tei_att.global.attributes, tei_att.sortable.attributes, tei_att.declarable.attributes, tei_att.typed.attributes, empty } tei_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.5. ] element ns2:relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ id = "relatedItem-constraint-targetorcontent11" "\x{a}" ~ " " sch:rule [ context = "tei:relatedItem" "\x{a}" ~ " " sch:report [ test = "@target and count( child::* ) > 0" "If the 'target' attribute is used, the\x{a}" ~ " relatedItem element must be empty" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "relatedItem-constraint-targetorcontent11" "\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}" ~ " " ], tei_att.global.attributes, tei_att.typed.attributes, ## points to the related bibliographic element by means of an ## absolute or relative URI reference attribute target { tei_data.pointer }?, empty } tei_l = ## (verse line) contains a single, possibly incomplete, line of verse. [3.12.1. 3.12. 7.2.5. ] element ns2:l { tei_macro.paraContent, tei_att.global.attributes, tei_att.metrical.attributes, tei_att.enjamb.attributes, ## specifies whether or not the line is metrically complete. [ a:defaultValue = "N" ] attribute part { ## (yes) the line is metrically incomplete "Y" | ## (no) either the line is complete, or no claim is made as to its completeness "N" | ## (initial) the initial part of an incomplete line "I" | ## (medial) a medial part of an incomplete line "M" | ## (final) the final part of an incomplete line "F" }?, empty } tei_lg = ## (line group) contains a group of 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 { ((tei_model.divTop | tei_model.global)*, (tei_model.lLike | tei_model.stageLike | tei_model.labelLike | tei_lg), (tei_model.lLike | tei_model.stageLike | tei_model.labelLike | tei_model.global | tei_lg)*, (tei_model.divBottom, tei_model.global*)*), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_sp = ## (speech) 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 { (tei_model.global*, (tei_speaker, tei_model.global*)?, ((tei_lg | tei_model.lLike | tei_model.pLike | tei_model.listLike | tei_model.stageLike | tei_model.qLike), tei_model.global*)+), tei_att.global.attributes, tei_att.ascribed.attributes, empty } tei_speaker = ## 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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, ## indicates the kind of stage direction. ## Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed attribute type { ## describes a setting. "setting" | ## describes an entrance. "entrance" | ## describes an exit. "exit" | ## describes stage business. "business" | ## is a narrative, motivating stage direction. "novelistic" | ## describes how a character speaks. "delivery" | ## gives some detail about a character. "modifier" | ## describes a location. "location" | ## more than one of the above "mixed" | xsd:Name }?, empty } tei_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 { (tei_teiHeader, (tei_TEI | tei_teiCorpus)+), tei_att.global.attributes, ## The version of the TEI scheme [ a:defaultValue = "5.0" ] attribute version { tei_data.version }?, empty } tei_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 { tei_model.headLike*, tei_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 { tei_data.enumerated }?, empty } tei_textLang = ## (text language) describes the languages and writing systems identified within the bibliographic work ## being described, rather than its description. [3.11.2.3. 10.6.6. ] element ns2:textLang { tei_macro.phraseSeq, tei_att.global.attributes, ## (main language) supplies a code which identifies the chief language used in the bibliographic work. attribute mainLang { tei_data.language }?, ## (other languages) one or more codes identifying any other languages used in the bibliographic work. attribute otherLangs { list { tei_data.language* } }?, empty } tei_s = ## (s-unit) contains a sentence-like division of a text. [17.1. 8.4.1. ] element ns2:s { tei_macro.phraseSeq >> sch:pattern [ id = "s-constraint-noNestedS" "\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}" ~ " " ], tei_att.global.attributes, tei_att.segLike.attributes, tei_att.typed.attributes, empty } tei_cl = ## (clause) represents a grammatical clause. [17.1. ] element ns2:cl { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.segLike.attributes, tei_att.typed.attributes, empty } tei_phr = ## (phrase) represents a grammatical phrase. [17.1. ] element ns2:phr { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.segLike.attributes, tei_att.typed.attributes, empty } tei_w = ## (word) represents a grammatical (not necessarily orthographic) word. [17.1. ] element ns2:w { (text | tei_model.gLike | tei_seg | tei_w | tei_m | tei_c | tei_model.global | tei_model.lPart | tei_model.hiLike | tei_model.pPart.edit)*, tei_att.global.attributes, tei_att.segLike.attributes, tei_att.typed.attributes, ## provides a lemma for the word, such as an uninflected ## dictionary entry form. attribute lemma { tei_data.key }?, ## provides a pointer to a definition of the lemma for the ## word, for example in an online lexicon. attribute lemmaRef { tei_data.pointer }?, empty } tei_m = ## (morpheme) represents a grammatical morpheme. [17.1. ] element ns2:m { (text | tei_model.gLike | tei_seg | tei_m | tei_c | tei_model.global)*, tei_att.global.attributes, tei_att.segLike.attributes, tei_att.typed.attributes, ## identifies the morpheme's base form. attribute baseForm { tei_data.word }?, empty } tei_c = ## (character) represents a character. [17.1. ] element ns2:c { tei_macro.xtext, tei_att.global.attributes, tei_att.segLike.attributes, tei_att.typed.attributes, empty } tei_pc = ## (punctuation character) a character or string of characters regarded as constituting a ## single punctuation mark. [17.1. ] element ns2:pc { (text | tei_model.gLike | tei_c)*, tei_att.global.attributes, tei_att.segLike.attributes, tei_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 { tei_data.enumerated }?, ## indicates whether this punctuation mark precedes or ## follows the unit it delimits. attribute pre { tei_data.truthValue }?, empty } tei_att.global.analytic.attributes = tei_att.global.analytic.attribute.ana tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_span = ## associates an interpretative annotation directly with a span of text. [17.3. ] element ns2:span { tei_macro.phraseSeq.limited, tei_att.global.attributes, tei_att.interpLike.attributes, ## specifies the beginning of the passage being annotated; if not accompanied by a ## to attribute, then specifies the entire passage. attribute from { tei_data.pointer }, ## specifies the end of the passage being annotated. attribute to { tei_data.pointer }?, empty } tei_spanGrp = ## (span group) collects together span tags. [17.3. ] element ns2:spanGrp { tei_span*, tei_att.global.attributes, tei_att.interpLike.attributes, empty } tei_interp = ## (interpretation) summarizes a specific interpretative annotation which can be linked to a span of text. [17.3. ] element ns2:interp { (text | tei_model.gLike | tei_model.glossLike)*, tei_att.global.attributes, tei_att.interpLike.attributes, empty } tei_interpGrp = ## (interpretation group) collects together a set of related interpretations which share responsibility or type. [17.3. ] element ns2:interpGrp { (tei_model.glossLike*, tei_interp+), tei_att.global.attributes, tei_att.interpLike.attributes, empty } tei_precision = ## indicates the numerical accuracy or precision associated ## with some aspect of the text markup. element ns2:precision { tei_model.glossLike*, tei_att.global.attributes, tei_att.scoping.attributes, ## indicates the degree of precision to be assigned as a ## value between 0 (none) and 1 (optimally precise) attribute degree { tei_data.probability }?, ## characterizes the precision of the element or attribute pointed ## to by the precision element. attribute precision { tei_data.certainty }?, ## supplies a standard deviation associated with the value in ## question attribute stdDeviation { tei_data.numeric }?, empty } tei_certainty = ## indicates the degree of certainty associated ## with some aspect of the text markup. [21.1.2. ] element ns2:certainty { tei_model.glossLike*, tei_att.global.attributes, tei_att.scoping.attributes, ## (certainty) signifies the degree of certainty associated with the object pointed to by the certainty element. attribute cert { tei_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 { tei_data.pointer | tei_data.name | tei_data.word }?, ## indicates conditions assumed in the assignment of a degree ## of confidence. attribute given { list { tei_data.pointer, tei_data.pointer* } }?, ## indicates the degree of confidence assigned to the aspect ## of the markup named by the locus attribute. attribute degree { tei_data.probability }?, empty } tei_respons = ## (responsibility) identifies the individual(s) responsible for some aspect of the ## markup of particular element(s). [21.3. ] element ns2:respons { tei_model.glossLike*, tei_att.global.attributes, tei_att.scoping.attributes, ## indicates the specific aspect of the markup 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"), ( ## 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")* } }, ## (responsible party) identifies the individual or agency responsible for the indicated ## aspect of the electronic text. attribute resp { tei_data.pointer }, empty } tei_textDesc = ## (text description) provides a description of a text in terms of its ## situational parameters. [15.2.1. ] element ns2:textDesc { (tei_model.textDescPart_sequence, tei_purpose+), tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_particDesc = ## (participation description) describes the identifiable speakers, voices, or other participants ## in any kind of text. [15.2. ] element ns2:particDesc { (tei_model.pLike+ | (tei_model.personLike | tei_listPerson | tei_listOrg)+), tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_settingDesc = ## (setting description) describes the setting or settings within which a language ## interaction takes place, either as a prose description or as a ## series of setting elements. [15.2. 2.4. ] element ns2:settingDesc { (tei_model.pLike+ | (tei_setting | tei_model.placeLike | tei_listPlace)+), tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_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 { tei_macro.phraseSeq.limited, tei_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 } tei_constitution = ## describes the internal composition of a text or text sample, ## for example ## as fragmentary, complete, etc. [15.2.1. ] element ns2:constitution { tei_macro.phraseSeq.limited, tei_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 } tei_derivation = ## describes the nature and extent of originality of this text. [15.2.1. ] element ns2:derivation { tei_macro.phraseSeq.limited, tei_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 { tei_data.enumerated }?, empty } tei_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 { tei_macro.phraseSeq.limited, tei_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 { tei_data.enumerated }?, empty } tei_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 { tei_macro.phraseSeq.limited, tei_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 } tei_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 { tei_macro.phraseSeq.limited, tei_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 } tei_preparedness = ## describes the extent to which a text may be regarded as ## prepared or spontaneous. [15.2.1. ] element ns2:preparedness { tei_macro.phraseSeq.limited, tei_att.global.attributes, ## a keyword characterizing the type of preparedness. ## ## Sample values include: 1] none; 2] scripted; 3] formulaic; 4] revised attribute type { tei_data.enumerated }?, empty } tei_purpose = ## characterizes a single purpose or communicative function of the ## text. [15.2.1. ] element ns2:purpose { tei_macro.phraseSeq.limited, tei_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 { tei_data.certainty }?, empty } tei_setting = ## describes one particular setting in which a language ## interaction takes place. [15.2.3. ] element ns2:setting { (tei_model.pLike+ | (tei_model.nameLike.agent | tei_model.dateLike | tei_model.settingPart)*), tei_att.global.attributes, tei_att.ascribed.attributes, empty } tei_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 { tei_macro.phraseSeq.limited, tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq.limited, tei_att.global.attributes, empty } tei_model.entryLike = tei_superEntry | tei_entry | tei_entryFree tei_model.entryLike_alternation = tei_superEntry | tei_entry | tei_entryFree tei_model.entryLike_sequence = tei_superEntry, tei_entry, tei_entryFree tei_model.entryLike_sequenceOptional = tei_superEntry?, tei_entry?, tei_entryFree? tei_model.entryLike_sequenceOptionalRepeatable = tei_superEntry*, tei_entry*, tei_entryFree* tei_model.entryLike_sequenceRepeatable = tei_superEntry+, tei_entry+, tei_entryFree+ tei_att.entryLike.attributes = tei_att.entryLike.attribute.type tei_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 }? tei_att.lexicographic.attributes = tei_att.lexicographic.attribute.expand, tei_att.lexicographic.attribute.norm, tei_att.lexicographic.attribute.split, tei_att.lexicographic.attribute.value, tei_att.lexicographic.attribute.orig, tei_att.lexicographic.attribute.location, tei_att.lexicographic.attribute.mergedIn, tei_att.lexicographic.attribute.opt tei_att.lexicographic.attribute.expand = ## gives an expanded form of information presented more concisely in the dictionary attribute expand { text }? tei_att.lexicographic.attribute.norm = ## (normalized) gives a normalized form of information given by the source text in a ## non-normalized form attribute norm { text }? tei_att.lexicographic.attribute.split = ## gives the list of split values for a merged form attribute split { text }? tei_att.lexicographic.attribute.value = ## gives a value which lacks any realization in the printed source text. attribute value { text }? tei_att.lexicographic.attribute.orig = ## (original) gives the original string or is the empty string when the element does not appear ## in the source text. attribute orig { text }? tei_att.lexicographic.attribute.location = ## provides a reference to an anchor element typically elsewhere in the document, but possibly in another document, ## indicating the original location of this component. attribute location { tei_data.pointer }? tei_att.lexicographic.attribute.mergedIn = ## gives a reference to another element, where the original appears as a merged form. attribute mergedIn { tei_data.pointer }? tei_att.lexicographic.attribute.opt = ## (optional) indicates whether the element is optional or not [ a:defaultValue = "false" ] attribute opt { xsd:boolean }? tei_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 { ((tei_form?, tei_entry+) | tei_dictScrap), tei_att.global.attributes, tei_att.entryLike.attributes, tei_att.sortable.attributes, empty } tei_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 { (tei_hom | tei_sense | tei_model.entryPart.top | tei_model.global | tei_model.ptrLike)+, tei_att.global.attributes, tei_att.entryLike.attributes, tei_att.sortable.attributes, empty } tei_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 | tei_model.gLike | tei_model.entryPart | tei_model.phrase | tei_model.inter | tei_model.global)*, tei_att.global.attributes, tei_att.entryLike.attributes, tei_att.lexicographic.attributes, tei_att.sortable.attributes, empty } tei_hom = ## (homograph) groups information relating to one homograph within an entry. [9.2. ] element ns2:hom { (tei_sense | tei_model.entryPart.top | tei_model.global)*, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_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 | tei_model.gLike | tei_sense | tei_model.entryPart.top | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.lexicographic.attributes, ## gives the nesting depth of this sense. attribute level { tei_data.numeric }?, empty } tei_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 | tei_model.gLike | tei_model.entryPart | tei_model.phrase | tei_model.inter | tei_model.global)*, tei_att.global.attributes, empty } tei_form = ## (form information group) groups all the information on the written and spoken forms of one headword. [9.3.1. ] element ns2:form { (text | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_model.formPart | tei_model.global)*, tei_att.global.attributes, tei_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 } tei_orth = ## (orthographic form) gives the orthographic form of a dictionary headword. [9.3.1. ] element ns2:orth { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, ## gives the type of spelling. attribute type { tei_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 { tei_data.enumerated }?, empty } tei_pron = ## (pronunciation) contains the pronunciation(s) of the word. [9.3.1. ] element ns2:pron { tei_macro.paraContent, tei_att.global.attributes, tei_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 { tei_data.enumerated }?, ## indicates what notation is used for the pronunciation, if more than one occurs in ## the machine-readable dictionary. attribute notation { tei_data.enumerated }?, empty } tei_hyph = ## (hyphenation) contains a hyphenated form of a dictionary headword, or hyphenation information in some ## other form. [9.3.1. ] element ns2:hyph { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_syll = ## (syllabification) contains the syllabification of the headword. [9.3.1. ] element ns2:syll { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_stress = ## contains the stress pattern for a dictionary headword, if given separately. [9.3.1. ] element ns2:stress { tei_macro.paraContent, tei_att.global.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_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 { tei_data.enumerated }?, empty } tei_gen = ## (gender) identifies the morphological gender of a lexical item, as given in the dictionary. [9.3.1. ] element ns2:gen { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_number = ## indicates grammatical number associated with a form, as given in a dictionary. [9.3.1. 9.3.2. ] element ns2:number { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_case = ## contains grammatical case information given by a dictionary for a given form. [9.3.1. ] element ns2:case { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_tns = ## (tense) indicates the grammatical tense associated with a given inflected form in a dictionary. [9.3.1. ] element ns2:tns { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_mood = ## contains information about the grammatical mood of verbs (e.g. indicative, subjunctive, ## imperative). [9.3.1. ] element ns2:mood { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_iType = ## (inflectional class) indicates the inflectional class associated with a lexical item. [9.3.1. ] element ns2:iType { tei_macro.paraContent, tei_att.global.attributes, tei_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 { tei_data.enumerated }?, empty } tei_model.morphLike = tei_gram | tei_gen | tei_number | tei_case | tei_per | tei_tns | tei_mood | tei_iType tei_model.morphLike_alternation = tei_gram | tei_gen | tei_number | tei_case | tei_per | tei_tns | tei_mood | tei_iType tei_model.morphLike_sequence = tei_gram, tei_gen, tei_number, tei_case, tei_per, tei_tns, tei_mood, tei_iType tei_model.morphLike_sequenceOptional = tei_gram?, tei_gen?, tei_number?, tei_case?, tei_per?, tei_tns?, tei_mood?, tei_iType? tei_model.morphLike_sequenceOptionalRepeatable = tei_gram*, tei_gen*, tei_number*, tei_case*, tei_per*, tei_tns*, tei_mood*, tei_iType* tei_model.morphLike_sequenceRepeatable = tei_gram+, tei_gen+, tei_number+, tei_case+, tei_per+, tei_tns+, tei_mood+, tei_iType+ tei_model.gramPart = tei_model.morphLike | tei_gramGrp | tei_pos | tei_subc | tei_colloc | tei_usg | tei_lbl tei_model.gramPart_alternation = tei_model.morphLike_alternation | tei_gramGrp | tei_pos | tei_subc | tei_colloc | tei_usg | tei_lbl tei_model.gramPart_sequence = tei_model.morphLike_sequence, tei_gramGrp, tei_pos, tei_subc, tei_colloc, tei_usg, tei_lbl tei_model.gramPart_sequenceOptional = tei_model.morphLike_sequenceOptional?, tei_gramGrp?, tei_pos?, tei_subc?, tei_colloc?, tei_usg?, tei_lbl? tei_model.gramPart_sequenceOptionalRepeatable = tei_model.morphLike_sequenceOptionalRepeatable*, tei_gramGrp*, tei_pos*, tei_subc*, tei_colloc*, tei_usg*, tei_lbl* tei_model.gramPart_sequenceRepeatable = tei_model.morphLike_sequenceRepeatable+, tei_gramGrp+, tei_pos+, tei_subc+, tei_colloc+, tei_usg+, tei_lbl+ tei_model.formPart = tei_form | tei_orth | tei_pron | tei_hyph | tei_syll | tei_stress | tei_model.gramPart tei_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 | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_model.gramPart | tei_model.global)*, tei_att.global.attributes, tei_att.lexicographic.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_subc = ## (subcategorization) contains subcategorization information (transitive/intransitive, countable/non-countable, ## etc.) [9.3.2. ] element ns2:subc { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_colloc = ## (collocate) contains a collocate of the headword. [9.3.2. ] element ns2:colloc { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, tei_att.typed.attributes, empty } tei_def = ## (definition) contains definition text in a dictionary entry. [9.3.3.1. ] element ns2:def { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_etym = ## (etymology) encloses the etymological information in a dictionary entry. [9.3.4. ] element ns2:etym { (text | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_usg | tei_lbl | tei_def | tei_model.morphLike | tei_xr | tei_model.global)*, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_lang = ## (language name) name of a language mentioned in etymological or other linguistic discussion. [9.3.4. ] element ns2:lang { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, empty } tei_usg = ## (usage) contains usage information in a dictionary entry. [9.3.5.2. ] element ns2:usg { tei_macro.paraContent, tei_att.global.attributes, tei_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 { tei_data.enumerated }?, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_att.lexicographic.attributes, ## classifies the label using any convenient typology. attribute type { tei_data.enumerated }?, empty } tei_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 | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_usg | tei_lbl | tei_model.global)*, tei_att.global.attributes, tei_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 { tei_data.enumerated }?, empty } tei_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 | tei_model.gLike | tei_sense | tei_model.entryPart.top | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.lexicographic.attributes, tei_att.typed.attributes, empty } tei_model.ptrLike.form = tei_oRef | tei_oVar | tei_pRef | tei_pVar tei_model.ptrLike.form_alternation = tei_oRef | tei_oVar | tei_pRef | tei_pVar tei_model.ptrLike.form_sequence = tei_oRef, tei_oVar, tei_pRef, tei_pVar tei_model.ptrLike.form_sequenceOptional = tei_oRef?, tei_oVar?, tei_pRef?, tei_pVar? tei_model.ptrLike.form_sequenceOptionalRepeatable = tei_oRef*, tei_oVar*, tei_pRef*, tei_pVar* tei_model.ptrLike.form_sequenceRepeatable = tei_oRef+, tei_oVar+, tei_pRef+, tei_pVar+ tei_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, tei_att.global.attributes, tei_att.lexicographic.attributes, tei_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 { tei_data.enumerated }?, empty } tei_oVar = ## (orthographic-variant reference) in a dictionary example, indicates a reference to variant orthographic form(s) of the ## headword. [9. ] element ns2:oVar { (text | tei_model.gLike | tei_oRef)*, tei_att.global.attributes, tei_att.lexicographic.attributes, tei_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 { tei_data.enumerated }?, empty } tei_pRef = ## (pronunciation reference) in a dictionary example, indicates a reference to the pronunciation(s) of the headword. [9.4. ] element ns2:pRef { empty, tei_att.global.attributes, tei_att.pointing.attributes, tei_att.lexicographic.attributes, empty } tei_pVar = ## (pronunciation-variant reference) in a dictionary example, indicates a reference to variant pronunciation(s) of the headword. [9. ] element ns2:pVar { (text | tei_model.gLike | tei_pRef)*, tei_att.global.attributes, tei_att.pointing.attributes, tei_att.lexicographic.attributes, empty } tei_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 { ((tei_model.headLike | tei_model.global)*, (tei_model.common, tei_model.global*)*), tei_att.global.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, (tei_model.common, tei_model.global*)+, (tei_model.divBottom, tei_model.global*)*), tei_att.global.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, (tei_model.common, tei_model.global*)+, (tei_model.divBottom, tei_model.global*)*), tei_att.global.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, (tei_model.common, tei_model.global*)+, (tei_model.divBottom, tei_model.global*)*), tei_att.global.attributes, empty } tei_castList = ## (cast list) contains a single cast list or dramatis personae. [7.1.4. 7.1. ] element ns2:castList { ((tei_model.divTop | tei_model.global)*, (tei_model.common, tei_model.global*)*, ((tei_castItem | tei_castGroup), tei_model.global*)+, (tei_model.common, tei_model.global*)*), tei_att.global.attributes, empty } tei_castGroup = ## (cast list grouping) groups one or more individual castItem ## elements within a cast list. [7.1.4. ] element ns2:castGroup { ((tei_model.global | tei_model.headLike)*, ((tei_castItem | tei_castGroup | tei_roleDesc), tei_model.global*)+, (tei_trailer, tei_model.global*)?), tei_att.global.attributes, empty } tei_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 | tei_model.gLike | tei_model.castItemPart | tei_model.phrase | tei_model.global)*, tei_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 } tei_role = ## the name of a dramatic role, as given in a cast list. [7.1.4. ] element ns2:role { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_roleDesc = ## (role description) describes a character's role in a drama. [7.1.4. ] element ns2:roleDesc { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_actor = ## Name of an actor appearing within a cast list. [7.1.4. ] element ns2:actor { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_spGrp = ## (speech group) 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 { (tei_model.headLike?, (tei_model.global | tei_sp | tei_model.stageLike)+), tei_att.global.attributes, tei_att.typed.attributes, tei_att.ascribed.attributes, empty } tei_move = ## (movement) marks the actual entrance or exit of one or more characters on stage. [7.2.4. ] element ns2:move { empty, tei_att.global.attributes, tei_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 { tei_data.enumerated, tei_data.enumerated* } }?, ## (performance) identifies the performance or performances in which this movement occurred as specified. attribute perf { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, empty } tei_camera = ## describes a particular camera angle or viewpoint in a screen play. [7.3.1. 7.3. ] element ns2:camera { tei_macro.paraContent, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_sound = ## describes a sound effect or musical sequence specified within a screen play or radio script. [7.3.1. 7.3. ] element ns2:sound { tei_macro.paraContent, tei_att.global.attributes, ## categorizes the sound in some respect, e.g. as music, special effect, etc. attribute type { tei_data.enumerated }?, ## indicates whether the sound overlaps the surrounding speeches or interrupts them. [ a:defaultValue = "unknown" ] attribute discrete { tei_data.xTruthValue }?, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, empty } tei_tech = ## (technical stage direction) describes a special-purpose stage direction that is not ## meant for the actors. [7.3.1. ] element ns2:tech { tei_macro.paraContent, tei_att.global.attributes, ## categorizes the technical stage direction. attribute type { ## a lighting cue "light" | ## a sound cue "sound" | ## a prop cue "prop" | ## a blocking instruction "block" }?, ## (performance) identifies the performance or performances to which this ## technical direction applies. attribute perf { tei_data.enumerated }?, empty } tei_table = ## contains text displayed in tabular form, in rows and columns. [14.1.1. ] element ns2:table { (((tei_model.headLike | tei_model.global)*, (tei_row, tei_model.global*)+) | tei_model.graphicLike+), tei_att.global.attributes, ## indicates the number of rows in the table. attribute rows { tei_data.count }?, ## (columns) indicates the number of columns in each row of the table. attribute cols { tei_data.count }?, empty } tei_row = ## contains one row of a table. [14.1.1. ] element ns2:row { tei_cell+, tei_att.global.attributes, tei_att.tableDecoration.attributes, empty } tei_cell = ## contains one cell of a table. [14.1.1. ] element ns2:cell { tei_macro.paraContent, tei_att.global.attributes, tei_att.tableDecoration.attributes, empty } tei_formula = ## contains a mathematical or other formula. [14.2. ] element ns2:formula { mathml.math, ## specifies the notation used for the content of the element. attribute notation { tei_data.enumerated }?, tei_att.global.attributes, empty } tei_notatedMusic = ## encodes the presence of music notation in a text element ns2:notatedMusic { (tei_model.labelLike | tei_model.ptrLike | tei_graphic | tei_binaryObject)*, tei_att.global.attributes, tei_att.placement.attributes, tei_att.typed.attributes, empty } tei_figure = ## groups elements representing or containing graphic information ## such as an illustration, formula, or figure. [14.4. ] element ns2:figure { (tei_model.headLike | tei_model.common | tei_figDesc | tei_model.graphicLike | tei_model.global | tei_model.divBottomPart)*, tei_att.global.attributes, tei_att.placement.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.limitedContent, tei_att.global.attributes, empty } tei_g = ## (character or glyph) represents a non-standard character or glyph. element ns2:g { text, tei_att.global.attributes, tei_att.typed.attributes, ## points to a description of the character or glyph intended. attribute ref { tei_data.pointer }?, empty } tei_char = ## (character) provides descriptive information about a character. element ns2:char { (tei_charName?, tei_model.glossLike*, tei_charProp*, tei_mapping*, tei_figure*, tei_model.graphicLike*, tei_model.noteLike*), tei_att.global.attributes, empty } tei_charName = ## (character name) contains the name of a character, expressed following Unicode conventions. element ns2:charName { text, tei_att.global.attributes, empty } tei_charProp = ## (character property) provides a name and value for some property of the parent character or glyph. element ns2:charProp { ((tei_unicodeName | tei_localName), tei_value), tei_att.global.attributes, tei_att.typed.attributes, empty } tei_charDecl = ## (character declarations) provides information about nonstandard characters and glyphs. element ns2:charDecl { (tei_desc?, (tei_char | tei_glyph)+), tei_att.global.attributes, empty } tei_glyph = ## (character glyph) provides descriptive information about a character glyph. element ns2:glyph { (tei_glyphName?, tei_model.glossLike*, tei_charProp*, tei_mapping*, tei_figure*, tei_model.graphicLike*, tei_model.noteLike*), tei_att.global.attributes, empty } tei_glyphName = ## (character glyph name) contains the name of a glyph, expressed following Unicode conventions for character names. element ns2:glyphName { text, tei_att.global.attributes, empty } tei_localName = ## (locally-defined property name) contains a locally defined name for some property. element ns2:localName { text, tei_att.global.attributes, empty } tei_mapping = ## (character mapping) contains one or more ## characters which are related to the parent character or glyph ## in some respect, as specified by the type ## attribute. ## element ns2:mapping { tei_macro.xtext, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_unicodeName = ## (unicode property name) contains the name of a registered Unicode normative or informative property. element ns2:unicodeName { text, tei_att.global.attributes, ## specifies the version number of the Unicode Standard in which this property name is ## defined. attribute version { tei_data.version }?, empty } tei_value = ## (value) contains a single value for some property, attribute, or other ## analysis. element ns2:value { tei_macro.xtext, tei_att.global.attributes, empty } tei_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 { (tei_fileDesc, tei_model.teiHeaderPart*, tei_revisionDesc?), tei_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 { tei_data.enumerated }?, empty } tei_fileDesc = ## (file description) contains a full bibliographic description of an electronic file. [2.2. 2.1.1. ] element ns2:fileDesc { ((tei_titleStmt, tei_editionStmt?, tei_extent?, tei_publicationStmt, tei_seriesStmt?, tei_notesStmt?), tei_sourceDesc+), tei_att.global.attributes, empty } tei_titleStmt = ## (title statement) groups information about the title of a work and those responsible for its intellectual ## content. [2.2.1. 2.2. ] element ns2:titleStmt { (tei_title+, tei_model.respLike*), tei_att.global.attributes, empty } tei_sponsor = ## specifies the name of a sponsoring organization or institution. [2.2.1. ] element ns2:sponsor { tei_macro.phraseSeq.limited, tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq.limited, tei_att.global.attributes, empty } tei_principal = ## (principal researcher) supplies the name of the principal researcher responsible for the ## creation of an electronic text. [2.2.1. ] element ns2:principal { tei_macro.phraseSeq.limited, tei_att.global.attributes, empty } tei_editionStmt = ## (edition statement) groups information relating to one edition of a text. [2.2.2. 2.2. ] element ns2:editionStmt { (tei_model.pLike+ | (tei_edition, tei_respStmt*)), tei_att.global.attributes, empty } tei_edition = ## (edition) describes the particularities of one edition of a text. [2.2.2. ] element ns2:edition { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_extent = ## describes the approximate size of a text as stored on some carrier medium, whether digital ## or non-digital, specified in any convenient units. [2.2.3. 2.2. 3.11.2.3. ] element ns2:extent { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_publicationStmt = ## (publication statement) groups information concerning the publication or distribution of an electronic or other ## text. [2.2.4. 2.2. ] element ns2:publicationStmt { (tei_model.pLike+ | tei_model.publicationStmtPart+), tei_att.global.attributes, empty } tei_distributor = ## supplies the name of a person or other agency responsible for the ## distribution of a text. [2.2.4. ] element ns2:distributor { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_authority = ## (release authority) supplies the name of a person or other agency responsible for ## making an electronic file available, other than a publisher or ## distributor. [2.2.4. ] element ns2:authority { tei_macro.phraseSeq.limited, tei_att.global.attributes, empty } tei_idno = ## (identifier) supplies any form of identifier used to identify some object, ## such as a bibliographic item, a person, a title, an organization, ## etc. in a standardized way. [2.2.4. 2.2.5. 3.11.2.3. ] element ns2:idno { tei_macro.xtext, tei_att.global.attributes, tei_att.sortable.attributes, ## categorizes the identifier, for example as an ISBN, Social ## Security number, etc. attribute type { tei_data.enumerated }?, empty } tei_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 { tei_model.availabilityPart+, tei_att.global.attributes, tei_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 } tei_licence = ## contains information about a licence or other legal agreement ## applicable to the text. [2.2.4. ] element ns2:licence { tei_macro.specialPara, tei_att.global.attributes, tei_att.pointing.attributes, tei_att.datable.attributes, empty } tei_seriesStmt = ## (series statement) groups information about the series, if any, to which a publication belongs. [2.2.5. 2.2. ] element ns2:seriesStmt { (tei_model.pLike+ | (tei_title+, (tei_editor | tei_respStmt)*, (tei_idno | tei_biblScope)*)), tei_att.global.attributes, empty } tei_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 { tei_model.noteLike+, tei_att.global.attributes, empty } tei_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 { (tei_model.pLike+ | (tei_model.biblLike | tei_model.sourceDescPart | tei_model.listLike)+), tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_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 { ((tei_titleStmt, tei_editionStmt?, tei_extent?, tei_publicationStmt, tei_seriesStmt?, tei_notesStmt?), tei_sourceDesc*), tei_att.global.attributes, tei_att.declarable.attributes, tei_att.sortable.attributes, empty } tei_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 { (tei_model.encodingDescPart | tei_model.pLike)+, tei_att.global.attributes, empty } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_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 { (tei_model.pLike | tei_model.editorialDeclPart)+, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_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 } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_att.declarable.attributes, ## indicates the authority for any normalization carried out. attribute source { tei_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 } tei_quotation = ## specifies editorial practice adopted with respect to quotation marks in the original. [2.3.3. 15.3.2. ] element ns2:quotation { tei_model.pLike+, tei_att.global.attributes, tei_att.declarable.attributes, ## (quotation marks) indicates whether or not quotation marks have been retained as content within the text. [ a:defaultValue = "all" ] 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 { text }?, empty } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_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-od-line ## hyphenation should be retained. "hard" | ## all end-of-line hyphenation has been removed: any remaining hyphenation occurred ## within the line. "none" }?, empty } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_stdVals = ## (standard values) specifies the format used when standardized date or number values are supplied. [2.3.3. 15.3.2. ] element ns2:stdVals { tei_model.pLike+, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_tagsDecl = ## (tagging declaration) provides detailed information about the tagging applied to a document. [2.3.4. 2.3. ] element ns2:tagsDecl { (tei_rendition*, tei_namespace*), tei_att.global.attributes, empty } tei_tagUsage = ## supplies information about the usage of a specific element within a text. [2.3.4. ] element ns2:tagUsage { tei_macro.limitedContent, tei_att.global.attributes, ## (element name) the name (generic identifier) of the element indicated by the tag. attribute gi { tei_data.name }, ## specifies the number of occurrences of this element within the text. attribute occurs { tei_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 { tei_data.count }?, ## specifies the identifier of a rendition element which defines how this element ## is to be rendered. attribute render { tei_data.pointer }?, empty } tei_namespace = ## supplies the formal name of the namespace to which the elements documented by its children ## belong. [2.3.4. ] element ns2:namespace { tei_tagUsage+, tei_att.global.attributes, ## the full formal name of the namespace concerned. attribute name { tei_data.namespace }, empty } tei_rendition = ## supplies information about the rendition or appearance of one or more elements in the source ## text. [2.3.4. ] element ns2:rendition { tei_macro.limitedContent, tei_att.global.attributes, ## 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" }?, ## where CSS is used, provides a way of defining ## pseudo-elements, that is, styling rules ## applicable to specific sub-portions of an element. attribute scope { text }?, empty } tei_refsDecl = ## (references declaration) specifies how canonical references are constructed for this ## text. [2.3.5.3. 2.3. 2.3.5. ] element ns2:refsDecl { (tei_model.pLike+ | tei_cRefPattern+ | tei_refState+), tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_cRefPattern = ## (canonical reference pattern) specifies an expression and replacement pattern for transforming a canonical reference into ## a URI. [2.3.5.3. 2.3.5. 2.3.5.2. ] element ns2:cRefPattern { tei_model.pLike*, tei_att.global.attributes, ## specifies a regular expression against which the values of cRef attributes ## can be matched. attribute matchPattern { tei_data.pattern }, ## specifies a replacement pattern which, once subpattern substitution ## has been performed, provides a URI. attribute replacementPattern { text }, empty } tei_refState = ## (reference state) specifies one component of a canonical reference defined by the milestone method. [2.3.5.3. 2.3.5. ] element ns2:refState { empty, tei_att.global.attributes, tei_att.sourced.attributes, ## indicates what kind of state is changing at this milestone. ## Suggested values include: 1] page; 2] column; 3] line; 4] book; 5] poem; 6] canto; 7] stanza; 8] act; 9] scene; 10] section; 11] absent attribute unit { ## page breaks in the reference edition. "page" | ## column breaks. "column" | ## line breaks. "line" | ## any units termed book, liber, etc. "book" | ## individual poems in a collection. "poem" | ## cantos or other major sections of a poem. "canto" | ## 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" | xsd:Name }, ## specifies the fixed length of the reference component. attribute length { tei_data.count }?, ## (delimiter) supplies a delimiting string following the reference component. attribute delim { text }?, empty } tei_classDecl = ## (classification declarations) contains one or more taxonomies defining any classificatory ## codes used elsewhere in the text. [2.3.6. 2.3. ] element ns2:classDecl { tei_taxonomy+, tei_att.global.attributes, empty } tei_taxonomy = ## defines a typology either implicitly, by means of a bibliographic ## citation, or explicitly by a structured taxonomy. [2.3.6. ] element ns2:taxonomy { (tei_model.glossLike* | tei_category+ | (tei_model.biblLike, tei_category*)), tei_att.global.attributes, empty } tei_category = ## contains an individual descriptive category, possibly nested within a superordinate ## category, within a user-defined taxonomy. [2.3.6. ] element ns2:category { ((tei_catDesc+ | tei_model.glossLike*), tei_category*), tei_att.global.attributes, empty } tei_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.6. ] element ns2:catDesc { (text | tei_model.limitedPhrase | tei_model.catDescPart)*, tei_att.global.attributes, empty } tei_appInfo = ## (application information) records information about an application which has ## edited the TEI file. element ns2:appInfo { tei_model.applicationLike+, tei_att.global.attributes, empty } tei_application = ## provides information about an application which has acted upon the document. element ns2:application { (tei_model.labelLike+, (tei_model.ptrLike* | tei_model.pLike*)), tei_att.global.attributes, tei_att.typed.attributes, tei_att.datable.attributes, ## Supplies an identifier for the application, independent of its version number or display ## name. attribute ident { tei_data.name }, ## Supplies a version number for the application, independent of its identifier or display ## name. attribute version { xsd:token { pattern = "[\d]+[a-z]*[\d]*(\.[\d]+[a-z]*[\d]*){0,3}" } }, empty } tei_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 { tei_model.profileDescPart*, tei_att.global.attributes, empty } tei_handNote = ## (note on hand) describes a particular style or hand distinguished within a manuscript. [10.7.2. ] element ns2:handNote { tei_macro.specialPara, tei_att.global.attributes, tei_att.handFeatures.attributes, empty } tei_creation = ## contains information about the creation of a text. [2.4.1. 2.4. ] element ns2:creation { (text | tei_model.limitedPhrase | tei_listChange)*, tei_att.global.attributes, tei_att.datable.attributes, empty } tei_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 { tei_language+, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_language = ## characterizes a single language or sublanguage used within a text. [2.4.2. ] element ns2:language { tei_macro.phraseSeq.limited, tei_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 { tei_data.language }, ## specifies the approximate percentage (by volume) of the text which uses this language. attribute usage { xsd:nonNegativeInteger { maxInclusive = "100" } }?, empty } tei_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 { (tei_classCode | tei_catRef | tei_keywords)*, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_keywords = ## contains a list of keywords or phrases identifying the topic or nature of a text. [2.4.3. ] element ns2:keywords { (tei_term+ | tei_list), tei_att.global.attributes, ## identifies the controlled vocabulary within which the set of keywords concerned is ## defined. attribute scheme { tei_data.pointer }, empty } tei_classCode = ## (classification code) contains the classification code used for this text in some standard classification system. [2.4.3. ] element ns2:classCode { tei_macro.phraseSeq.limited, tei_att.global.attributes, ## identifies the classification system or taxonomy in use. attribute scheme { tei_data.pointer }, empty } tei_catRef = ## (category reference) specifies one or more defined categories within some taxonomy or text typology. [2.4.3. ] element ns2:catRef { empty, tei_att.global.attributes, tei_att.pointing.attributes, ## identifies the classification scheme within which the set of categories concerned is ## defined attribute scheme { tei_data.pointer }?, empty } tei_calendarDesc = ## (calendar description) contains a description of the calendar system used in any ## dating expression found in the text. [2.4. 2.4.4. ] element ns2:calendarDesc { tei_calendar+, tei_att.global.attributes, empty } tei_calendar = ## describes a calendar or dating system used in a dating formula in the text. [2.4.4. ] element ns2:calendar { tei_model.pLike+, tei_att.global.attributes, tei_att.pointing.attributes, empty } tei_revisionDesc = ## (revision description) summarizes the revision history for a file. [2.5. 2.1.1. ] element ns2:revisionDesc { (tei_list | tei_listChange | tei_change+), tei_att.global.attributes, tei_att.docStatus.attributes, empty } tei_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 { tei_macro.specialPara, tei_att.ascribed.attributes, tei_att.datable.attributes, tei_att.docStatus.attributes, tei_att.global.attributes, tei_att.typed.attributes, ## points to one or more elements that belong to this change. attribute target { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_typeNote = ## describes a particular font or other significant typographic feature distinguished within ## the description of a printed resource. [10.7.2. ] element ns2:typeNote { tei_macro.specialPara, tei_att.global.attributes, tei_att.handFeatures.attributes, empty } tei_scriptNote = ## describes a particular script distinguished within ## the description of a manuscript or similar resource. [10.7.2. ] element ns2:scriptNote { tei_macro.specialPara, tei_att.global.attributes, tei_att.handFeatures.attributes, empty } tei_listChange = ## groups a number of change descriptions associated ## with either the creation of a source text or the revision of an encoded text. element ns2:listChange { (tei_listChange | tei_change)+, tei_att.global.attributes, tei_att.sortable.attributes, ## indicates whether the ordering of its child change ## elements is to be considered significant or not [ a:defaultValue = "true" ] attribute ordered { tei_data.truthValue }?, empty } tei_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. element ns2:geoDecl { tei_macro.phraseSeq, tei_att.global.attributes, tei_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 } tei_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 { (tei_fsDecl | tei_fsdLink)+, tei_att.global.attributes, empty } tei_fsDecl = ## (feature structure declaration) declares one type of feature structure. [18.11. ] element ns2:fsDecl { (tei_fsDescr?, tei_fDecl+, tei_fsConstraints?), tei_att.global.attributes, ## gives a name for the type of feature structure being declared. attribute type { tei_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 { tei_data.name, tei_data.name* } }?, empty } tei_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 { tei_macro.limitedContent, tei_att.global.attributes, empty } tei_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, tei_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 { tei_data.enumerated }, ## supplies a pointer to a feature structure declaration ## (fsDecl) element within the current document or elsewhere. attribute target { tei_data.pointer }, empty } tei_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 { (tei_fDescr?, tei_vRange, tei_vDefault?), tei_att.global.attributes, ## indicates the name of the feature being declared; matches the ## name attribute of f elements in the text. attribute name { tei_data.name }, ## indicates whether or not the value of this feature may ## be present. [ a:defaultValue = "true" ] attribute optional { xsd:boolean }?, empty } tei_fDescr = ## (feature description (in FSD)) describes in prose what is represented by the feature being ## declared and its values. [18.11. ] element ns2:fDescr { tei_macro.limitedContent, tei_att.global.attributes, empty } tei_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 { tei_model.featureVal, tei_att.global.attributes, empty } tei_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 { (tei_model.featureVal+ | tei_if+), tei_att.global.attributes, empty } tei_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 { ((tei_fs | tei_f), tei_then, tei_model.featureVal), tei_att.global.attributes, empty } tei_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, tei_att.global.attributes, empty } tei_fsConstraints = ## (feature-structure constraints) specifies constraints on the content of valid feature ## structures. [18.11. ] element ns2:fsConstraints { (tei_cond | tei_bicond)*, tei_att.global.attributes, empty } tei_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 { ((tei_fs | tei_f), tei_then, (tei_fs | tei_f)), tei_att.global.attributes, empty } tei_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 { ((tei_fs | tei_f), tei_iff, (tei_fs | tei_f)), tei_att.global.attributes, empty } tei_iff = ## (if and only if) separates the condition from the consequence in a bicond ## element. [18.11. ] element ns2:iff { empty, tei_att.global.attributes, empty } tei_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 { tei_f*, tei_att.global.attributes, ## specifies the type of the feature structure. attribute type { tei_data.enumerated }?, ## (features) references the feature-value specifications making up this feature structure. attribute feats { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_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 | tei_model.gLike | tei_model.featureVal)*) >> sch:pattern [ id = "f-constraint-fValConstraints" "\x{a}" ~ " " sch:rule [ context = "tei:fVal" "\x{a}" ~ " " sch:assert [ test = "not(tei:* and text)" " A feature value cannot\x{a}" ~ " contain both text and element content" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "f-constraint-fValConstraints" "\x{a}" ~ " " sch:rule [ context = "tei:fVal" "\x{a}" ~ " " sch:report [ test = "count(tei:*)>1" " A feature value can contain\x{a}" ~ " only one child element" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, ## provides a name for the feature. attribute name { tei_data.name }, ## (feature value) references any element which can be used to represent the ## value of a feature. attribute fVal { tei_data.pointer }?, empty } tei_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, tei_att.global.attributes, ## supplies a binary value. attribute value { tei_data.truthValue }, empty } tei_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, tei_att.global.attributes, ## supplies the symbolic value for the feature, one of a finite list that ## may be specified in a feature declaration. attribute value { tei_data.word }, empty } tei_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, tei_att.global.attributes, ## supplies a lower bound for the numeric value represented, ## and also (if max is not supplied) its upper bound. attribute value { tei_data.numeric }, ## supplies an upper bound for the numeric value represented. attribute max { tei_data.numeric }?, ## specifies whether the value represented should be ## truncated to give an integer value. attribute trunc { tei_data.truthValue }?, empty } tei_string = ## (string value) represents the value part of a feature-value specification ## which contains a string. [18.3. ] element ns2:string { tei_macro.xtext, tei_att.global.attributes, empty } tei_vLabel = ## (value label) represents the value part of a feature-value specification ## which appears at more than one point in a feature structure. element ns2:vLabel { tei_model.featureVal?, tei_att.global.attributes, ## supplies a name for the sharing point. attribute name { tei_data.word }, empty } tei_vColl = ## (collection of values) represents the value part of a feature-value specification ## which contains multiple values organized as a set, bag, or list. element ns2:vColl { (tei_fs | tei_model.featureVal.single)*, tei_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 } tei_default = ## (default feature value) represents the value part of a feature-value specification ## which contains a defaulted value. [18.9. ] element ns2:default { empty, tei_att.global.attributes, empty } tei_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 { (tei_model.featureVal, tei_model.featureVal+), tei_att.global.attributes, empty } tei_vNot = ## (value negation) represents a feature value which is the negation of its content. [18.8.2. ] element ns2:vNot { tei_model.featureVal, tei_att.global.attributes, empty } tei_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 { tei_model.featureVal+, tei_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 } tei_fLib = ## (feature library) assembles a library of feature elements. [18.4. ] element ns2:fLib { tei_f+, tei_att.global.attributes, empty } tei_fvLib = ## (feature-value library) assembles a library of reusable feature value elements ## (including complete feature structures). [18.4. ] element ns2:fvLib { tei_model.featureVal*, tei_att.global.attributes, empty } tei_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 = "link-constraint-linkTargets1" "\x{a}" ~ " " sch:rule [ context = "tei:link" "\x{a}" ~ " " sch:report [ test = "@target and @targets" "You may not supply both \x{a}" ~ " @target and @targets" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "link-constraint-linkTargets2" "\x{a}" ~ " " sch:rule [ context = "tei:link" "\x{a}" ~ " " sch:report [ test = "not(@target) and not(@targets)" "You must\x{a}" ~ " supply either @target or @targets" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "link-constraint-linkTargets3" "\x{a}" ~ " " sch:rule [ context = "tei:link" "\x{a}" ~ " " sch:assert [ test = "contains(@target,' ')" "You must supply at least two\x{a}" ~ "values for @target" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.pointing.attributes, tei_att.typed.attributes, ## specifies the identifiers of the elements or passages to be linked or associated. attribute targets { list { tei_data.pointer, tei_data.pointer, tei_data.pointer* } }?, empty } tei_linkGrp = ## (link group) defines a collection of associations or hypertextual links. [16.1. ] element ns2:linkGrp { (tei_link | tei_ptr)+, tei_att.global.attributes, tei_att.pointing.group.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, ## specifies whether or not the block is complete. [ a:defaultValue = "N" ] attribute part { ## (yes) the block is incomplete "Y" | ## (no) either the block is complete, or no claim is made as to its completeness "N" | ## (initial) the initial part of an incomplete block "I" | ## (medial) a medial part of an incomplete block "M" | ## (final) the final part of an incomplete block "F" }?, empty } tei_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, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_seg = ## (arbitrary segment) represents any segmentation of text below the chunk level. [16.3. 6.2. 7.2.5. ] element ns2:seg { tei_macro.paraContent, tei_att.global.attributes, tei_att.segLike.attributes, tei_att.typed.attributes, tei_att.responsibility.attributes, empty } tei_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, tei_att.global.attributes, ## supplies an absolute value for the time. attribute absolute { tei_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 the numeric portion of a time interval attribute interval { xsd:float { minExclusive = "0" } | "unknown" }?, ## 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 { tei_data.pointer }?, empty } tei_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 { tei_when+, tei_att.global.attributes, ## designates the origin of the timeline, i.e. the time at which it begins. attribute origin { tei_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 the numeric portion of a time interval attribute interval { xsd:float { minExclusive = "0" } | "regular" | "irregular" }?, empty } tei_join = ## identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it. [16.7. ] element ns2:join { (tei_model.glossLike*) >> sch:pattern [ id = "join-constraint-joinTargets1" "\x{a}" ~ " " sch:rule [ context = "tei:join" "\x{a}" ~ " " sch:report [ test = "@target and @targets" "You may not supply both \x{a}" ~ " @target and @targets" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "join-constraint-joinTargets2" "\x{a}" ~ " " sch:rule [ context = "tei:join" "\x{a}" ~ " " sch:report [ test = "not(@target) and not(@targets)" "You must\x{a}" ~ " supply either @target or @targets" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "join-constraint-joinTargets3" "\x{a}" ~ " " sch:rule [ context = "tei:join" "\x{a}" ~ " " sch:assert [ test = "contains(@target,' ')" "You must supply at least two\x{a}" ~ "values for @target" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.pointing.attributes, tei_att.typed.attributes, ## specifies the identifiers of the elements or passages to be joined into a virtual element. attribute targets { list { tei_data.pointer, tei_data.pointer, tei_data.pointer* } }?, ## specifies the name of an element which this aggregation may be understood to represent. attribute result { tei_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 } tei_joinGrp = ## (join group) groups a collection of join elements and possibly pointers. [16.7. ] element ns2:joinGrp { (tei_model.glossLike*, (tei_join | tei_ptr)+), tei_att.global.attributes, tei_att.pointing.group.attributes, ## describes the result of the joins gathered in this collection. attribute result { tei_data.name }?, empty } tei_alt = ## (alternation) identifies an alternation or a set of choices among elements or passages. [16.8. ] element ns2:alt { empty >> sch:pattern [ id = "alt-constraint-altTargets1" "\x{a}" ~ " " sch:rule [ context = "tei:alt" "\x{a}" ~ " " sch:report [ test = "@target and @targets" "You may not supply both \x{a}" ~ " @target and @targets" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "alt-constraint-altTargets2" "\x{a}" ~ " " sch:rule [ context = "tei:alt" "\x{a}" ~ " " sch:report [ test = "not(@target) and not(@targets)" "You must\x{a}" ~ " supply either @target or @targets" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "alt-constraint-altTargets3" "\x{a}" ~ " " sch:rule [ context = "tei:alt" "\x{a}" ~ " " sch:assert [ test = "contains(@target,' ')" "You must supply at least two\x{a}" ~ "values for @target" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.pointing.attributes, tei_att.typed.attributes, ## specifies the identifiers of the alternative elements or passages. attribute targets { list { tei_data.pointer, tei_data.pointer, tei_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 { tei_data.probability, tei_data.probability, tei_data.probability* } }?, empty } tei_altGrp = ## (alternation group) groups a collection of alt elements and possibly pointers. [16.8. ] element ns2:altGrp { (tei_alt | tei_ptr)*, tei_att.global.attributes, tei_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 } tei_att.global.linking.attributes = tei_att.global.linking.attribute.corresp, tei_att.global.linking.attribute.synch, tei_att.global.linking.attribute.sameAs, tei_att.global.linking.attribute.copyOf, tei_att.global.linking.attribute.next, tei_att.global.linking.attribute.prev, tei_att.global.linking.attribute.exclude, tei_att.global.linking.attribute.select tei_att.global.linking.attribute.corresp = ## (corresponds) points to elements that correspond to the current ## element in some way. attribute corresp { list { tei_data.pointer, tei_data.pointer* } }? tei_att.global.linking.attribute.synch = ## (synchronous) points to elements that are synchronous with the current ## element. attribute synch { list { tei_data.pointer, tei_data.pointer* } }? tei_att.global.linking.attribute.sameAs = ## points to an element that is the same as the current ## element. attribute sameAs { tei_data.pointer }? tei_att.global.linking.attribute.copyOf = ## points to an element of which the current element is a ## copy. attribute copyOf { tei_data.pointer }? tei_att.global.linking.attribute.next = ## points to the next element of a virtual aggregate of which ## the current element is part. attribute next { tei_data.pointer }? tei_att.global.linking.attribute.prev = ## (previous) points to the previous element of a virtual aggregate of ## which the current element is part. attribute prev { tei_data.pointer }? tei_att.global.linking.attribute.exclude = ## points to elements that are in exclusive alternation ## with the current element. attribute exclude { list { tei_data.pointer, tei_data.pointer* } }? tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_msDesc = ## (manuscript description) contains a description of a single identifiable ## manuscript or other text-bearing object. [10.1. ] element ns2:msDesc { (tei_msIdentifier, tei_model.headLike*, (tei_model.pLike+ | (tei_msContents?, tei_physDesc?, tei_history?, tei_additional?, tei_msPart*))), tei_att.global.attributes, tei_att.sortable.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_dimensions = ## contains a dimensional specification. [10.3.4. ] element ns2:dimensions { ((tei_dim | tei_model.dimLike)*) >> sch:pattern [ id = "dimensions-constraint-duplicateDim1" "\x{a}" ~ " " sch:rule [ context = "tei:dimensions" "\x{a}" ~ " " sch:report [ test = "count(tei:width)> 1" "\x{a}" ~ " Width element may appear once only\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "dimensions-constraint-duplicateDim2" "\x{a}" ~ " " sch:rule [ context = "tei:dimensions" "\x{a}" ~ " " sch:report [ test = "count(tei:height)> 1" "\x{a}" ~ " Height element may appear once only\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "dimensions-constraint-duplicateDim3" "\x{a}" ~ " " sch:rule [ context = "tei:dimensions" "\x{a}" ~ " " sch:report [ test = "count(tei:depth)> 1" "\x{a}" ~ " Depth element may appear once only\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_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 { tei_data.enumerated }?, empty } tei_dim = ## contains any single measurement forming part of a dimensional ## specification of some sort. [10.3.4. ] element ns2:dim { tei_macro.xtext, tei_att.global.attributes, tei_att.typed.attributes, tei_att.dimensions.attributes, empty } tei_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 { tei_macro.xtext, tei_att.global.attributes, tei_att.dimensions.attributes, empty } tei_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 { tei_macro.xtext, tei_att.global.attributes, tei_att.dimensions.attributes, empty } tei_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 { tei_macro.xtext, tei_att.global.attributes, tei_att.dimensions.attributes, empty } tei_heraldry = ## contains a heraldic formula ## or phrase, typically found as part of a blazon, coat of arms, etc. ## [10.3.8. ] element ns2:heraldry { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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 { tei_macro.xtext, tei_att.global.attributes, tei_att.pointing.attributes, ## identifies the foliation scheme in terms of which the location is being ## specified. attribute scheme { tei_data.pointer }?, ## specifies the starting point of the location in a normalized form. attribute from { tei_data.word }?, ## specifies the end-point of the location in a normalized form. attribute to { tei_data.word }?, empty } tei_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 { tei_locus+, tei_att.global.attributes, ## identifies the foliation scheme in terms of which all the ## locations contained by the group are specified. attribute scheme { tei_data.pointer }?, empty } tei_material = ## contains a word or phrase describing the ## material of which the object being described is composed. ## [10.3.2. ] element ns2:material { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.canonical.attributes, empty } tei_objectType = ## contains a word or phrase describing the type of object being refered to. ## [10.3.2. ] element ns2:objectType { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.canonical.attributes, empty } tei_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 | tei_model.gLike | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, empty } tei_secFol = ## (second folio) 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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_signatures = ## contains discussion of the leaf or quire signatures found within a codex. [10.3.7. ] element ns2:signatures { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_stamp = ## contains a word or phrase describing a ## stamp or similar device. [10.3.3. ] element ns2:stamp { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.typed.attributes, tei_att.datable.attributes, empty } tei_watermark = ## contains a word or phrase describing a ## watermark or similar device. [10.3.3. ] element ns2:watermark { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_msIdentifier = ## (manuscript identifier) contains the information required to identify ## the manuscript being described. [10.4. ] element ns2:msIdentifier { ((tei_model.placeNamePart_sequenceOptional, tei_institution?, tei_repository?, tei_collection*, tei_idno?), (tei_msName | tei_altIdentifier)*) >> sch:pattern [ id = "msIdentifier-constraint-msId_minimal" "\x{a}" ~ " " sch:rule [ context = "tei:msIdentifier" "\x{a}" ~ " " sch:report [ test = "local-name(*[1])='idno' or local-name(*[1])='altIdentifier' or .='' " "\x{a}" ~ " You must supply either a locator of some type or a\x{a}" ~ " name" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, empty } tei_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 { tei_macro.xtext, tei_att.global.attributes, tei_att.naming.attributes, empty } tei_repository = ## contains the name of a repository within which manuscripts are stored, possibly forming part of an institution. [10.4. ] element ns2:repository { tei_macro.xtext, tei_att.global.attributes, tei_att.naming.attributes, empty } tei_collection = ## contains the name of a collection of ## manuscripts, not necessarily located within a single repository. [10.4. ] element ns2:collection { tei_macro.xtext, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, empty } tei_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 { (tei_model.placeNamePart_sequenceOptional, tei_institution?, tei_repository?, tei_collection?, tei_idno, tei_note?), tei_att.global.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.xtext, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.typed.attributes, tei_att.msExcerpt.attributes, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_incipit = ## contains the incipit of a manuscript item, that is the opening words of the text proper, exclusive of any rubric which might precede it, of sufficient length to identify the work uniquely; such incipts were, in fomer times, frequently used a means of reference to a work, in place of a title. [10.6.1. ] element ns2:incipit { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.typed.attributes, tei_att.msExcerpt.attributes, empty } tei_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 { (tei_model.pLike+ | (tei_summary?, tei_textLang?, tei_titlePage?, (tei_msItem | tei_msItemStruct)*)), tei_att.global.attributes, tei_att.msExcerpt.attributes, ## identifies the text types or classifications applicable to this object. attribute class { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_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 { ((tei_locus | tei_locusGrp)*, (tei_model.pLike+ | (tei_model.titlepagePart | tei_model.msItemPart | tei_model.global)+)), tei_att.global.attributes, tei_att.msExcerpt.attributes, ## identifies the text types or classifications applicable to this ## item attribute class { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_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 { (tei_locus?, (tei_model.pLike+ | (tei_author*, tei_respStmt*, tei_title*, tei_rubric?, tei_incipit?, tei_msItemStruct*, tei_explicit?, tei_finalRubric?, tei_colophon*, tei_decoNote*, tei_listBibl*, tei_bibl*, tei_filiation*, tei_model.noteLike*, tei_textLang?))), tei_att.global.attributes, tei_att.msExcerpt.attributes, ## identifies the text types or classifications applicable to this ## item attribute class { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_summary = ## contains an overview of the available ## information concerning some aspect of an item (for example, its ## intellectual content, history, layout, typography etc.) as a ## complement or alternative to the more detailed information carried by ## more specific elements. element ns2:summary { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_att.msExcerpt.attributes = tei_att.msExcerpt.attribute.defective tei_att.msExcerpt.attribute.defective = ## indicates whether the passage being quoted is defective, ## i.e. incomplete through loss or damage. [ a:defaultValue = "false" ] attribute defective { tei_data.xTruthValue }? tei_physDesc = ## (physical description) contains a full physical description of a ## manuscript or manuscript part, optionally subdivided using more ## specialised elements from the model.physDescPart class. [10.7. ] element ns2:physDesc { (tei_model.pLike*, tei_model.physDescPart_sequenceOptional), tei_att.global.attributes, empty } tei_objectDesc = ## contains a description of the physical ## components making up the object which is being described. [10.7.1. ] element ns2:objectDesc { (tei_model.pLike+ | (tei_supportDesc?, tei_layoutDesc?)), tei_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 { tei_data.enumerated }?, empty } tei_supportDesc = ## (support description) groups elements describing the physical support for the written part of a manuscript. [10.7.1. ] element ns2:supportDesc { (tei_model.pLike+ | (tei_support?, tei_extent?, tei_foliation*, tei_collation?, tei_condition?)), tei_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 } tei_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 { tei_macro.specialPara, tei_att.global.attributes, empty } tei_collation = ## contains a description of how the leaves or bifolia are physically ## arranged. [10.7.1. ] element ns2:collation { tei_macro.specialPara, tei_att.global.attributes, empty } tei_foliation = ## describes the numbering system or systems used to ## count the leaves or pages in a codex. [10.7.1.4. ] element ns2:foliation { tei_macro.specialPara, tei_att.global.attributes, empty } tei_condition = ## contains a description of the physical ## condition of the manuscript. [10.7.1.5. ] element ns2:condition { tei_macro.specialPara, tei_att.global.attributes, empty } tei_layoutDesc = ## (layout description) collects the set of layout descriptions applicable to a manuscript. [10.7.2. ] element ns2:layoutDesc { (tei_model.pLike+ | (tei_summary?, tei_layout+)), tei_att.global.attributes, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, ## specifies the number of columns per page attribute columns { list { tei_data.count, tei_data.count? } }?, ## specifies the number of ruled lines per column attribute ruledLines { list { tei_data.count, tei_data.count? } }?, ## specifies the number of written lines per ## column attribute writtenLines { list { tei_data.count, tei_data.count? } }?, empty } tei_handDesc = ## (description of hands) contains a description of all the different kinds of writing used in a manuscript. [10.7.2. ] element ns2:handDesc { (tei_model.pLike+ | (tei_summary?, tei_handNote+)), tei_att.global.attributes, ## specifies the number of distinct hands identified within the manuscript attribute hands { tei_data.count }?, empty } tei_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 { (tei_model.pLike+ | (tei_summary?, tei_typeNote+)), tei_att.global.attributes, empty } tei_scriptDesc = ## contains a description of the scripts used in a manuscript or similar source. [10.7.2.1. ] element ns2:scriptDesc { (tei_model.pLike+ | (tei_summary?, tei_scriptNote+)), tei_att.global.attributes, empty } tei_musicNotation = ## contains description of type of musical notation. [10.7.2. ] element ns2:musicNotation { tei_macro.specialPara, tei_att.global.attributes, empty } tei_decoDesc = ## (decoration description) contains a description of the decoration of a manuscript, either as a sequence of paragraphs, or as a sequence of topically organised decoNote elements. [10.7.3. ] element ns2:decoDesc { (tei_model.pLike+ | (tei_summary?, tei_decoNote+)), tei_att.global.attributes, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_additions = ## contains a description of any significant additions found ## within a manuscript, such as marginalia or other annotations. [10.7.2. ] element ns2:additions { tei_macro.specialPara, tei_att.global.attributes, empty } tei_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 { ((tei_model.pLike | tei_decoNote | tei_condition)+ | tei_binding+), tei_att.global.attributes, empty } tei_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 { (tei_model.pLike | tei_condition | tei_decoNote)+, tei_att.global.attributes, tei_att.datable.attributes, ## specifies whether or not the binding is contemporary with the majority of its ## contents attribute contemporary { tei_data.xTruthValue }?, empty } tei_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 { (tei_model.pLike+ | (tei_decoNote | tei_seal | tei_condition)+), tei_att.global.attributes, empty } tei_seal = ## contains a description of one seal or similar ## attachment applied to a manuscript. [10.7.3.2. ] element ns2:seal { (tei_model.pLike | tei_decoNote)+, tei_att.global.attributes, tei_att.typed.attributes, tei_att.datable.attributes, ## specifies whether or not the seal is contemporary with the ## item to which it is affixed attribute contemporary { tei_data.xTruthValue }?, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_history = ## groups elements ## describing the full history of a manuscript or manuscript part. [10.8. ] element ns2:history { (tei_model.pLike+ | (tei_summary?, tei_origin?, tei_provenance*, tei_acquisition?)), tei_att.global.attributes, empty } tei_origin = ## contains any descriptive or other information ## concerning the origin of a manuscript or manuscript part. [10.8. ] element ns2:origin { tei_macro.specialPara, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.datable.attributes, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, tei_att.datable.attributes, tei_att.typed.attributes, tei_att.responsibility.attributes, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, tei_att.datable.attributes, empty } tei_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 { (tei_adminInfo?, tei_surrogates?, tei_listBibl?), tei_att.global.attributes, empty } tei_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 { (tei_recordHist?, tei_availability?, tei_custodialHist?, tei_model.noteLike?), tei_att.global.attributes, empty } tei_recordHist = ## (recorded history) provides information about the source and ## revision status of the parent manuscript description itself. [10.9.1. ] element ns2:recordHist { (tei_model.pLike+ | (tei_source, tei_change*)), tei_att.global.attributes, empty } tei_source = ## describes the original source for the information contained with a manuscript description. [10.9.1.1. ] element ns2:source { tei_macro.specialPara, tei_att.global.attributes, empty } tei_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 { (tei_model.pLike+ | tei_custEvent+), tei_att.global.attributes, empty } tei_custEvent = ## (custodial event) describes a single event during the custodial history of a manuscript. [10.9.1.2. ] element ns2:custEvent { tei_macro.specialPara, tei_att.global.attributes, tei_att.datable.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.specialPara, tei_att.global.attributes, empty } tei_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 { ((tei_altIdentifier | tei_msIdentifier), tei_model.headLike*, (tei_model.pLike+ | (tei_msContents?, tei_physDesc?, tei_history?, tei_additional?, tei_msPart*))), tei_att.global.attributes, empty } tei_att.datable.custom.attributes = tei_att.datable.custom.attribute.when-custom, tei_att.datable.custom.attribute.notBefore-custom, tei_att.datable.custom.attribute.notAfter-custom, tei_att.datable.custom.attribute.from-custom, tei_att.datable.custom.attribute.to-custom, tei_att.datable.custom.attribute.datingPoint, tei_att.datable.custom.attribute.datingMethod tei_att.datable.custom.attribute.when-custom = ## supplies the value of a date or time in some standard form. attribute when-custom { list { tei_data.word, tei_data.word* } }? tei_att.datable.custom.attribute.notBefore-custom = ## specifies the earliest possible date for the event in some custom standard form. attribute notBefore-custom { list { tei_data.word, tei_data.word* } }? tei_att.datable.custom.attribute.notAfter-custom = ## specifies the latest possible date for the event in some custom standard form. attribute notAfter-custom { list { tei_data.word, tei_data.word* } }? tei_att.datable.custom.attribute.from-custom = ## indicates the starting point of the period in some standard form. attribute from-custom { list { tei_data.word, tei_data.word* } }? tei_att.datable.custom.attribute.to-custom = ## indicates the ending point of the period in some standard form. attribute to-custom { list { tei_data.word, tei_data.word* } }? tei_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 { tei_data.pointer }? tei_att.datable.custom.attribute.datingMethod = ## supplies a pointer to a calendarDesc element or other means of interpreting the values of the custom dating attributes. attribute datingMethod { tei_data.pointer }? tei_model.persNamePart = tei_surname | tei_forename | tei_genName | tei_nameLink | tei_addName | tei_roleName tei_model.persNamePart_alternation = tei_surname | tei_forename | tei_genName | tei_nameLink | tei_addName | tei_roleName tei_model.persNamePart_sequence = tei_surname, tei_forename, tei_genName, tei_nameLink, tei_addName, tei_roleName tei_model.persNamePart_sequenceOptional = tei_surname?, tei_forename?, tei_genName?, tei_nameLink?, tei_addName?, tei_roleName? tei_model.persNamePart_sequenceOptionalRepeatable = tei_surname*, tei_forename*, tei_genName*, tei_nameLink*, tei_addName*, tei_roleName* tei_model.persNamePart_sequenceRepeatable = tei_surname+, tei_forename+, tei_genName+, tei_nameLink+, tei_addName+, tei_roleName+ tei_orgName = ## (organization name) contains an organizational name. [13.2.2. ] element ns2:orgName { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.personal.attributes, tei_att.typed.attributes, empty } tei_persName = ## (personal name) contains a proper noun or proper-noun phrase referring to a person, possibly including any ## or all of the person's forenames, surnames, honorifics, added names, etc. [13.2.1. ] element ns2:persName { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.personal.attributes, tei_att.typed.attributes, empty } tei_surname = ## contains a family (inherited) name, as opposed to a given, baptismal, or nick name. [13.2.1. ] element ns2:surname { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.personal.attributes, tei_att.typed.attributes, empty } tei_forename = ## contains a forename, given or baptismal name. [13.2.1. ] element ns2:forename { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.personal.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.personal.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.personal.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.personal.attributes, tei_att.typed.attributes, empty } tei_placeName = ## contains an absolute or relative place name. [13.2.3. ] element ns2:placeName { tei_macro.phraseSeq, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, tei_att.datable.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, tei_att.datable.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, tei_att.datable.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, tei_att.datable.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, tei_att.datable.attributes, empty } tei_offset = ## 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 { tei_macro.xtext, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_geogName = ## (geographical name) a name associated with some geographical feature such as Windrush Valley or Mount Sinai. [13.2.3. ] element ns2:geogName { tei_macro.phraseSeq, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, empty } tei_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 { tei_macro.xtext, tei_att.global.attributes, tei_att.naming.attributes, tei_att.typed.attributes, tei_att.datable.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.datable.attributes, tei_att.naming.attributes, empty } tei_age = ## (age) specifies the age of a person. element ns2:age { tei_macro.phraseSeq.limited, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.datable.attributes, ## supplies a numeric code representing the age or age group attribute value { tei_data.count }?, empty } tei_birth = ## (birth) contains information about a person's birth, such as its date and place. [15.2.2. ] element ns2:birth { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.datable.attributes, tei_att.naming.attributes, empty } tei_climate = ## (climate) contains information about the physical climate of a place. element ns2:climate { (tei_model.headLike*, (tei_model.pLike+ | tei_model.labelLike+), (tei_model.noteLike | tei_model.biblLike)*, tei_climate*), tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.naming.attributes, tei_att.typed.attributes, empty } tei_death = ## (death) contains information about a person's death, such as its date and place. [15.2.2. ] element ns2:death { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.datable.attributes, tei_att.naming.attributes, empty } tei_education = ## contains a description of the educational experience of a person. [15.2.2. ] element ns2:education { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.datable.attributes, tei_att.naming.attributes, empty } tei_event = ## (event) contains data relating to any kind of significant event associated with a person, place, or organization. element ns2:event { (tei_model.headLike*, (tei_model.pLike+ | tei_model.labelLike+), (tei_model.noteLike | tei_model.biblLike)*, tei_event*), tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, tei_att.naming.attributes, tei_att.sortable.attributes, ## indicates the location of an event by pointing to a place element attribute where { tei_data.pointer }?, empty } tei_faith = ## specifies the faith, religion, or belief set of a person. element ns2:faith { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.datable.attributes, tei_att.canonical.attributes, empty } tei_floruit = ## contains information about a person's period of activity. element ns2:floruit { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, empty } tei_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. element ns2:geo { text, tei_att.global.attributes, tei_att.declaring.attributes, empty } tei_langKnowledge = ## (language knowledge) summarizes the state of a person's linguistic knowledge, either as prose or by a list of langKnown elements. element ns2:langKnowledge { (tei_model.pLike | tei_langKnown+), tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, ## supplies one or more valid language tags for the languages specified attribute tags { list { tei_data.language, tei_data.language* } }?, empty } tei_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 { tei_macro.phraseSeq.limited, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, ## supplies a valid language tag for the language concerned. attribute tag { tei_data.language }, ## a code indicating the person's level of knowledge for this language attribute level { tei_data.word }?, empty } tei_listOrg = ## (list of organizations) contains a list of elements, each of which provides information about an identifiable ## organization. [13.2.2. ] element ns2:listOrg { (tei_model.headLike*, (tei_org | tei_listOrg)+, (tei_listRelation | tei_relationGrp | tei_relation)*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.declarable.attributes, tei_att.sortable.attributes, empty } tei_listEvent = ## (list of events) contains a list of descriptions, each of which provides information ## about an identifiable event. element ns2:listEvent { (tei_model.headLike*, (tei_event | tei_listEvent)+, (tei_relation | tei_relationGrp | tei_listRelation)*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.declarable.attributes, tei_att.sortable.attributes, empty } tei_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. [15.2. 2.4. 15.3.2. ] element ns2:listPerson { (tei_model.headLike*, (tei_model.personLike | tei_listPerson)+, (tei_relation | tei_listRelation | tei_relationGrp)*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.declarable.attributes, tei_att.sortable.attributes, empty } tei_listPlace = ## (list of places) contains a list of places, optionally followed by a list of relationships (other than ## containment) defined amongst them. element ns2:listPlace { (tei_model.headLike*, (tei_model.placeLike | tei_listPlace)+, (tei_listRelation | tei_relationGrp | tei_relation)*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.declarable.attributes, tei_att.sortable.attributes, empty } tei_location = ## defines the location of a place as a set of geographical coordinates, in terms of a other named geo-political entities, or as an ## address. element ns2:location { (tei_model.labelLike | tei_model.placeNamePart | tei_model.offsetLike | tei_model.measureLike | tei_model.addressLike | tei_model.noteLike | tei_model.biblLike)*, tei_att.global.attributes, tei_att.typed.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, empty } tei_nationality = ## contains an informal description of a person's present or past nationality or citizenship. [15.2.2. ] element ns2:nationality { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.naming.attributes, empty } tei_occupation = ## contains an informal description of a person's trade, profession or occupation. [15.2.2. ] element ns2:occupation { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.naming.attributes, ## identifies the classification system or taxonomy in use by supplying the identifier of a taxonomy element typically but not necessarily elsewhere in the ## current document header. attribute scheme { tei_data.pointer }?, ## identifies an occupation code defined within the classification system or taxonomy defined by the scheme ## attribute. attribute code { tei_data.pointer }?, empty } tei_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 { (tei_model.headLike*, (tei_model.pLike* | (tei_model.labelLike | tei_model.nameLike | tei_model.placeLike | tei_model.orgPart)*), (tei_model.noteLike | tei_model.biblLike)*, tei_model.personLike*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.editLike.attributes, tei_att.sortable.attributes, ## specifies a primary role or classification for the organization. attribute role { list { tei_data.word, tei_data.word* } }?, empty } tei_listRelation = ## provides information about relationships identified amongst people, places, and ## organizations, either informally as prose or as formally expressed relation links. [15.2.2. ] element ns2:listRelation { (tei_model.pLike+ | tei_relation+), tei_att.global.attributes, tei_att.typed.attributes, tei_att.sortable.attributes, empty } tei_relationGrp = ## (relation group) provides information about relationships identified amongst people, places, and ## organizations, either informally as prose or as formally expressed relation links. [15.2.2. ] element ns2:relationGrp { (tei_model.pLike+ | tei_relation+), tei_att.global.attributes, tei_att.typed.attributes, tei_att.sortable.attributes, empty } tei_person = ## provides information about an identifiable individual, for example a participant in a language interaction, or a person referred to in a ## historical source. [15.2.2. ] element ns2:person { (tei_model.pLike+ | (tei_model.personPart | tei_model.global)*), tei_att.global.attributes, tei_att.editLike.attributes, tei_att.sortable.attributes, ## specifies a primary role or classification for the person. attribute role { list { tei_data.enumerated, tei_data.enumerated* } }?, ## specifies the sex of the person. attribute sex { tei_data.sex }?, ## specifies an age group for the person. attribute age { tei_data.enumerated }?, empty } tei_personGrp = ## (personal group) describes a group of individuals treated as a single person for analytic purposes. [15.2.2. ] element ns2:personGrp { (tei_model.pLike+ | tei_model.personPart*), tei_att.global.attributes, tei_att.sortable.attributes, ## specifies the role of this group of participants in the interaction. attribute role { tei_data.enumerated }?, ## specifies the sex of the participant group. attribute sex { tei_data.sex | "mixed" }?, ## specifies the age group of the participants. attribute age { tei_data.enumerated }?, ## specifies the size or approximate size of the group. attribute size { list { tei_data.word, tei_data.word* } }?, empty } tei_place = ## contains data about a geographic location element ns2:place { (tei_model.headLike*, (tei_model.pLike* | (tei_model.labelLike | tei_model.placeStateLike | tei_model.placeEventLike)*), (tei_model.noteLike | tei_model.biblLike)*, (tei_model.placeLike | tei_listPlace)*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.editLike.attributes, tei_att.sortable.attributes, empty } tei_population = ## contains information about the population of a place. element ns2:population { (tei_model.headLike*, ((tei_model.pLike+ | tei_model.labelLike+), (tei_model.noteLike | tei_model.biblLike)*)?, tei_population*), tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.naming.attributes, tei_att.typed.attributes, empty } tei_relation = ## (relationship) describes any kind of relationship or linkage amongst a ## specified group of objects, places, events or people. [15.2.2. ] element ns2:relation { (tei_desc?) >> sch:pattern [ id = "relation-constraint-activemutual" "\x{a}" ~ " " sch:rule [ context = "tei:relation" "\x{a}" ~ " " sch:report [ test = "@active and @mutual" "Only one of the attributes\x{a}" ~ " 'active' and 'mutual' may be supplied" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "relation-constraint-activepassive" "\x{a}" ~ " " sch:rule [ context = "tei:relation" "\x{a}" ~ " " sch:report [ test = "@passive and not(@active)" "the attribute 'passive'\x{a}" ~ " may be supplied only if the attribute 'active' is\x{a}" ~ " supplied" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.canonical.attributes, tei_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 { tei_data.enumerated }, ## identifies the passive participants in a non-mutual relationship. attribute passive { list { tei_data.pointer, tei_data.pointer* } }?, ( ## identifies the active participants in a non-mutual relationship, or all the participants in a mutual ## one. attribute active { list { tei_data.pointer, tei_data.pointer* } }? | ## supplies a list of participants amongst all of whom the relationship holds equally. attribute mutual { list { tei_data.pointer, tei_data.pointer* } }?), empty } tei_residence = ## (residence) describes a person's present or past places of residence. [15.2.2. ] element ns2:residence { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.naming.attributes, empty } tei_sex = ## specifies the sex of a person. element ns2:sex { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.editLike.attributes, tei_att.datable.attributes, ## attribute value { tei_data.sex }?, empty } tei_socecStatus = ## (socio-economic status) contains an informal description of a person's perceived social or economic status. [15.2.2. ] element ns2:socecStatus { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.naming.attributes, ## identifies the classification system or taxonomy in use. attribute scheme { tei_data.pointer }?, ## identifies a status code defined within the classification system or taxonomy defined by the source attribute. attribute code { tei_data.pointer }?, empty } tei_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. element ns2:state { (tei_state+ | (tei_model.headLike*, tei_model.pLike+, (tei_model.noteLike | tei_model.biblLike)*) | (tei_model.labelLike | tei_model.noteLike | tei_model.biblLike)*), tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, tei_att.naming.attributes, empty } tei_terrain = ## contains information about the physical terrain of a place. element ns2:terrain { (tei_model.headLike*, (tei_model.pLike+ | tei_model.labelLike+), (tei_model.noteLike | tei_model.biblLike)*, tei_terrain*), tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.naming.attributes, tei_att.typed.attributes, empty } tei_trait = ## contains a description of some status or quality attributed to a person, place, or organization typically, but not necessarily, ## independent of the volition or action of the holder and usually not at some specific time or for a specific date range. element ns2:trait { (tei_trait+ | (tei_model.headLike*, tei_model.pLike+, (tei_model.noteLike | tei_model.biblLike)*) | (tei_model.labelLike | tei_model.noteLike | tei_model.biblLike)*), tei_att.global.attributes, tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.naming.attributes, tei_att.typed.attributes, empty } tei_nym = ## (canonical name) contains the definition for a canonical name or namepart of any kind. [13.3.5. ] element ns2:nym { (tei_model.entryPart*, tei_model.pLike*, tei_nym*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.sortable.attributes, ## points to constituent nyms attribute parts { list { tei_data.pointer, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer?, tei_data.pointer? } }?, empty } tei_listNym = ## (list of canonical names) contains a list of nyms, that is, standardized names for any thing. [13.3.5. ] element ns2:listNym { (tei_model.headLike*, (tei_nym | tei_listNym)+, (tei_listRelation | tei_relationGrp | tei_relation)*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.declarable.attributes, tei_att.sortable.attributes, empty } tei_att.datable.iso.attributes = tei_att.datable.iso.attribute.when-iso, tei_att.datable.iso.attribute.notBefore-iso, tei_att.datable.iso.attribute.notAfter-iso, tei_att.datable.iso.attribute.from-iso, tei_att.datable.iso.attribute.to-iso tei_att.datable.iso.attribute.when-iso = ## supplies the value of a date or time in a standard form. attribute when-iso { tei_data.temporal.iso }? tei_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 { tei_data.temporal.iso }? tei_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 { tei_data.temporal.iso }? tei_att.datable.iso.attribute.from-iso = ## indicates the starting point of the period in standard form. attribute from-iso { tei_data.temporal.iso }? tei_att.datable.iso.attribute.to-iso = ## indicates the ending point of the period in standard form. attribute to-iso { tei_data.temporal.iso }? tei_att.duration.iso.attributes = tei_att.duration.iso.attribute.dur-iso tei_att.duration.iso.attribute.dur-iso = ## (duration) indicates the length of this element in time. attribute dur-iso { tei_data.duration.iso }? tei_graph = ## encodes a graph, which is a collection of nodes, and arcs which ## connect the nodes. [19.1. ] element ns2:graph { ((tei_label, tei_model.global*)?, (((tei_node, tei_model.global*)+, (tei_arc, tei_model.global*)*) | ((tei_arc, tei_model.global*)+, (tei_node, tei_model.global*)+))), tei_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 { tei_data.count }?, ## states the size of the graph, i.e., the number of its arcs. attribute size { tei_data.count }?, empty } tei_node = ## encodes a node, a possibly labeled point in a graph. [19.1. ] element ns2:node { (tei_label, tei_label?)?, tei_att.global.attributes, ## provides the value of a node, which is a feature structure or ## other analytic element. attribute value { tei_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 { tei_data.pointer, tei_data.pointer* } }?, ## (adjacent from) gives the identifiers of the nodes which are adjacent from the current ## node. attribute adjFrom { list { tei_data.pointer, tei_data.pointer* } }?, ## (adjacent) gives the identifiers of the nodes which are both adjacent to and ## adjacent from the current node. attribute adj { list { tei_data.pointer, tei_data.pointer* } }?, ## gives the in degree of the node, the number of nodes which ## are adjacent from the given node. attribute inDegree { tei_data.count }?, ## gives the out degree of the node, the number of nodes which ## are adjacent to the given node. attribute outDegree { tei_data.count }?, ## gives the degree of the node, the number of arcs with which ## the node is incident. attribute degree { tei_data.count }?, empty } tei_arc = ## encodes an arc, the connection from one node to another in a graph. [19.1. ] element ns2:arc { (tei_label, tei_label?)?, tei_att.global.attributes, ## gives the identifier of the node which is adjacent from this arc. attribute from { tei_data.pointer }, ## gives the identifier of the node which is adjacent to this arc. attribute to { tei_data.pointer }, empty } tei_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 { (tei_label?, ((tei_leaf | tei_iNode)*, tei_root, (tei_leaf | tei_iNode)*)), tei_att.global.attributes, ## gives the maximum number of children of the root and internal ## nodes of the tree. attribute arity { tei_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 { tei_data.count }?, empty } tei_root = ## (root node) represents the root node of a tree. [19.2. ] element ns2:root { tei_label?, tei_att.global.attributes, ## provides the value of the root, which is a feature structure or ## other analytic element. attribute value { tei_data.pointer }?, ## provides a list of identifiers of the elements which are the children of ## the root node. attribute children { list { tei_data.pointer, tei_data.pointer* } }, ## (ordered) indicates whether or not the root is ordered. attribute ord { tei_data.xTruthValue }?, ## gives the out degree of the root, the number of its children. attribute outDegree { tei_data.count }?, empty } tei_iNode = ## (intermediate (or internal) node) represents an intermediate (or internal) node of a tree. [19.2. ] element ns2:iNode { tei_label?, tei_att.global.attributes, ## provides the value of an intermediate node, which is a feature ## structure or other analytic element. attribute value { tei_data.pointer }?, ## provides a list of identifiers of the elements which are the children of ## the intermediate node. attribute children { list { tei_data.pointer, tei_data.pointer* } }, ## provides the identifier of the element which is the parent of this node. attribute parent { tei_data.pointer }?, ## (ordered) indicates whether or not the internal node is ordered. attribute ord { tei_data.xTruthValue }?, ## provides an identifier of ## the element which this node ## follows. attribute follow { tei_data.pointer }?, ## gives the out degree of an intermediate node, the number of its ## children. attribute outDegree { tei_data.count }?, empty } tei_leaf = ## encodes the leaves (terminal nodes) of a tree. [19.2. ] element ns2:leaf { tei_label?, tei_att.global.attributes, ## provides a pointer to a feature ## structure or other analytic element. attribute value { tei_data.pointer }?, ## provides the identifier of parent of a leaf. attribute parent { tei_data.pointer }?, ## provides an identifier of an element which this leaf follows. attribute follow { tei_data.pointer }?, empty } tei_eTree = ## (embedding tree) provides an alternative to tree element for representing ordered rooted tree structures. [19.3. ] element ns2:eTree { (tei_label?, (tei_eTree | tei_triangle | tei_eLeaf | tei_model.ptrLike)*), tei_att.global.attributes, tei_att.typed.attributes, ## provides the value of an embedding tree, which is a feature ## structure or other analytic element. attribute value { tei_data.pointer }?, empty } tei_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 { (tei_label?, (tei_eTree | tei_triangle | tei_eLeaf)*), tei_att.global.attributes, ## provides the value of a triangle, which is the identifier of a feature ## structure or other analytic element. attribute value { tei_data.pointer }?, empty } tei_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 { (tei_label?, tei_model.ptrLike?), tei_att.global.attributes, tei_att.typed.attributes, ## provides the value of an embedding leaf, which is a feature ## structure or other analytic element. attribute value { tei_data.pointer }?, empty } tei_forest = ## provides for groups of rooted trees. [19.3. ] element ns2:forest { (tei_tree | tei_eTree | tei_triangle)+, tei_att.global.attributes, ## identifies the type of the forest. attribute type { tei_data.enumerated }?, empty } tei_listForest = ## provides for lists of forests. [19.3. ] element ns2:listForest { tei_forest+, tei_att.global.attributes, ## identifies the type of the forest group. attribute type { tei_data.enumerated }?, empty } tei_att.duration.attributes = tei_att.duration.w3c.attributes, tei_att.duration.iso.attributes tei_model.global.spoken = tei_pause | tei_vocal | tei_kinesic | tei_incident | tei_writing | tei_shift tei_model.global.spoken_alternation = tei_pause | tei_vocal | tei_kinesic | tei_incident | tei_writing | tei_shift tei_model.global.spoken_sequence = tei_pause, tei_vocal, tei_kinesic, tei_incident, tei_writing, tei_shift tei_model.global.spoken_sequenceOptional = tei_pause?, tei_vocal?, tei_kinesic?, tei_incident?, tei_writing?, tei_shift? tei_model.global.spoken_sequenceOptionalRepeatable = tei_pause*, tei_vocal*, tei_kinesic*, tei_incident*, tei_writing*, tei_shift* tei_model.global.spoken_sequenceRepeatable = tei_pause+, tei_vocal+, tei_kinesic+, tei_incident+, tei_writing+, tei_shift+ tei_model.recordingPart = tei_model.dateLike | tei_respStmt | tei_equipment | tei_broadcast tei_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 { (tei_model.pLike+ | tei_model.biblLike), tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_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 { (tei_model.pLike+ | tei_recording+), tei_att.global.attributes, empty } tei_recording = ## (recording event) 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 { (tei_model.pLike+ | tei_model.recordingPart*), tei_att.global.attributes, tei_att.declarable.attributes, tei_att.duration.attributes, ## the kind of recording. [ a:defaultValue = "audio" ] attribute type { ## audio recording "audio" | ## audio and video recording "video" }?, empty } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_broadcast = ## describes a broadcast used as the source of a spoken text. [8.2. 15.3.2. ] element ns2:broadcast { (tei_model.pLike+ | tei_model.biblLike | tei_recording), tei_att.global.attributes, tei_att.declarable.attributes, empty } tei_u = ## (utterance) a stretch of speech usually preceded and followed by ## silence or by a change of speaker. [8.3.1. ] element ns2:u { (text | tei_model.gLike | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.timed.attributes, tei_att.declaring.attributes, tei_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 } tei_pause = ## a pause either between or within utterances. [8.3.2. ] element ns2:pause { empty, tei_att.global.attributes, tei_att.timed.attributes, tei_att.typed.attributes, tei_att.ascribed.attributes, empty } tei_vocal = ## any vocalized but not necessarily lexical phenomenon, for ## example voiced pauses, non-lexical backchannels, etc. [8.3.3. ] element ns2:vocal { tei_model.glossLike*, tei_att.global.attributes, tei_att.timed.attributes, tei_att.ascribed.attributes, tei_att.typed.attributes, ## indicates whether or not the phenomenon is repeated. [ a:defaultValue = "false" ] attribute iterated { tei_data.xTruthValue }?, empty } tei_kinesic = ## any communicative phenomenon, not necessarily vocalized, for ## example a gesture, frown, etc. [8.3.3. ] element ns2:kinesic { tei_model.glossLike*, tei_att.global.attributes, tei_att.timed.attributes, tei_att.typed.attributes, tei_att.ascribed.attributes, ## indicates whether or not the phenomenon is ## repeated. [ a:defaultValue = "false" ] attribute iterated { tei_data.xTruthValue }?, empty } tei_incident = ## any phenomenon or occurrence, not necessarily vocalized or ## communicative, for example incidental noises or other events affecting ## communication. [8.3.3. ] element ns2:incident { tei_model.glossLike*, tei_att.global.attributes, tei_att.timed.attributes, tei_att.typed.attributes, tei_att.ascribed.attributes, empty } tei_writing = ## a passage of written text revealed to participants in the ## course of a spoken text. [8.3.4. ] element ns2:writing { tei_macro.paraContent, tei_att.global.attributes, tei_att.ascribed.attributes, tei_att.typed.attributes, tei_att.timed.attributes, ## points to a bibliographic citation giving ## a full description of the source or script of the ## writing. attribute source { list { tei_data.pointer, tei_data.pointer* } }?, ## indicates whether the writing is revealed all at once or ## gradually. attribute gradual { tei_data.xTruthValue }?, empty } tei_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, tei_att.global.attributes, tei_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 { tei_data.enumerated }?, empty } tei_model.divPart.spoken = tei_u tei_model.divPart.spoken_alternation = tei_u tei_model.divPart.spoken_sequence = tei_u tei_model.divPart.spoken_sequenceOptional = tei_u? tei_model.divPart.spoken_sequenceOptionalRepeatable = tei_u* tei_model.divPart.spoken_sequenceRepeatable = tei_u+ tei_att = ## (attribute) contains the name of an attribute appearing within running text. [22. ] element ns2:att { text, tei_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 { tei_data.enumerated }?, empty } tei_code = ## contains literal code from some formal language such as a ## programming language. element ns2:code { text, tei_att.global.attributes, ## (formal language) a name identifying the formal language in which the ## code is expressed attribute lang { tei_data.word }?, empty } tei_eg = ## (example) contains any kind of illustrative example. [22.4.4. 22.4.5. ] element ns2:eg { text, tei_att.global.attributes, empty } tei_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.4.4. 22.4.5. ] element egXML { (text | tei_macro.anyThing)+, ## 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" }?, tei_att.global.attributes, empty } tei_gi = ## (element name) contains the name (generic identifier) of an element. [22. 22.4.4. ] element ns2:gi { text, tei_att.global.attributes, ## supplies the name of the scheme in which this name 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 { tei_data.enumerated }?, empty } tei_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, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_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, tei_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. [ a:defaultValue = "TEI" ] attribute scheme { ## (text encoding initiative) This tag is defined as part of the TEI scheme. "TEI" | ## (docbook) this tag is part of the Docbook scheme. "DBK" | ## (unknown) this tag is part of an unknown scheme. "XX" }?, empty } tei_val = ## (value) contains a single attribute value. [22. 22.4.5. ] element ns2:val { text, tei_att.global.attributes, empty } tei_specList = ## (specification list) marks where a list of descriptions is to be inserted into the prose documentation. element ns2:specList { tei_specDesc+, tei_att.global.attributes, empty } tei_specDesc = ## (specification description) indicates that a description of the specified element or class should be included at this ## point within a document. element ns2:specDesc { empty, tei_att.global.attributes, ## (identifier) supplies the identifier of the documentary element or class for which a description is ## to be obtained. attribute key { tei_data.name }?, ## (attributes) supplies attribute names for which descriptions should additionally be obtained. attribute atts { list { tei_data.name* } }?, empty } tei_classRef = ## points to the specification for an attribute or model class which is to be included in a schema element ns2:classRef { empty, tei_att.global.attributes, tei_att.readFrom.attributes, ## the identifier used for the required class within the ## source indicated. attribute key { xsd:NCName }, empty } tei_elementRef = ## points to the specification for some element which is to be included in a schema element ns2:elementRef { empty, tei_att.global.attributes, tei_att.readFrom.attributes, ## the identifier used for the required element within the ## source indicated. attribute key { xsd:NCName }, empty } tei_macroRef = ## points to the specification for some pattern which is to be included in a schema element ns2:macroRef { empty, tei_att.global.attributes, tei_att.readFrom.attributes, ## the identifier used for the required pattern within the ## source indicated. attribute key { xsd:NCName }, empty } tei_moduleRef = ## (module reference) references a module which is to be incorporated into a schema. element ns2:moduleRef { (tei_content?) >> sch:pattern [ id = "moduleRef-constraint-modref" "\x{a}" ~ " " sch:rule [ context = "tei:moduleRef" "\x{a}" ~ " " sch:report [ test = "* and @key" "\x{a}" ~ " child elements of moduleRef are only allowed when an external module\x{a}" ~ " is being loaded\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.readFrom.attributes, ( ## specifies a default prefix which will be ## prepended to all patterns from the imported module attribute prefix { xsd:NCName }?) >> sch:pattern [ id = "prefix-constraint-not-same-prefix" "\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 a moduleRef element 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 { xsd:NCName* } }? | ## supplies a list of the elements which are not to be copied from the ## specified module into the schema being defined. attribute except { list { xsd:NCName* } }?), ( ## the name of a TEI module attribute key { xsd:NCName }? | ## (uniform resource locator) refers to a non-TEI module of RELAX NG code by external location attribute url { tei_data.pointer }?), empty } tei_moduleSpec = ## (module specification) documents the structure, content, and purpose of a single ## module, i.e. a named and externally visible group of declarations. element ns2:moduleSpec { (tei_model.glossLike*, tei_exemplum*, tei_remarks?, tei_listRef*), tei_att.global.attributes, tei_att.identified.attributes, ## type of module to be generated attribute type { text }?, empty } tei_schemaSpec = ## (schema specification) generates a TEI-conformant schema and documentation for it. element ns2:schemaSpec { (tei_model.glossLike*, (tei_model.oddRef | tei_model.oddDecl)*, tei_constraintSpec*), tei_att.global.attributes, tei_att.identified.attributes, tei_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 { tei_data.name, tei_data.name* } }?, ## (namespace) specifies the default namespace (if any) applicable to ## components of the schema. [ a:defaultValue = "http://www.tei-c.org/ns/1.0" ] attribute ns { tei_data.namespace }?, ## specifies a default prefix which will be prepended to all patterns ## relating to TEI elements, unless otherwise stated. This allows for external schemas to be mixed in ## which have elements of the same names as the TEI. ## attribute prefix { "" | tei_data.name }?, ## (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 { tei_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 { tei_data.language, tei_data.language* } }?, empty } tei_specGrp = ## (specification group) contains any convenient grouping of specifications for use within ## the current module. element ns2:specGrp { (tei_model.oddDecl | tei_model.oddRef | tei_model.divPart)*, tei_att.global.attributes, empty } tei_specGrpRef = ## (reference to a specification group) indicates that the declarations contained by the specGrp referenced should be ## inserted at this point. element ns2:specGrpRef { empty, tei_att.global.attributes, ## points at the specification group which logically belongs here. attribute target { tei_data.pointer }, empty } tei_elementSpec = ## (element specification) documents the structure, content, and purpose of a single element type. [22.4.4. 22. ] element ns2:elementSpec { (tei_model.glossLike*, tei_classes?, tei_content?, tei_valList?, tei_constraintSpec*, tei_attList?, tei_exemplum*, tei_remarks*, tei_listRef*) >> sch:pattern [ id = "elementSpec-constraint-elementspec-in-module" "\x{a}" ~ " " sch:rule [ context = "tei:elementSpec" "\x{a}" ~ " " sch:report [ test = "not(//tei:moduleSpec[@ident=current()/@module])" "\x{a}" ~ "Macro " sch:value-of [ select = "@ident" ] ": the value of the module [" sch:value-of [ select = "@module" ] "] attribute must correspond to an existing moduleSpec" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.identified.attributes, ## (namespace) specifies the namespace to which this element belongs [ a:defaultValue = "http://www.tei-c.org/ns/1.0" ] attribute ns { tei_data.namespace }?, ## specifies a default prefix which will be prepended to all patterns ## relating to the element, unless otherwise stated. ## attribute prefix { "" | tei_data.name }?, empty } tei_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. element ns2:classSpec { (tei_model.glossLike*, tei_classes?, tei_constraintSpec*, tei_attList?, tei_exemplum*, tei_remarks*, tei_listRef*) >> sch:pattern [ id = "classSpec-constraint-classspec-in-module" "\x{a}" ~ " " sch:rule [ context = "tei:classSpec" "\x{a}" ~ " " sch:report [ test = "not(//tei:moduleSpec[@ident=current()/@module])" "\x{a}" ~ "Class " sch:value-of [ select = "@ident" ] ": the value of the module attribute [" sch:value-of [ select = "@module" ] "] must correspond to an existing moduleSpec" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_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 } tei_macroSpec = ## (macro specification) documents the function and implementation of a pattern. element ns2:macroSpec { (tei_model.glossLike*, (tei_content | tei_valList)*, tei_constraintSpec*, tei_exemplum*, tei_remarks*, tei_listRef*) >> sch:pattern [ id = "macroSpec-constraint-macrospec-in-module" "\x{a}" ~ " " sch:rule [ context = "tei:macroSpec" "\x{a}" ~ " " sch:report [ test = "not(//tei:moduleSpec[@ident=current()/@module])" "\x{a}" ~ "Macro " sch:value-of [ select = "@ident" ] ": the value of the module attribute [" sch:value-of [ select = "@module" ] "] must correspond to an existing moduleSpec" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_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 } tei_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 { tei_model.pLike+, tei_att.global.attributes, tei_att.translatable.attributes, empty } tei_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 { tei_ptr+, tei_att.global.attributes, empty } tei_exemplum = ## groups an example demonstrating the use of an element along with optional paragraphs of ## commentary. [22.4.4. ] element ns2:exemplum { (tei_model.pLike*, (tei_egXML | tei_eg), tei_model.pLike*), tei_att.global.attributes, tei_att.typed.attributes, tei_att.translatable.attributes, empty } tei_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 { tei_memberOf*, tei_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 } tei_memberOf = ## specifies class membership of the parent element or class. element ns2:memberOf { tei_macro.xtext, tei_att.global.attributes, ## specifies the identifier for a class of which the documented element or class is a ## member or subclass attribute key { tei_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 { tei_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 { tei_data.numeric }?, empty } tei_equiv = ## (equivalent) specifies a component which is considered equivalent to the parent element, either by ## co-reference, or by external link. [22.4.4. 22.4.5. 22.4.6. 22.4.7. ] element ns2:equiv { empty, tei_att.global.attributes, tei_att.internetMedia.attributes, ## names the underlying concept of which the parent is a representation attribute name { tei_data.name }?, ## (uniform resource identifier) references the underlying concept of which the parent is a representation by means of ## some external identifier attribute uri { tei_data.pointer }?, ## references an external script which contains a method to transform instances of this ## element to canonical TEI attribute filter { tei_data.pointer }?, empty } tei_altIdent = ## (alternate identifier) supplies the recommended XML name for an element, class, ## attribute, etc. in some language. element ns2:altIdent { text, tei_att.global.attributes, tei_att.typed.attributes, empty } tei_content = ## (content model) contains the text of a declaration for the schema ## documented. [22.4.4. ] element ns2:content { tei_macro.schemaPattern*, tei_att.global.attributes, ## controls whether or not pattern names generated in the ## corresponding RELAXNG 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 } tei_constraint = ## (constraint rules) the formal rules of a constraint element ns2:constraint { (text | tei_macro.anyXML), tei_att.global.attributes, empty } tei_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 { tei_model.glossLike*, (tei_constraint?) >> sch:ns [ prefix = "s" uri = "http://www.ascc.net/xml/schematron" ] >> sch:pattern [ id = "constraintSpec-constraint-sch" "\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 constraint 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 = "constraintSpec-constraint-isosch" "\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 constraint with a value of 'isoschematron' on the scheme attribute\x{a}" ~ " " ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.identified.attributes, tei_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 } tei_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 { (tei_attRef | tei_attDef | tei_attList)+, tei_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 } tei_attDef = ## (attribute definition) contains the definition of a single attribute. [22.4.5. ] element ns2:attDef { (tei_model.glossLike*, tei_datatype?, tei_constraintSpec*, tei_defaultVal?, (tei_valList | tei_valDesc+)?, tei_exemplum*, tei_remarks*), tei_att.global.attributes, tei_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 { tei_data.namespace }?, empty } tei_attRef = ## (attribute pointer) points to the definition of an attribute or group of attributes. element ns2:attRef { empty, tei_att.global.attributes, ## the name of the pattern defining the attribute(s) attribute name { tei_data.word }, empty } tei_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 { tei_macro.schemaPattern*, tei_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 { tei_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 { tei_data.count | "unbounded" }?, empty } tei_defaultVal = ## (default value) specifies the default declared value for an attribute. [22.4.5. ] element ns2:defaultVal { text, tei_att.global.attributes, empty } tei_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 { tei_macro.phraseSeq.limited, tei_att.global.attributes, tei_att.translatable.attributes, tei_att.combinable.attributes, empty } tei_valItem = ## documents a single attribute-value within a list of possible ## or mandatory items. [22.4.5. ] element ns2:valItem { tei_model.glossLike*, tei_att.global.attributes, tei_att.combinable.attributes, ## specifies the attribute value concerned. attribute ident { text }, empty } tei_valList = ## (value list) contains one or more valItem elements defining possible values for an attribute. [22.4.5. ] element ns2:valList { tei_valItem*, tei_att.global.attributes, tei_att.combinable.attributes, ## specifies the extensibility of the list of attribute 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 } tei_att.combinable.attributes = tei_att.combinable.attribute.mode tei_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" }? tei_att.identified.attributes = tei_att.combinable.attributes, tei_att.identified.attribute.ident, tei_att.identified.attribute.predeclare, tei_att.identified.attribute.module, tei_att.identified.attribute.status tei_att.identified.attribute.ident = ## Supplies the identifier by which this element may be referenced. attribute ident { tei_data.name } tei_att.identified.attribute.predeclare = ## Says whether this object should be predeclared in the ## tei infrastructure module. [ a:defaultValue = "false" ] attribute predeclare { tei_data.truthValue }? tei_att.identified.attribute.module = ## Supplies a name for the module in which this object is to ## be declared. attribute module { xsd:NCName }? tei_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" }? tei_model.rdgLike = tei_rdg tei_app = ## (apparatus entry) contains one entry in a critical apparatus, with an optional ## lemma and at least one reading. [12.1.1. ] element ns2:app { (tei_model.global*, (tei_lem, tei_model.global*, (tei_wit, tei_model.global*)?)?, ((tei_model.rdgLike, tei_model.global*, (tei_wit, tei_model.global*)?) | (tei_rdgGrp, tei_model.global*, (tei_wit, tei_model.global*)?))*) >> sch:pattern [ id = "app-constraint-only1lem" "\x{a}" ~ " " sch:rule [ context = "tei:app" "\x{a}" ~ " " sch:assert [ test = "count( descendant::tei:lem[ generate-id( current() ) = generate-id( ancestor::tei:app[1] ) ]) < 2" "Only one element may appear within a single\x{a}" ~ " apparatus entry, whether it appears outside a \x{a}" ~ " element or within it." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, ## classifies the variation contained in this element according to ## some convenient typology. attribute type { tei_data.enumerated }?, ## identifies the beginning of the lemma in the base text, if ## necessary. attribute from { tei_data.pointer }?, ## identifies the endpoint of the lemma in the base text, if ## necessary. attribute to { tei_data.pointer }?, ## (location) indicates the location of the variation, when the ## location-referenced method of apparatus markup is used. attribute loc { list { tei_data.word, tei_data.word* } }?, empty } tei_lem = ## (lemma) contains the lemma, or base text, of a textual variation. [12.1. ] element ns2:lem { (text | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_model.global | tei_model.rdgPart)*, tei_att.global.attributes, tei_att.textCritical.attributes, empty } tei_rdg = ## (reading) contains a single reading within a textual variation. [12.1. ] element ns2:rdg { (text | tei_model.gLike | tei_model.phrase | tei_model.inter | tei_model.global | tei_model.rdgPart)*, tei_att.global.attributes, tei_att.textCritical.attributes, empty } tei_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 { ((tei_rdgGrp, tei_wit?) | ((tei_lem, tei_wit?)?, (tei_model.rdgLike, tei_wit?))*)+, tei_att.global.attributes, tei_att.textCritical.attributes, empty } tei_witDetail = ## (witness detail) gives further information about a particular witness, or ## witnesses, to a particular reading. [12.1. ] element ns2:witDetail { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.placement.attributes, tei_att.responsibility.attributes, tei_att.pointing.attributes, ## (witnesses) indicates the sigil or sigla for the witnesses to which the ## detail refers. attribute wit { list { tei_data.pointer, tei_data.pointer* } }, ## describes the type of information given about the witness. attribute type { tei_data.enumerated }?, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.rdgPart.attributes, empty } tei_listWit = ## (witness list) lists definitions for all the witnesses referred to by a critical ## apparatus, optionally grouped hierarchically. [12.1. ] element ns2:listWit { (tei_model.headLike?, (tei_witness | tei_listWit)+), tei_att.global.attributes, tei_att.sortable.attributes, empty } tei_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 { tei_macro.limitedContent, tei_att.global.attributes, tei_att.sortable.attributes, empty } tei_witStart = ## (fragmented witness start) indicates the beginning, or resumption, of the text of a ## fragmentary witness. [12.1.5. ] element ns2:witStart { empty, tei_att.global.attributes, tei_att.rdgPart.attributes, empty } tei_witEnd = ## (fragmented witness end) indicates the end, or suspension, of the text of a fragmentary ## witness. [12.1.5. ] element ns2:witEnd { empty, tei_att.global.attributes, tei_att.rdgPart.attributes, empty } tei_lacunaStart = ## indicates the beginning of a lacuna in the text of a mostly ## complete textual witness. [12.1.5. ] element ns2:lacunaStart { empty, tei_att.global.attributes, tei_att.rdgPart.attributes, empty } tei_lacunaEnd = ## indicates the end of a lacuna in a mostly complete textual ## witness. [12.1.5. ] element ns2:lacunaEnd { empty, tei_att.global.attributes, tei_att.rdgPart.attributes, empty } tei_variantEncoding = ## declares the method used to encode text-critical variants. [12.1.1. ] element ns2:variantEncoding { empty, tei_att.global.attributes, ## indicates which method is used to encode the apparatus of ## variants. attribute method { ## apparatus uses line numbers or other canonical reference scheme ## referenced in a base text. "location-referenced" | ## apparatus indicates the precise locations of the beginning and ## ending of each lemma relative to a base text. "double-end-point" | ## alternate readings of a passage are given in parallel in the ## text; no notion of a base text is necessary. "parallel-segmentation" }, ## indicates whether the apparatus appears within the running text ## or external to it. attribute location { ## apparatus appears within the running text. "internal" | ## apparatus appears outside the base text. "external" }, empty } tei_model.rdgPart = tei_wit | tei_witStart | tei_witEnd | tei_lacunaStart | tei_lacunaEnd tei_att.rdgPart.attributes = tei_att.rdgPart.attribute.wit tei_att.rdgPart.attribute.wit = ## (witness or witnesses) contains a list of one or more sigla indicating the witnesses ## which begin or end at this point. attribute wit { list { tei_data.pointer, tei_data.pointer* } }? tei_att.textCritical.attributes = tei_att.responsibility.attributes, tei_att.textCritical.attribute.wit, tei_att.textCritical.attribute.type, tei_att.textCritical.attribute.cause, tei_att.textCritical.attribute.varSeq, tei_att.textCritical.attribute.hand tei_att.textCritical.attribute.wit = ## (witness or witnesses) contains a list of one or more pointers indicating the witnesses ## which attest to a given reading. attribute wit { list { tei_data.pointer, tei_data.pointer* } }? tei_att.textCritical.attribute.type = ## classifies the reading according to some useful typology. ## Sample values include: 1] substantive; 2] orthographic attribute type { tei_data.enumerated }? tei_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 { tei_data.enumerated }? tei_att.textCritical.attribute.varSeq = ## (variant sequence) provides a number indicating the position of this reading in a ## sequence, when there is reason to presume a sequence to the variants ## on any one lemma. attribute varSeq { tei_data.count }? tei_att.textCritical.attribute.hand = ## signifies the hand responsible for a particular reading in the ## witness. attribute hand { tei_data.pointer }? tei_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 { (tei_teiHeader, ((tei_model.resourceLike+, tei_text?) | tei_text)) >> sch:ns [ prefix = "tei" uri = "http://www.tei-c.org/ns/1.0" ] >> sch:ns [ prefix = "rng" uri = "http://relaxng.org/ns/structure/1.0" ], tei_att.global.attributes, ## specifies the version number of the TEI Guidelines against ## which this document is valid. attribute version { tei_data.version }?, empty } tei_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 { (tei_model.global*, (tei_front, tei_model.global*)?, (tei_body | tei_group), tei_model.global*, (tei_back, tei_model.global*)?), tei_att.global.attributes, tei_att.declaring.attributes, tei_att.typed.attributes, empty } tei_body = ## (text body) contains the whole body of a single unitary text, excluding any front or back matter. [4. ] element ns2:body { (tei_model.global*, (tei_model.divTop, (tei_model.global | tei_model.divTop)*)?, (tei_model.divGenLike, (tei_model.global | tei_model.divGenLike)*)?, ((tei_model.divLike, (tei_model.global | tei_model.divGenLike)*)+ | (tei_model.div1Like, (tei_model.global | tei_model.divGenLike)*)+ | ((tei_model.common, tei_model.global*)+, ((tei_model.divLike, (tei_model.global | tei_model.divGenLike)*)+ | (tei_model.div1Like, (tei_model.global | tei_model.divGenLike)*)+)?)), (tei_model.divBottom, tei_model.global*)*), tei_att.global.attributes, tei_att.declaring.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, ((tei_text | tei_group), (tei_text | tei_group | tei_model.global)*), tei_model.divBottom*), tei_att.global.attributes, tei_att.declaring.attributes, empty } tei_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 { (tei_model.global*, (tei_front, tei_model.global*)?, (tei_body | tei_group), tei_model.global*, (tei_back, tei_model.global*)?), tei_att.global.attributes, tei_att.declaring.attributes, tei_att.typed.attributes, empty } tei_div = ## (text division) contains a subdivision of the front, body, or back of a text. [4.1. ] element ns2:div { ((tei_model.divTop | tei_model.global)*, ((((tei_model.divLike | tei_model.divGenLike), tei_model.global*)+ | ((tei_model.common, tei_model.global*)+, ((tei_model.divLike | tei_model.divGenLike), tei_model.global*)*)), (tei_model.divBottom, tei_model.global*)*)?), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, ((((tei_model.div2Like | tei_model.divGenLike), tei_model.global*)+ | ((tei_model.common, tei_model.global*)+, ((tei_model.div2Like | tei_model.divGenLike), tei_model.global*)*)), (tei_model.divBottom, tei_model.global*)*)?), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, ((((tei_model.div3Like | tei_model.divGenLike), tei_model.global*)+ | ((tei_model.common, tei_model.global*)+, ((tei_model.div3Like | tei_model.divGenLike), tei_model.global*)*)), (tei_model.divBottom, tei_model.global*)*)?), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, ((((tei_model.div4Like | tei_model.divGenLike), tei_model.global*)+ | ((tei_model.common, tei_model.global*)+, ((tei_model.div4Like | tei_model.divGenLike), tei_model.global*)*)), (tei_model.divBottom, tei_model.global*)*)?), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, ((((tei_model.div5Like | tei_model.divGenLike), tei_model.global*)+ | ((tei_model.common, tei_model.global*)+, ((tei_model.div5Like | tei_model.divGenLike), tei_model.global*)*)), (tei_model.divBottom, tei_model.global*)*)?), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, ((((tei_model.div6Like | tei_model.divGenLike), tei_model.global*)+ | ((tei_model.common, tei_model.global*)+, ((tei_model.div6Like | tei_model.divGenLike), tei_model.global*)*)), (tei_model.divBottom, tei_model.global*)*)?), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, ((((tei_model.div7Like | tei_model.divGenLike), tei_model.global*)+ | ((tei_model.common, tei_model.global*)+, ((tei_model.div7Like | tei_model.divGenLike), tei_model.global*)*)), (tei_model.divBottom, tei_model.global*)*)?), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_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 { ((tei_model.divTop | tei_model.global)*, ((tei_model.common, tei_model.global*)+, (tei_model.divBottom, tei_model.global*)*)?), tei_att.global.attributes, tei_att.divLike.attributes, tei_att.typed.attributes, tei_att.declaring.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_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 | tei_model.gLike | tei_model.phrase | tei_docAuthor | tei_model.global)*, tei_att.global.attributes, empty } tei_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.4. 4.2.2. ] element ns2:dateline { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_argument = ## A formal list or prose description of the topics addressed by ## a subdivision of a text. [4.2. 4.6. ] element ns2:argument { ((tei_model.global | tei_model.headLike)*, (tei_model.common, tei_model.global*)+), tei_att.global.attributes, empty } tei_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 { (tei_model.common | tei_model.global)*, tei_att.global.attributes, empty } tei_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.4. 4.2. ] element ns2:opener { (text | tei_model.gLike | tei_model.phrase | tei_argument | tei_byline | tei_dateline | tei_epigraph | tei_salute | tei_signed | tei_model.global)*, tei_att.global.attributes, empty } tei_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 | tei_model.gLike | tei_signed | tei_dateline | tei_salute | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, empty } tei_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.4. 4.2.2. ] element ns2:salute { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_signed = ## (signature) contains the closing salutation, etc., appended to a foreword, ## dedicatory epistle, or other division of a text. [4.2.4. 4.2.2. ] element ns2:signed { tei_macro.phraseSeq, tei_att.global.attributes, empty } tei_postscript = ## contains a postscript, e.g. to a letter. [4.2. ] element ns2:postscript { ((tei_model.divTopPart*, tei_model.common+, tei_model.divBottomPart*) | tei_model.global)*, tei_att.global.attributes, empty } tei_titlePage = ## (title page) contains the title page of a text, appearing within the front or back matter. [4.6. ] element ns2:titlePage { (tei_model.global*, tei_model.titlepagePart, (tei_model.titlepagePart | tei_model.global)*), tei_att.global.attributes, ## classifies the title page according to any convenient typology. attribute type { tei_data.enumerated }?, empty } tei_docTitle = ## (document title) contains the title of a document, including all its ## constituents, as given on a title page. [4.6. ] element ns2:docTitle { (tei_model.global*, (tei_titlePart, tei_model.global*)+), tei_att.global.attributes, tei_att.canonical.attributes, empty } tei_titlePart = ## contains a subsection or division of the title of a work, as ## indicated on a title page. [4.6. ] element ns2:titlePart { tei_macro.paraContent, tei_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 } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_att.canonical.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, empty } tei_docEdition = ## (document edition) contains an edition statement as presented on a title page of a ## document. [4.6. ] element ns2:docEdition { tei_macro.paraContent, tei_att.global.attributes, empty } tei_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 | tei_model.gLike | tei_model.phrase | tei_pubPlace | tei_docDate | tei_publisher | tei_model.global)*, tei_att.global.attributes, empty } tei_docDate = ## (document date) contains the date of a document, as given ## (usually) on a title page. [4.6. ] element ns2:docDate { tei_macro.phraseSeq, tei_att.global.attributes, ## gives the value of the date in standard form, i.e. YYYY-MM-DD. attribute when { tei_data.temporal.w3c }?, empty } tei_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 { ((tei_model.frontPart | tei_model.pLike.front | tei_model.global)*, ((tei_model.div1Like, (tei_model.frontPart | tei_model.div1Like | tei_model.global)*) | (tei_model.divLike, (tei_model.frontPart | tei_model.divLike | tei_model.global)*))?, (tei_model.divBottomPart, (tei_model.divBottomPart | tei_model.global)*)?), tei_att.global.attributes, tei_att.declaring.attributes, empty } tei_back = ## (back matter) contains any appendixes, etc. following the main part of a text. [4.7. 4. ] element ns2:back { ((tei_model.frontPart | tei_model.pLike.front | tei_model.global)*, ((tei_model.div1Like, (tei_model.frontPart | tei_model.div1Like | tei_model.global)*) | (tei_model.divLike, (tei_model.frontPart | tei_model.divLike | tei_model.global)*))?, (tei_model.divBottomPart, (tei_model.divBottomPart | tei_model.global)*)?), tei_att.global.attributes, tei_att.declaring.attributes, empty } tei_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 { (tei_front?, (tei_model.graphicLike | tei_surface | tei_surfaceGrp)+, tei_back?), tei_att.global.attributes, tei_att.declaring.attributes, empty } tei_sourceDoc = ## contains a transcription or other representation of a single ## source document potentially forming part of a dossier ## génétique or collection of sources. element ns2:sourceDoc { (tei_model.global | tei_model.graphicLike | tei_surface | tei_surfaceGrp)+, tei_att.global.attributes, tei_att.declaring.attributes, empty } tei_att.global.facs.attributes = tei_att.global.facs.attribute.facs tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_att.global.change.attributes = tei_att.global.change.attribute.change tei_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 { tei_data.pointer, tei_data.pointer* } }? tei_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. element ns2:surface { (tei_model.glossLike*, tei_model.graphicLike*, (tei_model.global | tei_zone | tei_line | tei_surface | tei_surfaceGrp)*), tei_att.global.attributes, tei_att.coordinated.attributes, tei_att.declaring.attributes, tei_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 { tei_data.enumerated }?, ## indicates whether the ## surface is attached and folded in such a way as to provide two ## writing surfaces attribute flipping { tei_data.truthValue }?, empty } tei_surfaceGrp = ## defines any kind of useful grouping of written surfaces, for ## example the recto and verso of a single leaf, which the encoder ## wishes to treat as a single unit. element ns2:surfaceGrp { (tei_model.global | tei_surface | tei_surfaceGrp)+, tei_att.global.attributes, tei_att.coordinated.attributes, tei_att.declaring.attributes, tei_att.typed.attributes, empty } tei_att.coordinated.attributes = tei_att.coordinated.attribute.start, tei_att.coordinated.attribute.ulx, tei_att.coordinated.attribute.uly, tei_att.coordinated.attribute.lrx, tei_att.coordinated.attribute.lry tei_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 { tei_data.pointer }? tei_att.coordinated.attribute.ulx = ## gives the x coordinate value for the upper left corner of a ## rectangular space. attribute ulx { tei_data.numeric }? tei_att.coordinated.attribute.uly = ## gives the y coordinate value for the upper left corner of a ## rectangular space. attribute uly { tei_data.numeric }? tei_att.coordinated.attribute.lrx = ## gives the x coordinate value for the lower right corner of a ## rectangular space. attribute lrx { tei_data.numeric }? tei_att.coordinated.attribute.lry = ## gives the y coordinate value for the lower right corner of a ## rectangular space. attribute lry { tei_data.numeric }? tei_zone = ## defines any two-dimensional area within a surface ## element. element ns2:zone { (text | tei_model.graphicLike | tei_model.global | tei_surface | tei_model.linePart)*, tei_att.global.attributes, tei_att.coordinated.attributes, tei_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 { tei_data.point, tei_data.point, tei_data.point, tei_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 { tei_data.count }?, empty } tei_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 = "addSpan-constraint-spanTo" "\x{a}" ~ " " sch:rule [ context = "tei:addSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "The spanTo= attribute of " sch:name [ ] " is required." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "addSpan-constraint-spanTo_fr" "\x{a}" ~ " " sch:rule [ context = "tei:addSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "L'attribut spanTo est requis." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.transcriptional.attributes, tei_att.placement.attributes, tei_att.typed.attributes, tei_att.spanning.attributes, empty } tei_damage = ## contains an area of damage to the text witness. [11.3.3.1. ] element ns2:damage { tei_macro.paraContent, tei_att.global.attributes, tei_att.typed.attributes, tei_att.damaged.attributes, empty } tei_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 = "damageSpan-constraint-spanTo" "\x{a}" ~ " " sch:rule [ context = "tei:damageSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "The spanTo= attribute of\x{a}" ~ " " sch:name [ ] " is required." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "damageSpan-constraint-spanTo_fr" "\x{a}" ~ " " sch:rule [ context = "tei:damageSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "L'attribut spanTo est requis." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.damaged.attributes, tei_att.typed.attributes, tei_att.spanning.attributes, empty } tei_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 = "delSpan-constraint-spanTo" "\x{a}" ~ " " sch:rule [ context = "tei:delSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "The spanTo= attribute of " sch:name [ ] "\x{a}" ~ " is required." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ] >> sch:pattern [ id = "delSpan-constraint-spanTo_fr" "\x{a}" ~ " " sch:rule [ context = "tei:delSpan" "\x{a}" ~ " " sch:assert [ test = "@spanTo" "L'attribut spanTo est requis." ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.transcriptional.attributes, tei_att.typed.attributes, tei_att.spanning.attributes, empty } tei_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 { tei_macro.xtext, tei_att.global.attributes, tei_att.editLike.attributes, empty } tei_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 { tei_macro.phraseSeq, tei_att.global.attributes, tei_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 { tei_data.enumerated }?, empty } tei_handNotes = ## contains one or more handNote elements documenting the ## different hands identified within the source texts. [11.3.2.1. ] element ns2:handNotes { tei_handNote+, tei_att.global.attributes, empty } tei_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, tei_att.global.attributes, tei_att.handFeatures.attributes, tei_att.responsibility.attributes, ## identifies the new hand. attribute new { tei_data.pointer }?, empty } tei_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 | tei_model.gLike | tei_model.pPart.transcriptional)*, tei_att.global.attributes, tei_att.editLike.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_att.transcriptional.attributes, tei_att.typed.attributes, empty } tei_space = ## indicates the location of a significant space in the copy text. [11.5.1. ] element ns2:space { tei_model.glossLike*, tei_att.global.attributes, tei_att.dimensions.attributes, ## (dimension) indicates whether the space is horizontal or vertical. attribute dim { ## the space is horizontal. "horizontal" | ## the space is vertical. "vertical" }?, ## (responsible party) indicates the individual responsible for identifying and measuring ## the space. attribute resp { tei_data.pointer }?, empty } tei_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. element ns2:subst { ((tei_add | tei_del | tei_model.milestoneLike)+) >> sch:pattern [ id = "subst-constraint-substContents1" "\x{a}" ~ " " sch:rule [ context = "tei:subst" "\x{a}" ~ " " sch:assert [ test = "child::add and child::del" "\x{a}" ~ " Subst must have at least one child add and at least one child del" ] "\x{a}" ~ " " ] "\x{a}" ~ " " ], tei_att.global.attributes, tei_att.transcriptional.attributes, empty } tei_substJoin = ## (substitution join) identifies a series of possibly fragmented additions, deletions or other revisions on a manuscript that combine to make up a single intervention in the text element ns2:substJoin { tei_model.glossLike*, tei_att.global.attributes, tei_att.pointing.attributes, tei_att.transcriptional.attributes, empty } tei_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 { tei_macro.paraContent, tei_att.global.attributes, tei_att.editLike.attributes, ## indicates why the text has had to be supplied. attribute reason { list { tei_data.word, tei_data.word* } }?, empty } tei_surplus = ## marks text present in the source which the editor believes to ## be superfluous or redundant. [11.3.3.1. ] element ns2:surplus { tei_macro.paraContent, tei_att.global.attributes, tei_att.editLike.attributes, ## indicates the grounds for believing this text to be superfluous. attribute reason { list { tei_data.word, tei_data.word* } }?, empty } tei_line = ## contains the transcription of a topographic line in the source ## document element ns2:line { (text | tei_model.global | tei_model.linePart)*, tei_att.typed.attributes, tei_att.global.attributes, tei_att.coordinated.attributes, empty } tei_listTranspose = ## supplies a list of transpositions, each of which is indicated at some point in ## a document typically by means of metamarks. element ns2:listTranspose { tei_transpose+, tei_att.global.attributes, empty } tei_metamark = ## contains or describes any kind of graphic or written signal ## within a document the function of which is to determine how it ## should be read rather than forming part of the actual content of ## the document. element ns2:metamark { tei_macro.specialPara, tei_att.spanning.attributes, tei_att.placement.attributes, tei_att.global.attributes, ## describes the function (for example status, insertion, ## deletion, transposition) of the mark. attribute function { tei_data.word }?, ## identifies one or more elements to which the function ## indicated by the metamark applies. attribute target { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_mod = ## represents any kind of modification identified within a single document. element ns2:mod { tei_macro.paraContent, tei_att.global.attributes, tei_att.transcriptional.attributes, tei_att.typed.attributes, tei_att.spanning.attributes, empty } tei_redo = ## indicates one or more cancelled interventions in a ## document which have subsequently been ## marked as reaffirmed or repeated. element ns2:redo { empty, tei_att.global.attributes, tei_att.spanning.attributes, tei_att.transcriptional.attributes, ## points to one or more elements representing the ## interventions which are being reasserted. attribute target { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_retrace = ## contains a sequence of writing which has been retraced, for ## example by over-inking, to clarify or fix it. element ns2:retrace { tei_macro.paraContent, tei_att.global.attributes, tei_att.spanning.attributes, tei_att.transcriptional.attributes, empty } tei_transpose = ## describes a single textual transposition as an ordered list ## of at least two pointers specifying the order in which the elements ## indicated should be re-combined. element ns2:transpose { (tei_ptr, tei_ptr+), tei_att.global.attributes, empty } tei_undo = ## indicates one or more marked-up interventions in a document ## which have subsequently been marked for cancellation. element ns2:undo { empty, tei_att.global.attributes, tei_att.spanning.attributes, tei_att.transcriptional.attributes, ## points to one or more elements representing the ## interventions which are to be reverted or undone. attribute target { list { tei_data.pointer, tei_data.pointer* } }?, empty } tei_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 { ((tei_model.pLike | tei_model.noteLike)+ | tei_metSym+), tei_att.global.attributes, tei_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 { tei_data.pattern }?, empty } tei_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 { tei_macro.phraseSeq.limited, tei_att.global.attributes, ## specifies the character or character sequence being documented. attribute value { list { tei_data.word, tei_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 { tei_data.truthValue }?, empty } tei_att.metrical.attributes = tei_att.metrical.attribute.met, tei_att.metrical.attribute.real, tei_att.metrical.attribute.rhyme tei_att.metrical.attribute.met = ## (metrical structure, conventional) contains a user-specified encoding for the conventional ## metrical structure of the element. attribute met { xsd:token }? tei_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 }? tei_att.metrical.attribute.rhyme = ## (rhyme scheme) specifies the rhyme scheme applicable to a group of verse lines. attribute rhyme { xsd:token }? tei_att.enjamb.attributes = tei_att.enjamb.attribute.enjamb tei_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 { tei_data.enumerated }? tei_caesura = ## marks the point at which a metrical line may be divided. [6.2. ] element ns2:caesura { empty, tei_att.global.attributes, empty } tei_rhyme = ## marks the rhyming part of a metrical line. [6.4. ] element ns2:rhyme { tei_macro.paraContent, tei_att.global.attributes, tei_att.typed.attributes, ## provides a label to identify which part of a rhyme scheme this rhyming string ## instantiates. attribute label { tei_data.word }?, empty } start = tei_TEI | tei_teiCorpus