https://github.com/TEIC/TEI
Raw File
Tip revision: 347c64fac3fa1a64ade0d8d1842813d4b8f7acec authored by Hugh Cayless on 12 May 2017, 16:57:59 UTC
Updates.
Tip revision: 347c64f
NH.html

<!DOCTYPE html
  SYSTEM "about:legacy-compat">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><!--THIS FILE IS GENERATED FROM AN XML MASTER. DO NOT EDIT (4)--><title>20 Non-hierarchical Structures - The TEI Guidelines</title><meta property="Language" content="en" /><meta property="DC.Title" content="20 Non-hierarchical Structures - The TEI Guidelines" /><meta property="DC.Language" content="SCHEME=iso639 en" /><meta property="DC.Creator.Address" content="tei@oucs.ox.ac.uk" /><meta charset="utf-8" /><link href="guidelines.css" rel="stylesheet" type="text/css" /><link href="odd.css" rel="stylesheet" type="text/css" /><link rel="stylesheet" media="print" type="text/css" href="guidelines-print.css" /><script type="text/javascript" src="jquery-1.2.6.min.js"></script><script type="text/javascript" src="columnlist.js"></script><script type="text/javascript" src="popupFootnotes.js"></script><script type="text/javascript">
        $(function() {
         $('ul.attrefs-class').columnizeList({cols:3,width:30,unit:'%'});
         $('ul.attrefs-element').columnizeList({cols:3,width:30,unit:'%'});
         $(".displayRelaxButton").click(function() {
           $(this).parent().find('.RNG_XML').toggle();
           $(this).parent().find('.RNG_Compact').toggle();
         });
         $(".tocTree .showhide").click(function() {
          $(this).find(".tocShow,.tocHide").toggle();
          $(this).parent().find("ul.continuedtoc").toggle();
	  });
        })
    </script><script type="text/javascript"><!--
var displayXML=0;
states=new Array()
states[0]="element-a"
states[1]="element-b"
states[2]="element-c"
states[3]="element-d"
states[4]="element-e"
states[5]="element-f"
states[6]="element-g"
states[7]="element-h"
states[8]="element-i"
states[9]="element-j"
states[10]="element-k"
states[11]="element-l"
states[12]="element-m"
states[13]="element-n"
states[14]="element-o"
states[15]="element-p"
states[16]="element-q"
states[17]="element-r"
states[18]="element-s"
states[19]="element-t"
states[20]="element-u"
states[21]="element-v"
states[22]="element-w"
states[23]="element-x"
states[24]="element-y"
states[25]="element-z"

function startUp() {

}

function hideallExcept(elm) {
for (var i = 0; i < states.length; i++) {
 var layer;
 if (layer = document.getElementById(states[i]) ) {
  if (states[i] != elm) {
    layer.style.display = "none";
  }
  else {
   layer.style.display = "block";
      }
  }
 }
 var mod;
 if ( mod = document.getElementById('byMod') ) {
     mod.style.display = "none";
 }
}

function showall() {
 for (var i = 0; i < states.length; i++) {
   var layer;
   if (layer = document.getElementById(states[i]) ) {
      layer.style.display = "block";
      }
  }
}

