It appears to be generally agreed, by those applying computers to problems of humanistic research, that a well-designed markup language is central to the task of representing textual materials in an electronic form adequate to the needs of research. One of the most persistent challenges for the application of SGML to existing texts is finding suitable representations, in SGML's tree-based data model, for textual features which overlap each other. The most persistent complaint of SGML's critics among humanists is that SGML simply cannot handle such overlapping features. In the general form stated, this claim is untrue, but it is fair to say that handling overlap requires some substantial extensions to what is otherwise a rather simple data model.
Overlappingtextual features are an inescapable fact of textual life.
In conclusion, it will describe some possible avenues for future work on overlap and related markup problems. Since elements nest within each other and attributes apply to whole elements, an SGML document has a natural representation as a tree structure whose nodes represent elements and whose leaves represent the characters of the text. Each node is labeled with the generic identifier of its element type, and decorated with a set of attribute-value pairs representing its attributes. Tagging a passage of text as an element of a particular type, and assigning particular values to its attributes, is interpreted, according to this model, as a claim that the passage thus tagged exhibits the textual features associated with those element types and attribute values. To discover the features predicated of any given passage, one need in the common case merely consider only the ancestors of the passage in question, which means a traversal from the leaf to the root, noting all the nodes encountered along the way.