function showByMod() {
  hideallExcept('');
  var mod;
  if (mod = document.getElementById('byMod') ) {
     mod.style.display = "block";
     }
}

	--></script></head><body><div id="container"><div id="banner"><img src="Images/banner.jpg" alt="Text Encoding Initiative logo and banner" /></div></div><div class="mainhead"><h1>P5: 
    Guidelines for Electronic Text Encoding and Interchange</h1><p>Version 3.1.1a. Last updated on
	10th May 2017, revision bd8dda3</p></div><div id="onecol" class="main-content"><h2><span class="headingNumber">20 </span>Non-hierarchical Structures</h2><div class="div1" id="NH"><div class="miniTOC miniTOC_left"><p><span class="subtochead">Table of contents</span></p><div class="subtoc"><ul class="subtoc"><li class="subtoc"><a class="subtoc" href="NH.html#NHME" title="Multiple Encodings of the Same Information">20.1 Multiple Encodings of the Same Information</a></li><li class="subtoc"><a class="subtoc" href="NH.html#NHBM" title="Boundary Marking with Empty Elements">20.2 Boundary Marking with Empty Elements</a></li><li class="subtoc"><a class="subtoc" href="NH.html#NHVE" title="Fragmentation and Reconstitution of Virtual Elements">20.3 Fragmentation and Reconstitution of Virtual Elements</a></li><li class="subtoc"><a class="subtoc" href="NH.html#NHSO" title="Standoff Markup">20.4 Stand-off Markup</a></li><li class="subtoc"><a class="subtoc" href="NH.html#NHNX" title="NonXMLbased Approaches">20.5 Non-XML-based Approaches</a></li></ul></div><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="GD.html"><span class="headingNumber">19 </span>Graphs, Networks, and Trees</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="CE.html"><span class="headingNumber">21 </span>Certainty, Precision, and Responsibility</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><p>XML employs a strongly hierarchical document model. At various points, these Guidelines discuss problems that arise when using XML to encode textual features that either do not naturally lend themselves to representation in a strictly hierarchical form or conflict with other hierarchies represented in the markup. Examples of such situations include: </p><ul class="bulleted"><li class="item"><p>Conflict between the hierarchy established by the physical structure of a document (e.g., volume, page, column, line) and its rhetorical or linguistic structure (e.g., chapters, paragraphs, sentences, acts, scenes, etc.)</p></li><li class="item"><p>Conflict between a verse text's metrical structure (e.g., its arrangement in stanzas and metrical lines) and its rhetorical or linguistic structure (e.g., phrases, sentences, and, for plays, acts, scenes, and speeches).</p></li><li class="item"><p>Conflict between metrical, rhetorical, or linguistic structure and the representation of direct speech, especially if the quoted speech is interrupted by other elements (e.g., <span class="said">‘What’</span>, she asked, <span class="said">‘was that all about’</span>) or crosses metrical, rhetorical, or linguistic boundaries.</p></li><li class="item"><p>Conflict between different analytical views or descriptions of a text or document, e.g., markup intended to encode diplomatic information about a word's appearance in a manuscript with markup intended to describe its morphology or pronunciation.</p></li></ul><p>Non-nesting information poses fundamental problems for any XML-based encoding scheme, and it must be stated at the outset that no current solution combines all the desirable attributes of formal simplicity, capacity to represent all occurring or imaginable kinds of structures, suitability for formal or mechanical validation. The representation of non-hierarchical information is thus necessarily a matter of trade-offs among various sets of advantages and disadvantages.</p><p>These Guidelines support several methods for handling non-hierarchical information: </p><ul class="bulleted"><li class="item"><p>redundant encoding of information in multiple forms (discussed in <a class="link_ptr" href="NH.html#NHME" title="Multiple Encodings of the Same Information"><span class="headingNumber">20.1 </span>Multiple Encodings of the Same Information</a>)</p></li><li class="item"><p>the use of empty elements to delimit the boundaries of a non-nesting structure (discussed in <a class="link_ptr" href="NH.html#NHBM" title="Boundary Marking with Empty Elements"><span class="headingNumber">20.2 </span>Boundary Marking with Empty Elements</a>)</p></li><li class="item"><p>the division of a logically single non-nesting element into segments that nest properly in their immediate hierarchical context but can also be reconstituted virtually across these hierarchical boundaries (discussed <a class="link_ptr" href="NH.html#NHVE" title="Fragmentation and Reconstitution of Virtual Elements"><span class="headingNumber">20.3 </span>Fragmentation and Reconstitution of Virtual Elements</a>)</p></li><li class="item"><p>stand-off markup: the annotation of information by pointing at it, rather than by placing XML tags within it (discussed in <a class="link_ptr" href="NH.html#NHSO" title="Standoff Markup"><span class="headingNumber">20.4 </span>Stand-off Markup</a>)</p></li></ul><p> Some of these methods can be used in TEI-conformant documents. Others require extension.</p><p>In the sections which follow these techniques are described and their advantages and disadvantages are briefly discussed. The various solutions to the problem will be exemplified using extracts from two poems. The first is the opening quatrain from William Wordsworth's <q class="titlea">Scorn not the sonnet</q>: </p><blockquote class="quote"><div class="l">Scorn not the sonnet; critic, you have frowned,</div> <div class="l">Mindless of its just honours; with this key</div> <div class="l">Shakespeare unlocked his heart; the melody</div> <div class="l">Of this small lute gave ease to Petrarch's wound.</div></blockquote><p> The second example is the third stanza from the fourth section of Robert Pinsky's <q class="titlea">Essay on Psychiatrists</q>: </p><blockquote class="quote"><div class="lg"><div class="l">Catholic woman of twenty-seven with five children</div><div class="l">And a first-rate body—pointed her finger</div><div class="l">at the back of one certain man and asked me,</div><div class="l">"Is that guy a psychiatrist?" and by god he was! "Yes,"</div><div class="l">She said, "He <em>looks</em> like a psychiatrist."</div><div class="l">Grown quiet, I looked at his pink back, and thought.</div></div></blockquote><p> These two texts can be analysed in various ways. The first, which we might describe as the ‘Metrical View’, encodes the text according to its metrical features: line divisions (as here), stanzas or cantos in larger poems, and perhaps prosodic features like stress or syllable patterns, alliteration, or rhyme. A second view, which we might describe as the ‘Grammatical’, encodes linguistic and rhetorical features: phonemes, morphemes, words, phrases, clauses, and sentences. A third view, the ‘Dialogic’, might concentrate on narrative voice: distinguishing between the narrator and their interlocutors and identifying individual segments as direct quotations. In our examples, we will restrict ourselves to relatively simple conflicts: for the <span class="term">Metrical View</span> we will encode only metrical lines and line groups; for the <span class="term">Grammatical View</span> we will restrict ourselves to encoding sentences; and for the <span class="term">Dialogic View</span>, we only will distinguish direct quotation from other narration.</p><div class="div2" id="NHME"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="NH.html#NHBM"><span class="headingNumber">20.2 </span>Boundary Marking with Empty Elements</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#NHME" title="link to this section "><span class="invisible">TEI: Multiple Encodings of the Same Information</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">20.1 </span><span class="head">Multiple Encodings of the Same Information</span></h3><p>Conceptually, the simplest method of disentangling two (or more) conflicting hierarchical views of the same information is to encode it twice (or more), each time capturing a single view.</p><div class="p">Thus, for example, the <span class="term">Metrical View</span> of <q class="titlea">Scorn not the sonnet</q> might be encoded as follows, using the <a class="gi" title="(verse line) contains a single, possibly incomplete, line of verse." href="ref-l.html">l</a> element to encode each metrical line: <div id="index-egXML-d52e137807" class="pre egXML_valid"><span class="element">&lt;l&gt;</span>Scorn not the sonnet; critic, you have frowned,<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Mindless of its just honours; with this key<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Shakespeare unlocked his heart; the melody<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Of this small lute gave ease to Petrarch's wound.<span class="element">&lt;/l&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div></div><div class="p">The <span class="term">Grammatical View</span> would be encoded by taking the same text and replacing the metrical markup with information about its sentence structure: <div id="index-egXML-d52e137821" class="pre egXML_valid"><span class="element">&lt;p&gt;</span><br /> <span class="element">&lt;seg&gt;</span>Scorn not the sonnet;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg&gt;</span>critic, you have frowned, Mindless of its just honours;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg&gt;</span>with this key Shakespeare unlocked his heart;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg&gt;</span>the melody Of this small lute gave ease to Petrarch's wound.<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/p&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div></div><div class="p">Likewise, the more complex passage from Pinsky could be encoded in three different ways to reflect the different metrical, grammatical, and dialogic views of its text: <div id="index-egXML-d52e137833" class="pre egXML_valid"><span class="element">&lt;lg&gt;</span><br /> <span class="element">&lt;l&gt;</span>Catholic woman of twenty-seven with five children<span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>And a first-rate body—pointed her finger<span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>at the back of one certain man and asked me,<span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>"Is that guy a psychiatrist?" and by god he was! "Yes,"<span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>She said, "He <span class="element">&lt;emph&gt;</span>looks<span class="element">&lt;/emph&gt;</span> like a psychiatrist."<span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>Grown quiet, I looked at his pink back, and thought.<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;/lg&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-02">bibliography</a> </div></div> <div id="index-egXML-d52e137851" class="pre egXML_valid"><span class="element">&lt;p&gt;</span><br /> <span class="element">&lt;seg&gt;</span>Catholic woman of twenty-seven with five children And a<br />     first-rate body—pointed her finger at the back of one certain man and<br />     asked me, "Is that guy a psychiatrist?" and by god he was!<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/p&gt;</span><br /><span class="element">&lt;p&gt;</span><br /> <span class="element">&lt;seg&gt;</span>"Yes," She said, "He <span class="element">&lt;emph&gt;</span>looks<span class="element">&lt;/emph&gt;</span> like a<br />     psychiatrist."<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/p&gt;</span><br /><span class="element">&lt;p&gt;</span><br /> <span class="element">&lt;seg&gt;</span>Grown quiet, I looked at his pink back, and thought.<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/p&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-02">bibliography</a> </div></div> <div id="index-egXML-d52e137865" class="pre egXML_valid"><span class="element">&lt;ab&gt;</span>Catholic woman of twenty-seven with five children And a first-rate<br />   body—pointed her finger at the back of one certain man and asked me,<br /> <span class="element">&lt;said&gt;</span>Is that guy a psychiatrist?<span class="element">&lt;/said&gt;</span> and by god he was!<br /> <span class="element">&lt;said&gt;</span>Yes,<span class="element">&lt;/said&gt;</span> She said, <span class="element">&lt;said&gt;</span>He <span class="element">&lt;emph&gt;</span>looks<span class="element">&lt;/emph&gt;</span> like a<br />     psychiatrist.<span class="element">&lt;/said&gt;</span> Grown quiet, I looked at his pink back, and<br />   thought.<span class="element">&lt;/ab&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-02">bibliography</a> </div></div></div><p>This method is TEI-conformant. Its advantages are that each way of looking at the information is explicitly represented in the data and that the individual views are simple to process. The disadvantages are that the method requires the maintenance of multiple copies of identical textual content (an invitation to inconsistency) and that there is no explicit indication that the various views, which might be in separate files, are related to each other: it might prove difficult to combine the views or access information from one view while processing the file that contains the encoding of another.<span id="Note120_return"><a class="notelink" title="It has been shown, however, that it is possible to relate the different annotations in an indirect way: if the textual content of the annotations is i…" href="#Note120"><sup>83</sup></a></span></p></div><div class="div2" id="NHBM"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="NH.html#NHME"><span class="headingNumber">20.1 </span>Multiple Encodings of the Same Information</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="NH.html#NHVE"><span class="headingNumber">20.3 </span>Fragmentation and Reconstitution of Virtual Elements</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#NHBM" title="link to this section "><span class="invisible">TEI: Boundary Marking with Empty Elements</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">20.2 </span><span class="head">Boundary Marking with Empty Elements</span></h3><p>A second method for accommodating non-hierarchical objects in an XML document involves marking the start and end points of the non-nesting material. This prevents textual features that fall outside the privileged hierarchy from invalidating the document while identifying their beginnings and ends for further processing. The disadvantage of this method is that no single XML element represents the non-nesting material and, as a result, processing with XML technologies is significantly more difficult.</p><p>The empty elements used at each end are called <span class="term">segment-boundary elements</span> or <span class="term">segment-boundary delimiters</span>. There are several variations on this method of encoding.</p><div class="p">For some common structural features, the TEI provides milestone elements that can be used to mark the beginning of a textual feature. These include <a class="gi" title="(line break) marks the start of a new (typographic) line in some edition or version of a text." href="ref-lb.html">lb</a>, <a class="gi" title="(page break) marks the start of a new page in a paginated document." href="ref-pb.html">pb</a>, <a class="gi" title="(column break) marks the beginning of a new column of a text on a multi-column page." href="ref-cb.html">cb</a>, <a class="gi" title="marks the beginning of a sequence of text written in a new hand, or the beginning of a scribal stint." href="ref-handShift.html">handShift</a>, and the generic <a class="gi" title="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." href="ref-milestone.html">milestone</a>. Using <a class="gi" title="(line break) marks the start of a new (typographic) line in some edition or version of a text." href="ref-lb.html">lb</a>, for example, it is possible to indicate both the physical lineation of a poem on the page and its grammatical division into sentences: <div id="index-egXML-d52e137921" class="pre egXML_valid"><span class="element">&lt;p&gt;</span><br /> <span class="element">&lt;seg&gt;</span><br />  <span class="element">&lt;lb <span class="attribute">n</span>="<span class="attributevalue">1</span>"/&gt;</span>Scorn not the sonnet;<span class="element">&lt;/seg&gt;</span>; <span class="element">&lt;seg&gt;</span>critic, you have<br />     frowned, <span class="element">&lt;lb <span class="attribute">n</span>="<span class="attributevalue">2</span>"/&gt;</span>Mindless of its just honours;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg&gt;</span>with this<br />     key <span class="element">&lt;lb <span class="attribute">n</span>="<span class="attributevalue">3</span>"/&gt;</span>Shakespeare unlocked his heart;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg&gt;</span>the melody<br />  <span class="element">&lt;lb <span class="attribute">n</span>="<span class="attributevalue">4</span>"/&gt;</span>Of this small lute gave ease to Petrarch's<br />     wound.<span class="element">&lt;/seg&gt;</span><span class="element">&lt;/p&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div></div><p>The use of these elements is by definition TEI-conformant. Care should be taken, however, that the meaning of the milestone elements is preserved: semantically, for example, <a class="gi" title="(line break) marks the start of a new (typographic) line in some edition or version of a text." href="ref-lb.html">lb</a> is used to mark the start of a new (typographical) line. While in much modern poetry, typographical and metrical line divisions correspond, <a class="gi" title="(line break) marks the start of a new (typographic) line in some edition or version of a text." href="ref-lb.html">lb</a> does not itself make a metrical claim: in encoding verse from sources, such as Old English manuscripts, where physical line breaks are not used to indicate metrical lineation, the correspondence would break down entirely.</p><div class="p">The segment boundaries also may be delimited by the generic <a class="gi" title="(anchor point) attaches an identifier to a point within a text, whether or not it corresponds with a textual element." href="ref-anchor.html">anchor</a> element. Attributes can then be used to indicate the type of feature being delimited and whether a given instance opens or closes the feature. <div id="index-egXML-d52e137953" class="pre egXML_valid"><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;anchor <span class="attribute">subtype</span>="<span class="attributevalue">sentenceStart</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>"/&gt;</span><br />   Scorn not the sonnet;<br /> <span class="element">&lt;anchor <span class="attribute">subtype</span>="<span class="attributevalue">sentenceEnd</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>"/&gt;</span><br /> <span class="element">&lt;anchor <span class="attribute">subtype</span>="<span class="attributevalue">sentenceStart</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>"/&gt;</span> critic, you have frowned,<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Mindless of its just honours; <span class="element">&lt;anchor <span class="attribute">subtype</span>="<span class="attributevalue">sentenceEnd</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>"/&gt;</span><br /> <span class="element">&lt;anchor <span class="attribute">subtype</span>="<span class="attributevalue">sentenceStart</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>"/&gt;</span> with this key<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Shakespeare unlocked his heart; <span class="element">&lt;anchor <span class="attribute">subtype</span>="<span class="attributevalue">sentenceEnd</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>"/&gt;</span><br /> <span class="element">&lt;anchor <span class="attribute">subtype</span>="<span class="attributevalue">sentenceStart</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>"/&gt;</span> the melody<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Of this small lute gave ease to Petrarch's wound. <span class="element">&lt;anchor <span class="attribute">subtype</span>="<span class="attributevalue">sentenceEnd</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>"/&gt;</span><span class="element">&lt;/l&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div></div><p>This method is TEI-conformant.</p><div class="p">Another approach is to design custom elements that provide richer information about the feature being delimited or its boundaries. This information can be included as attribute values or as part of the element name itself: e.g., <span class="tag">&lt;boundaryStart element="sentence"/&gt;</span>... <span class="tag">&lt;boundaryEnd element="sentence"/&gt;</span>, <span class="tag">&lt;sentenceBoundary position="start"/&gt;</span>... <span class="tag">&lt;sentenceBoundary position="end"/&gt;</span>, or <span class="tag">&lt;sentenceBoundaryStart/&gt;</span>... <span class="tag">&lt;sentenceBoundaryEnd/&gt;</span>: <div id="index-egXML-d52e137997" class="pre egXML_valid"><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;n:sentenceBoundaryStart/&gt;</span>Scorn not the sonnet;<br /> <span class="element">&lt;n:sentenceBoundaryEnd/&gt;</span><br /> <span class="element">&lt;n:sentenceBoundaryStart/&gt;</span>critic, you have frowned,<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Mindless of its just honours; <span class="element">&lt;n:sentenceBoundaryEnd/&gt;</span><br /> <span class="element">&lt;n:sentenceBoundaryStart/&gt;</span>with this key<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Shakespeare unlocked his heart; <span class="element">&lt;n:sentenceBoundaryEnd/&gt;</span><br /> <span class="element">&lt;n:sentenceBoundaryStart/&gt;</span>the melody<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span>Of this small lute gave ease to Petrarch's wound. <span class="element">&lt;n:sentenceBoundaryEnd/&gt;</span><span class="element">&lt;/l&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div></div><p>If the custom elements can be replaced by TEI elements and attributes without loss of information, this method is TEI-conformant (see <a class="link_ptr" href="USE.html#CF" title="Conformance"><span class="headingNumber">23.4 </span>Conformance</a>); if the custom elements introduce information or distinctions that cannot be captured using standard TEI elements, the method is an extension.</p><div class="p">Finally, elements that are normally used to encode nesting textual features (e.g., <a class="gi" title="(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." href="ref-said.html">said</a>, <a class="gi" title="(arbitrary segment) represents any segmentation of text below the ‘chunk’ level." href="ref-seg.html">seg</a>, <a class="gi" title="(verse line) contains a single, possibly incomplete, line of verse." href="ref-l.html">l</a>, etc.) can be adapted so that they serve as empty segment boundary delimiters when the features they encode cross-hierarchical boundaries. Additional attributes (<span class="att">sID</span> and <span class="att">eID</span> in the example below) are added to these elements in order to allow the unambiguous correlation of start and end points. This method has been introduced in the markup literature under various names, including Trojan milestones, HORSE markup, CLIX, and COLT. It is described in detail by <a class="citlink" href="BIB.html#NH-BIBL-1">DeRose (2004)</a>): <div id="index-egXML-d52e138044" class="pre egXML_valid"><span class="element">&lt;lg&gt;</span><br /> <span class="element">&lt;l&gt;</span><br />  <span class="element">&lt;seg&gt;</span>Scorn not the sonnet;<span class="element">&lt;/seg&gt;</span><br />  <span class="element">&lt;hr:s <span class="attribute">sID</span>="<span class="attributevalue">s02</span>"/&gt;</span>critic, you have frowned, <span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>Mindless of its just honours; <span class="element">&lt;hr:s <span class="attribute">eID</span>="<span class="attributevalue">s02</span>"/&gt;</span><br />  <span class="element">&lt;hr:s <span class="attribute">sID</span>="<span class="attributevalue">s03</span>"/&gt;</span>with this key <span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>Shakespeare unlocked his heart; <span class="element">&lt;hr:s <span class="attribute">eID</span>="<span class="attributevalue">s03</span>"/&gt;</span><br />  <span class="element">&lt;hr:s <span class="attribute">sID</span>="<span class="attributevalue">s04</span>"/&gt;</span>the melody <span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>Of this small lute gave ease to Petrarch's wound. <span class="element">&lt;hr:s <span class="attribute">eID</span>="<span class="attributevalue">s04</span>"/&gt;</span><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;/lg&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div> Depending on how the modifications are carried out, this method may be TEI-conformant, may represent an extension of the TEI, or may produce a non-conformant document. <ul class="bulleted"><li class="item">The method is TEI-conformant if the modified elements and attributes can be mapped without loss of information to existing TEI markup structures such as milestone or anchor elements automatically (see <a class="link_ptr" href="USE.html#CF" title="Conformance"><span class="headingNumber">23.4 </span>Conformance</a>).</li><li class="item">The method represents an Extension if the modified elements are placed in a distinct, non-TEI namespace (see <a class="link_ptr" href="USE.html#CF" title="Conformance"><span class="headingNumber">23.4 </span>Conformance</a>).</li><li class="item">The method is non-conformant—and indeed strongly deprecated—if the modified elements and attributes are not placed in a distinct, non-TEI namespace (see <a class="link_ptr" href="USE.html#CFAM" title="Conformance to the TEI Abstract Model"><span class="headingNumber">23.4.3 </span>Conformance to the TEI Abstract Model</a>).</li></ul></div><p>In each of the above examples (except the last), the relationship between the start and end delimiters (where these exist) of a given feature is implicit: it is assumed that "end" delimiters close the nearest preceding "start" delimiter, or, in the case of milestones, that the milestone marks both the end of the preceding example and the beginning of the next. Complications arise, however, when the non-nesting text overlaps with other non-nesting text of the same type, as, for example, in a grammatical analysis of the various possible interpretations of the  noun phrase <span class="mentioned">fast trains and planes</span>. In this case, the adjective <span class="mentioned">fast</span> can be understood as either modifying <span class="mentioned">trains and planes</span> or just <span class="mentioned">trains</span>: </p><figure class="figure"><figcaption class="caption">Figure 20.1. Two interpretations of the phrase <span class="mentioned">Fast trains and planes</span></figcaption><img src="Images/tree1-2.jpg" alt="Graphic representation of two interpretations of the phrase Fast trains and planes." class="graphic" style=" width:80%;" /></figure><div class="p">In order to encode the possible analyses of this phrase, an unambiguous method of associating opening and closing segment boundary delimiters is required: <div id="index-egXML-d52e138114" class="pre egXML_valid"><span class="element">&lt;phr <span class="attribute">function</span>="<span class="attributevalue">NP</span>"&gt;</span><br /> <span class="element">&lt;anchor <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>" <span class="attribute">subtype</span>="<span class="attributevalue">NPstart</span>"<br />  <span class="attribute">xml:id</span>="<span class="attributevalue">NPInterpretationB</span>"/&gt;</span><br /> <span class="element">&lt;w <span class="attribute">function</span>="<span class="attributevalue">A</span>"&gt;</span>Fast<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;anchor <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>" <span class="attribute">subtype</span>="<span class="attributevalue">NPstart</span>"<br />  <span class="attribute">xml:id</span>="<span class="attributevalue">NPInterpretationA</span>"/&gt;</span><br /> <span class="element">&lt;w <span class="attribute">function</span>="<span class="attributevalue">N</span>"&gt;</span>trains<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;anchor <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>" <span class="attribute">subtype</span>="<span class="attributevalue">NPend</span>"<br />  <span class="attribute">corresp</span>="<span class="attributevalue">#NPInterpretationB</span>"/&gt;</span><br /> <span class="element">&lt;w <span class="attribute">function</span>="<span class="attributevalue">C</span>"&gt;</span>and<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">function</span>="<span class="attributevalue">N</span>"&gt;</span>planes<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;anchor <span class="attribute">type</span>="<span class="attributevalue">delimiter</span>" <span class="attribute">subtype</span>="<span class="attributevalue">NPend</span>"<br />  <span class="attribute">corresp</span>="<span class="attributevalue">#NPInterpretationA</span>"/&gt;</span><br /><span class="element">&lt;/phr&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-03">bibliography</a> </div></div></div><p>In this encoding, the first interpretation, in which <span class="mentioned">fast</span> modifies the NP <span class="mentioned">trains and planes</span>, the NP <span class="mentioned">trains and planes</span> is opened using an <a class="gi" title="(anchor point) attaches an identifier to a point within a text, whether or not it corresponds with a textual element." href="ref-anchor.html">anchor</a> tag with the <span class="att">xml:id</span> value <span class="mentioned">NPInterpretationA</span> and closed with an <a class="gi" title="(anchor point) attaches an identifier to a point within a text, whether or not it corresponds with a textual element." href="ref-anchor.html">anchor</a> with the same value on <span class="att">corresp</span>; in the second interpretation, in which <span class="mentioned">fast</span> forms a NP with <span class="mentioned">trains</span>, the NP <span class="mentioned">fast cars</span> is opened using an <a class="gi" title="(anchor point) attaches an identifier to a point within a text, whether or not it corresponds with a textual element." href="ref-anchor.html">anchor</a> tag with the <span class="att">xml:id</span> value <span class="mentioned">NPInterpretationB</span> and closed with an <a class="gi" title="(anchor point) attaches an identifier to a point within a text, whether or not it corresponds with a textual element." href="ref-anchor.html">anchor</a> tag that has the same value on <span class="att">corresp</span>.</p><p>Despite their advantages, segment boundary delimiters incur the disadvantage of cumbersome processing: since the elements of the analysis (e.g., the sentences in the poems, or phrases in the above example) are not uniformly represented by nodes in the document tree, they must be reconstituted by software in an ad hoc fashion, which is likely to be difficult and may be error prone.</p><p>Most important for some encoders, the method also disguises the relationship between the beginning and the ending of each logical element. This makes it impossible for standard validation software to provide the same kind of validation possible elsewhere in the encoding. When using grammar-based schema languages it is not possible to define a content model for the range limited by empty elements.<span id="Note121_return"><a class="notelink" title="Grammar based schema languages (e.g., DTD, W3C Schema, and RELAX NG) are used to define markup languages (e.g., XHTML or TEI). Rule-based schema langu…" href="#Note121"><sup>84</sup></a></span></p></div><div class="div2" id="NHVE"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="NH.html#NHBM"><span class="headingNumber">20.2 </span>Boundary Marking with Empty Elements</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="NH.html#NHSO"><span class="headingNumber">20.4 </span>Stand-off Markup</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#NHVE" title="link to this section "><span class="invisible">TEI: Fragmentation and Reconstitution of Virtual Elements</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">20.3 </span><span class="head">Fragmentation and Reconstitution of Virtual Elements</span></h3><p>A third method involves breaking what might be considered a single logical (but non-nesting) element into multiple smaller structural elements that fit within the dominant hierarchy but can be reconstituted virtually. For example, if a passage of direct discourse begins in the middle of one paragraph and continues for several more paragraphs, one could encode the passage as a series of <a class="gi" title="(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." href="ref-said.html">said</a> elements, each fitting within a <a class="gi" title="(paragraph) marks paragraphs in prose." href="ref-p.html">p</a> element. The resulting encoding is valid XML, but the text in each <a class="gi" title="(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." href="ref-said.html">said</a> element represents only a portion of the complete passage of direct discourse. For this reason these elements are sometimes called ‘partial elements’.</p><div class="p">In the case of our selection from Pinsky's poem, for example, the second passage of direct quotation, which crosses a line boundary and is broken up by a <span class="mentioned">She said</span> in the narrator's voice, can be made to fit within the hierarchy established by the metrical lineation by using two <a class="gi" title="(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." href="ref-said.html">said</a> elements: <div id="index-egXML-d52e138212" class="pre egXML_valid"><span class="element">&lt;lg&gt;</span><br /> <span class="element">&lt;l&gt;</span>Catholic woman of twenty-seven with five children<span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>And a first-rate body—pointed her finger<span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>at the back of one certain man and asked me,<span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span><br />  <span class="element">&lt;said <span class="attribute">n</span>="<span class="attributevalue">quotation1</span>"&gt;</span>Is that guy a psychiatrist?<span class="element">&lt;/said&gt;</span> and by god he was!<br />  <span class="element">&lt;said <span class="attribute">n</span>="<span class="attributevalue">quotation2</span>"&gt;</span>Yes,<span class="element">&lt;/said&gt;</span><span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>She said, <span class="element">&lt;said <span class="attribute">n</span>="<span class="attributevalue">quotation2</span>"&gt;</span>He <span class="element">&lt;emph&gt;</span>looks<span class="element">&lt;/emph&gt;</span> like a<br />       psychiatrist.<span class="element">&lt;/said&gt;</span><span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span>Grown quiet, I looked at his pink back, and thought.<span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;/lg&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-02">bibliography</a> </div></div></div><div class="p">Similarly, the sentences in our example from Wordsworth could be encoded: <div id="index-egXML-d52e138238" class="pre egXML_valid"><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">n</span>="<span class="attributevalue">sentence1</span>"&gt;</span>Scorn not the sonnet;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">n</span>="<span class="attributevalue">sentence2</span>"&gt;</span>critic, you have frowned,<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">n</span>="<span class="attributevalue">sentence2</span>"&gt;</span>Mindless of its just honours;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">n</span>="<span class="attributevalue">sentence3</span>"&gt;</span>with this key<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">n</span>="<span class="attributevalue">sentence3</span>"&gt;</span>Shakespeare unlocked his heart;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">n</span>="<span class="attributevalue">sentence4</span>"&gt;</span>the melody<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">n</span>="<span class="attributevalue">sentence4</span>"&gt;</span>Of this small lute gave ease to Petrarch's wound.<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div></div><p>There are two main problems with this type of encoding. The first is that it invariably means that the encoding will have more elements claiming to represent a feature than there are actual instances of that feature in the text. Thus, for example, the passage from <q class="titlea">Scorn not the sonnet</q> marks seven spans of text using <a class="gi" title="(arbitrary segment) represents any segmentation of text below the ‘chunk’ level." href="ref-seg.html">seg</a>, even though there are only four linguistic sentences in the passage.</p><p>The second problem is that it can be semantically misleading. Although they are tagged using the element for <span class="term">sentence</span>, for example, very few of the textual features encoded using <a class="gi" title="(arbitrary segment) represents any segmentation of text below the ‘chunk’ level." href="ref-seg.html">seg</a> in this example represent actual linguistic sentences: <span class="mentioned">with this key</span>, for example, is a prepositional phrase, not a sentence; <span class="mentioned">Of this small lute gave ease to Petrarch's wound</span> is a string corresponding to no single grammatical category.</p><p>Taken together, these problems can make automatic analysis of the fragmented features difficult. An analysis that intended to count the number of sentences in Wordsworth's poem, for example, would arrive at an inflated figure if it understood the <a class="gi" title="(arbitrary segment) represents any segmentation of text below the ‘chunk’ level." href="ref-seg.html">seg</a> elements to represent complete rhetorical sentences; if it wanted to do an analysis of his syntax, it would not be able to assume that <a class="gi" title="(arbitrary segment) represents any segmentation of text below the ‘chunk’ level." href="ref-seg.html">seg</a> delimited linguistic sentences.</p><div class="p">The technique of fragmentation is often complemented by the technique of virtual joins. Virtual joins may be used to combine objects in the text to a new hierarchy. Here is <q class="titlea">Scorn not the sonnet</q> again; this time the relationship between the parts of the fragmented sentences is indicated explicitly using the <span class="att">next</span> and <span class="att">prev</span> attributes described in <a class="link_ptr" href="SA.html#SAAG" title="Aggregation"><span class="headingNumber">16.7 </span>Aggregation</a>. <div id="index-egXML-d52e138300" class="pre egXML_valid"><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg&gt;</span>Scorn not the sonnet;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">next</span>="<span class="attributevalue">#s2b</span>" <span class="attribute">xml:id</span>="<span class="attributevalue">s2a</span>"&gt;</span>critic, you have frowned,<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">prev</span>="<span class="attributevalue">#s2a</span>" <span class="attribute">xml:id</span>="<span class="attributevalue">s2b</span>"&gt;</span>Mindless of its just honours;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">next</span>="<span class="attributevalue">#s3b</span>" <span class="attribute">xml:id</span>="<span class="attributevalue">s3a</span>"&gt;</span>with this key<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">prev</span>="<span class="attributevalue">#s3a</span>" <span class="attribute">xml:id</span>="<span class="attributevalue">s3b</span>"&gt;</span>Shakespeare unlocked his heart;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">next</span>="<span class="attributevalue">#s4b</span>" <span class="attribute">xml:id</span>="<span class="attributevalue">s4a</span>"&gt;</span>the melody<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">prev</span>="<span class="attributevalue">#s4a</span>" <span class="attribute">xml:id</span>="<span class="attributevalue">s4b</span>"&gt;</span>Of this small lute gave ease to Petrarch's wound.<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div> This method of virtually joining partial elements is sometimes called ‘chaining’.</div><div class="p">For fragments encoded using <a class="gi" title="(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." href="ref-ab.html">ab</a>, <a class="gi" title="(verse line) contains a single, possibly incomplete, line of verse." href="ref-l.html">l</a>, <a class="gi" title="(line group) contains one or more verse lines functioning as a formal unit, e.g. a stanza, refrain, verse paragraph, etc." href="ref-lg.html">lg</a>, <a class="gi" title="(text division) contains a subdivision of the front, body, or back of a text." href="ref-div.html">div</a>, or elements that belong to the <a class="link_odd" title="provides attributes for elements used for arbitrary segmentation." href="ref-att.segLike.html">att.segLike</a> class, an even simpler mechanism for virtually joining fragments exists: the use of the <span class="att">part</span> attribute with the value <span class="mentioned">I</span> (Initial), <span class="mentioned">M</span> (Medial), or <span class="mentioned">F</span> (Final) as described in <a class="link_ptr" href="SA.html#SASE" title="Blocks Segments and Anchors"><span class="headingNumber">16.3 </span>Blocks, Segments, and Anchors</a>. Here is the above example recoded to reflect this method: <div id="index-egXML-d52e138356" class="pre egXML_valid"><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg&gt;</span>Scorn not the sonnet;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">I</span>"&gt;</span>critic, you have frowned,<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">F</span>"&gt;</span>Mindless of its just honours;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">I</span>"&gt;</span>with this key<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">F</span>"&gt;</span>Shakespeare unlocked his heart;<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">I</span>"&gt;</span>the melody<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">F</span>"&gt;</span>Of this small lute gave ease to Petrarch's wound.<span class="element">&lt;/seg&gt;</span><br /><span class="element">&lt;/l&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div></div><div class="p">This method is TEI-conformant and simple to use. Its disadvantage is that it does not work well for cases of self-overlap, or if there are nested occurrences of the same element type, as it can become difficult to ascertain which initial, medial, or final partial element should be combined with which others or in which order. This problem becomes evident if we attempt to combine a detailed Grammatical view of the Pinsky example with its metrical encoding: <div id="index-egXML-d52e138377" class="pre egXML_valid"><span class="element">&lt;lg&gt;</span><br /> <span class="element">&lt;l&gt;</span><br />  <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">I</span>"&gt;</span>Catholic woman of twenty-seven with five children<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span><br />  <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">M</span>"&gt;</span>And a first-rate body—pointed her finger<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span><br />  <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">M</span>"&gt;</span>at the back of one certain man and asked me,<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span><br />  <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">F</span>"&gt;</span>"<span class="element">&lt;seg&gt;</span>Is that guy a psychiatrist?<span class="element">&lt;/seg&gt;</span>" and by god he was!<span class="element">&lt;/seg&gt;</span><br />  <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">I</span>"&gt;</span>"<span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">I</span>"&gt;</span>Yes,<span class="element">&lt;/seg&gt;</span>"<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span><br />  <span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">F</span>"&gt;</span>She said, "<span class="element">&lt;seg <span class="attribute">part</span>="<span class="attributevalue">F</span>"&gt;</span>He <span class="element">&lt;emph&gt;</span>looks<span class="element">&lt;/emph&gt;</span> like a psychiatrist.<span class="element">&lt;/seg&gt;</span>"<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;/l&gt;</span><br /> <span class="element">&lt;l&gt;</span><br />  <span class="element">&lt;seg&gt;</span>Grown quiet, I looked at his pink back, and thought.<span class="element">&lt;/seg&gt;</span><br /> <span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;/lg&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-02">bibliography</a> </div></div></div><div class="p">A third method for aggregating fragmented partial elements involves using markup that is not directly part of the encoding, e.g., the <a class="gi" title="identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it." href="ref-join.html">join</a> element. In this method, a <a class="gi" title="identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it." href="ref-join.html">join</a> element is used elsewhere in the document to indicate explicitly the members of the virtual element: <div id="index-egXML-d52e138419" class="pre egXML_valid"><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w01</span>"&gt;</span>Scorn<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w02</span>"&gt;</span>not<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w03</span>"&gt;</span>the<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w04</span>"&gt;</span>sonnet<span class="element">&lt;/w&gt;</span>; <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w05</span>"&gt;</span>critic<span class="element">&lt;/w&gt;</span>, <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w06</span>"&gt;</span>you<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w07</span>"&gt;</span>have<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w08</span>"&gt;</span>frowned<span class="element">&lt;/w&gt;</span>, <span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w09</span>"&gt;</span>Mindless<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w10</span>"&gt;</span>of<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w11</span>"&gt;</span>its<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w12</span>"&gt;</span>just<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w13</span>"&gt;</span>honours<span class="element">&lt;/w&gt;</span>; <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w14</span>"&gt;</span>with<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w15</span>"&gt;</span>this<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w16</span>"&gt;</span>key<span class="element">&lt;/w&gt;</span><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w17</span>"&gt;</span>Shakespeare<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w18</span>"&gt;</span>unlocked<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w19</span>"&gt;</span>his<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w20</span>"&gt;</span>heart<span class="element">&lt;/w&gt;</span>; <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w21</span>"&gt;</span>the<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w22</span>"&gt;</span>melody<span class="element">&lt;/w&gt;</span><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w23</span>"&gt;</span>Of<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w24</span>"&gt;</span>this<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w25</span>"&gt;</span>small<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w26</span>"&gt;</span>lute<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w27</span>"&gt;</span>gave<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w28</span>"&gt;</span>ease<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w29</span>"&gt;</span>to<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w30</span>"&gt;</span>Petrarch's<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w31</span>"&gt;</span>wound<span class="element">&lt;/w&gt;</span>. <span class="element">&lt;/l&gt;</span><br /><span class="comment">&lt;!-- Elsewhere in the document --&gt;</span><br /><span class="element">&lt;p&gt;</span><br /> <span class="element">&lt;join <span class="attribute">result</span>="<span class="attributevalue">s</span>" <span class="attribute">scope</span>="<span class="attributevalue">root</span>"<br />  <span class="attribute">target</span>="<span class="attributevalue">#w01 #w02 #w03 #w04</span>"/&gt;</span><br /> <span class="element">&lt;join <span class="attribute">result</span>="<span class="attributevalue">s</span>" <span class="attribute">scope</span>="<span class="attributevalue">root</span>"<br />  <span class="attribute">target</span>="<span class="attributevalue">#w05 #w06 #w07 #w08 #w09 #w10 #w11 #w12 #w13</span>"/&gt;</span><br /> <span class="element">&lt;join <span class="attribute">result</span>="<span class="attributevalue">s</span>" <span class="attribute">scope</span>="<span class="attributevalue">root</span>"<br />  <span class="attribute">target</span>="<span class="attributevalue">#w14 #w15 #w16 #w17 #w18 #w19 #w20</span>"/&gt;</span><br /> <span class="element">&lt;join <span class="attribute">result</span>="<span class="attributevalue">s</span>" <span class="attribute">scope</span>="<span class="attributevalue">root</span>"<br />  <span class="attribute">target</span>="<span class="attributevalue">#w21 #w22 #w23 #w24 #w25 #w26 #w27 #w28 #w29 #w30 #w31</span>"/&gt;</span><br /><span class="element">&lt;/p&gt;</span><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div></div><p>This use of <a class="gi" title="identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it." href="ref-join.html">join</a> is TEI-conformant.</p><p>The major advantage of fragmentation and virtual joins is that it allows all the hierarchies in the text to be handled explicitly: both the privileged one directly represented and the alternate hierarchy that has been split up and rejoined. The major disadvantages are that (like most of the other methods described here) it privileges one hierarchy over the others, requires special processing to reconstitute the elements of the other hierarchies, and, except in the case of <a class="gi" title="identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it." href="ref-join.html">join</a>, can be semantically misleading.</p></div><div class="div2" id="NHSO"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="NH.html#NHVE"><span class="headingNumber">20.3 </span>Fragmentation and Reconstitution of Virtual Elements</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="NH.html#NHNX"><span class="headingNumber">20.5 </span>Non-XML-based Approaches</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#NHSO" title="link to this section "><span class="invisible">TEI: Stand-off Markup</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">20.4 </span><span class="head">Stand-off Markup</span></h3><div class="p">Most markup is characterized by the embedding of elements in the text. An alternative approach separates the text and the elements used to describe it. This approach is known as stand-off markup (see section <a class="link_ptr" href="SA.html#SASO" title="Standoff Markup"><span class="headingNumber">16.9 </span>Stand-off Markup</a>). It establishes a new hierarchy by building a new tree whose nodes are XML elements that do not contain textual content, but rather links to another <span class="term">layer</span>: <span class="gloss">a node in another XML document or a span of text</span>. This approach can be subdivided according to different criteria. A first distinction concerns the link base, i.e. the content to which annotations are to be applied. Sometimes the link target contains markup that can be referred to explicitly, as in the following example where the offset markup uses the <span class="att">xml:id</span> values on <a class="gi" title="(word) represents a grammatical (not necessarily orthographic) word." href="ref-w.html">w</a> to provide targets for <span class="gi">&lt;xi:include&gt;</span><span id="Note122_return"><a class="notelink" title="A fake namespace is given for XInclude here, to avoid the markup being interpreted literally during processing." href="#Note122"><sup>85</sup></a></span>: <div id="index-egXML-d52e138535" class="pre egXML_valid"><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w001</span>"&gt;</span>Scorn<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w002</span>"&gt;</span>not<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w003</span>"&gt;</span>the<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w004</span>"&gt;</span>sonnet<span class="element">&lt;/w&gt;</span>; <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w005</span>"&gt;</span>critic<span class="element">&lt;/w&gt;</span>, <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w006</span>"&gt;</span>you<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w007</span>"&gt;</span>have<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w008</span>"&gt;</span>frowned<span class="element">&lt;/w&gt;</span>, <span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w009</span>"&gt;</span>Mindless<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w010</span>"&gt;</span>of<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w011</span>"&gt;</span>its<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w012</span>"&gt;</span>just<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w013</span>"&gt;</span>honours<span class="element">&lt;/w&gt;</span>; <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w014</span>"&gt;</span>with<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w015</span>"&gt;</span>this<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w016</span>"&gt;</span>key<span class="element">&lt;/w&gt;</span><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w017</span>"&gt;</span>Shakespeare<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w018</span>"&gt;</span>unlocked<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w019</span>"&gt;</span>his<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w020</span>"&gt;</span>heart<span class="element">&lt;/w&gt;</span>; <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w021</span>"&gt;</span>the<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w022</span>"&gt;</span>melody<span class="element">&lt;/w&gt;</span><span class="element">&lt;/l&gt;</span><br /><span class="element">&lt;l&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w023</span>"&gt;</span>Of<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w024</span>"&gt;</span>this<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w025</span>"&gt;</span>small<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w026</span>"&gt;</span>lute<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w027</span>"&gt;</span>gave<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w028</span>"&gt;</span>ease<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w029</span>"&gt;</span>to<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w030</span>"&gt;</span>Petrarch's<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">w031</span>"&gt;</span>wound<span class="element">&lt;/w&gt;</span>. <span class="element">&lt;/l&gt;</span><br /><span class="comment">&lt;!-- elsewhere in the current document --&gt;</span><br /> <br /> <br /> &lt;p xmlns:xi="http://www.w3.org/2001/XInclude"&gt;<br /> &lt;seg&gt;<br /> &lt;xi:include xpointer="range(element(w001),element(w004))"/&gt;<br /> &lt;/seg&gt;<br /> &lt;seg&gt;<br /> &lt;xi:include xpointer="range(element(w005),element(w013))"/&gt;<br /> &lt;/seg&gt;<br /> &lt;seg&gt;<br /> &lt;xi:include xpointer="range(element(w014),element(w020))"/&gt;<br /> &lt;/seg&gt;<br /> &lt;seg&gt;<br /> &lt;xi:include xpointer="range(element(w021),element(w031))"/&gt;<br /> &lt;/seg&gt;<br /> &lt;/p&gt;<br /> <br /><div style="float: right;"><a href="BIB.html#NH-eg-01">bibliography</a> </div></div> Note that the layer that uses XInclude to build another hierarchy might well be in another document, in which case the value of <span class="att">href</span> of <span class="gi">&lt;xi:xinclude&gt;</span> would need to be the URL of the document that contains the base layer, in this case the <a class="gi" title="(word) represents a grammatical (not necessarily orthographic) word." href="ref-w.html">w</a> elements.</div><p>This is very similar to the use of <a class="gi" title="identifies a possibly fragmented segment of text, by pointing at the possibly discontiguous elements which compose it." href="ref-join.html">join</a> discussed above. The main advantages of the stand-off method are that it is possible to specify attributes on the aggregate <a class="gi" title="(arbitrary segment) represents any segmentation of text below the ‘chunk’ level." href="ref-seg.html">seg</a> elements, and that there exists off-the-shelf software that will perform appropriate processing. Stand-off markup may be used even when the base text being annotated is plain text, i.e. does not have any XML encoding. In this case, the range of text to be marked up is indicated by character offsets (see <a class="link_ptr" href="SA.html#SATS" title="TEI XPointer Schemes"><span class="headingNumber">16.2.4 </span>TEI XPointer Schemes</a>, in particular <a class="link_ptr" href="SA.html#SATSSR" title="stringrange()"><span class="headingNumber">16.2.4.7 </span>string-range()</a>). Another distinction concerns the number of files which can serve as link targets. Often, one (dedicated) annotation is used as the link target of all the other annotations. It is also possible to freely interlink several layers.</p><p>It has been noted that stand-off markup has several advantages over embedded annotations. In particular, it is possible to produce annotations of a text even when the source document is read-only. Furthermore, annotation files can be distributed without distributing the source text. Further advantages mentioned in the literature are that discontinuous segments of text can be combined in a single annotation, that independent parallel coders can produce independent annotations, and that different annotation files can contain different layers of information. Lastly, it has also been noted that this approach is elegant.</p><p>But there are also several drawbacks. First, new stand-off annotated layers require a separate interpretation, and the layers—although separate—depend on each other. Moreover, although all of the information of the multiple hierarchies is included, the information may be difficult to access using generic methods.</p><p>Inasmuch as it uses elements not included in the TEI namespace, stand-off markup involves an extension of the TEI.</p></div><div class="div2" id="NHNX"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="NH.html#NHSO"><span class="headingNumber">20.4 </span>Stand-off Markup</a></li><li class="subtoc"></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#NHNX" title="link to this section "><span class="invisible">TEI: Non-XML-based Approaches</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">20.5 </span><span class="head">Non-XML-based Approaches</span></h3><p>There exist many non-XML methods of encoding a text that either solve or do not suffer the problem of the inability to encode overlapping hierarchies. These include, but are not limited to, the following proposals.</p><ul class="bulleted"><li class="item">Applying the notion of concurrent markup to XML (<a class="citlink" href="BIB.html#NH-BIBL-2">Hilbert et al. (2005)</a>). This reintroduces the CONCUR feature of SGML, which was omitted from the XML specification.</li><li class="item">Designing a form of document representation in which several trees share all or part of the same frontier, and in which each individual view of the document has the form of a tree (see <a class="citlink" href="BIB.html#NH-BIBL-3">Dekhtyar and Iacob (2005)</a>).</li><li class="item">The ‘colored XML’ proposal (<a class="citlink" href="BIB.html#NH-BIBL-4">Jagadish et al. (2004)</a>), which stores a body of information as a set of intertwined XML trees. This approach eliminates unnecessary redundancy and makes the database readily updatable, while allowing the user to exploit different hierarchical access paths.</li><li class="item">The MultiX proposal (<a class="citlink" href="BIB.html#NH-BIBL-5">Chatti et al. (2007)</a>) , which represents documents as directed graphs. Because XML is used to represent the graph, the document is, at least in principle, manipulable with standard XML tools.</li><li class="item">The Just-In-Time-Trees proposal (<a class="citlink" href="BIB.html#NH-BIBL-6">Durusau and O'Donnell (2002)</a>), which stores documents using XML, but processes the XML representation in non-standard ways and allows it to be mapped onto data structures that are different from those known from XML.</li><li class="item">The <span class="expan">Layered Markup and Annotation Language</span><span class="abbr"> (LMNL)</span> proposal. This offers alternatives to the basic XML linear form as well as its data and processing models. It uses an alternative notation to XML and a data structure based on Core Range Algebra (<a class="citlink" href="BIB.html#NH-BIBL-7">Tennison and Piez (2002)</a>).</li><li class="item"><span class="expan">Markup Languages for Complex Documents</span><span class="abbr"> (MLCD)</span>. This provides a notation (TexMECS) and a data structure (Goddag) as well as a draft constraint language for the representation of non-hierarchical structures; see <a class="citlink" href="BIB.html#NH-BIBL-8">Huitfeldt and Sperberg-McQueen (2001)</a>.</li></ul><p>These approaches are based either on non-standard XML processing or data models, or not based on XML at all. Since TEI is currently based on XML they are not described any further in these Guidelines. Use of these methods with the TEI will certainly involve extensions; in most cases the documents will also be non-conformant.</p></div></div><nav class="left"><span class="upLink"> ↑ </span><a class="navigation" href="index.html">TEI P5 Guidelines</a><span class="previousLink"> « </span><a class="navigation" href="GD.html"><span class="headingNumber">19 </span>Graphs, Networks, and Trees</a><span class="nextLink"> » </span><a class="navigation" href="CE.html"><span class="headingNumber">21 </span>Certainty, Precision, and Responsibility</a></nav><!--Notes in [div]--><div class="notes"><div class="noteHeading">Notes</div><div class="note" id="Note120"><span class="noteLabel">83 </span><div class="noteBody">It has been shown, however, that it is possible to relate the different annotations in an indirect way: if the textual content of the annotations is identical, the very text can serve as a means for linking the different annotations, as described in <a class="link_ptr" href="BIB.html#NH-BIBL-01" title="Andreas Witt Multiple Informationsstrukturierung mit Auszeichnungssprachen. XMLbasierte Methoden und deren Nutzen für die Sprac...">Witt (2002)</a>.</div> <a class="link_return" title="Go back to text" href="#Note120_return">↵</a></div><div class="note" id="Note121"><span class="noteLabel">84 </span><div class="noteBody">Grammar based schema languages (e.g., DTD, W3C Schema, and RELAX NG) are used to define markup languages (e.g., XHTML or TEI). Rule-based schema languages (e.g., Schematron) can be used to define further constraints. Such a rule-based schema language permits a sequence of certain elements between empty elements to be legitimized or prohibited.</div> <a class="link_return" title="Go back to text" href="#Note121_return">↵</a></div><div class="note" id="Note122"><span class="noteLabel">85 </span><div class="noteBody">A fake namespace is given for XInclude here, to avoid the markup being interpreted literally during processing.</div> <a class="link_return" title="Go back to text" href="#Note122_return">↵</a></div></div><div class="stdfooter autogenerated"><p>
    [<a href="../../en/html/NH.html">English</a>]
    [<a href="../../de/html/NH.html">Deutsch</a>]
    [<a href="../../es/html/NH.html">Español</a>]
    [<a href="../../it/html/NH.html">Italiano</a>]
    [<a href="../../fr/html/NH.html">Français</a>]
    [<a href="../../ja/html/NH.html">日本語</a>]
    [<a href="../../ko/html/NH.html">한국어</a>]
    [<a href="../../zh-TW/html/NH.html">中文</a>]
    </p><hr /><div class="footer"><a class="plain" href="http://www.tei-c.org/About/">TEI Consortium</a> | <a class="plain" href="http://www.tei-c.org/About/contact.xml">Feedback</a></div><hr /><address><br />TEI Guidelines <a class="link_ref" href="AB.html#ABTEI4">Version</a> <a class="link_ref" href="../../readme-3.1.1.html">3.1.1a</a>. Last updated on <span class="date">10th May 2017</span>, revision <a class="link_ref" href="https://github.com/TEIC/TEI/commit/bd8dda3">bd8dda3</a>. This page generated on 2017-05-12T12:30:09Z.</address></div></div></body></html>
back to top