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
FS.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>18 Feature Structures - The TEI Guidelines</title><meta property="Language" content="en" /><meta property="DC.Title" content="18 Feature 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">18 </span>Feature Structures</h2><div class="div1" id="FS"><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="FS.html#FSor" title="Organization of this Chapter">18.1 Organization of this Chapter</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSBI" title="Elementary Feature Structures and the Binary Feature Value">18.2 Elementary Feature Structures and the Binary Feature Value</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSSY" title="Other Atomic Feature Values">18.3 Other Atomic Feature Values</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSFL" title="Feature Libraries and FeatureValue Libraries">18.4 Feature Libraries and Feature-Value Libraries</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSST" title="Feature Structures as Complex Feature Values">18.5 Feature Structures as Complex Feature Values</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSVAR" title="Reentrant Feature Structures">18.6 Re-entrant Feature Structures</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSSS" title="Collections as Complex Feature Values">18.7 Collections as Complex Feature Values</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FVE" title="Feature Value Expressions">18.8 Feature Value Expressions</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSBO" title="Default Values">18.9 Default Values</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSLINK" title="Linking Text and Analysis">18.10 Linking Text and Analysis</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FD" title="26">18.11 Feature System Declaration</a></li><li class="subtoc"><a class="subtoc" href="FS.html#FSDEF" title="Formal Definition and Implementation">18.12 Formal Definition and Implementation</a></li></ul></div><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="AI.html"><span class="headingNumber">17 </span>Simple Analytic Mechanisms</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="GD.html"><span class="headingNumber">19 </span>Graphs, Networks, and Trees</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><p>A <span class="term">feature structure</span> is a general purpose data structure which identifies and groups together individual <span class="term">features</span>, each of which associates a name with one or more values. Because of the generality of feature structures, they can be used to represent many different kinds of information, but they are of particular usefulness in the representation of linguistic analyses, especially where such analyses are partial, or <span class="term">underspecified</span>. Feature structures represent the interrelations among various pieces of information, and their instantiation in markup provides a <span class="term">metalanguage</span> for the generic representation of analyses and interpretations. Moreover, this instantiation allows feature values to be of specific <span class="term">types</span>, and for restrictions to be placed on the values for particular features, by means of <span class="term">feature system declarations</span>.<span id="Note112_return"><a class="notelink" title="The recommendations of this chapter have been adopted as ISO Standard 24610-1 Language Resource Management — Feature Structures — Part One: Feature St…" href="#Note112"><sup>75</sup></a></span></p><div class="div2" id="FSor"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSBI"><span class="headingNumber">18.2 </span>Elementary Feature Structures and the Binary Feature Value</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSor" title="link to this section "><span class="invisible">TEI: Organization of this Chapter</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.1 </span><span class="head">Organization of this Chapter</span></h3><p>This chapter is organized as follows. Following this introduction, section <a class="link_ptr" href="FS.html#FSBI" title="Elementary Feature Structures and the Binary Feature Value"><span class="headingNumber">18.2 </span>Elementary Feature Structures and the Binary Feature Value</a> introduces the elements <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> and <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a>, used to represent feature structures and features respectively, together with the elementary <span class="term">binary</span> feature value. Section <a class="link_ptr" href="FS.html#FSSY" title="Other Atomic Feature Values"><span class="headingNumber">18.3 </span>Other Atomic Feature Values</a> introduces elements for representing other kinds of atomic feature values such as <span class="term">symbolic</span>, <span class="term">numeric</span>, and <span class="term">string</span> values. Section <a class="link_ptr" href="FS.html#FSFL" title="Feature Libraries and FeatureValue Libraries"><span class="headingNumber">18.4 </span>Feature Libraries and Feature-Value Libraries</a> introduces the notion of predefined <span class="term">libraries</span> or groups of features or feature values along with methods for referencing their components. Section <a class="link_ptr" href="FS.html#FSST" title="Feature Structures as Complex Feature Values"><span class="headingNumber">18.5 </span>Feature Structures as Complex Feature Values</a> introduces complex values, in particular feature-structures as values, thus enabling feature structures to be recursively defined. Section <a class="link_ptr" href="FS.html#FSSS" title="Collections as Complex Feature Values"><span class="headingNumber">18.7 </span>Collections as Complex Feature Values</a> discusses other complex values, in particular values which are collections, organized as <span class="term">set</span>s, <span class="term">bag</span>s, and <span class="term">list</span>s. Section <a class="link_ptr" href="FS.html#FVE" title="Feature Value Expressions"><span class="headingNumber">18.8 </span>Feature Value Expressions</a> discusses how the operations of alternation, negation, and collection of feature values may be represented. Section <a class="link_ptr" href="FS.html#FSBO" title="Default Values"><span class="headingNumber">18.9 </span>Default Values</a> discusses ways of representing underspecified, default, or uncertain values. Section <a class="link_ptr" href="FS.html#FSLINK" title="Linking Text and Analysis"><span class="headingNumber">18.10 </span>Linking Text and Analysis</a> discusses how analyses may be linked to other parts of an encoded text. Section <a class="link_ptr" href="FS.html#FD" title="26"><span class="headingNumber">18.11 </span>Feature System Declaration</a> describes the <span class="term">feature system declaration</span>, a construct which provides for the validation of typed feature structures. Formal definitions for all the elements introduced in this chapter are provided in section <a class="link_ptr" href="FS.html#FSDEF" title="Formal Definition and Implementation"><span class="headingNumber">18.12 </span>Formal Definition and Implementation</a>. </p></div><div class="div2" id="FSBI"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSor"><span class="headingNumber">18.1 </span>Organization of this Chapter</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSSY"><span class="headingNumber">18.3 </span>Other Atomic Feature Values</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSBI" title="link to this section "><span class="invisible">TEI: Elementary Feature Structures and the Binary
Feature Value</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.2 </span><span class="head">Elementary Feature Structures and the Binary Feature Value</span></h3><p>The fundamental elements used to represent a feature structure analysis are <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> (for <span class="term">feature</span>), which represents a feature-value pair, and <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> (for <span class="term">feature structure</span>), which represents a structure made up of such feature-value pairs. The <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element has an optional <span class="att">type</span> attribute which may be used to represent typed feature structures, and may contain any number of <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements. An <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> element has a required <span class="att">name</span> attribute and an associated <span class="term">value</span>. The value may be simple: that is, a single binary, numeric, symbolic (i.e. taken from a restricted set of legal values), or string value, or a collection of such values, organized in various ways, for example, as a list; or it may be complex, that is, it may itself be a feature structure, thus providing a degree of recursion. Values may be under-specified or defaulted in various ways. These possibilities are all described in more detail in this and the following sections.</p><p>Feature and feature-value representations (including feature structure representations) may be embedded directly at any point in an XML document, or they may be collected together in special-purpose feature or feature-value <span class="term">libraries</span>. The components of such libraries may then be referenced from other feature or feature-value representations, using the <span class="att">feats</span> or <span class="att">fVal</span> attribute as appropriate.</p><p>We begin by considering the simple case of a feature structure which contains binary-valued features only. The following three XML elements are needed to represent such a feature structure: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-fs.html">fs</a></span> (feature structure) represents a <span class="term">feature structure</span>, that is, a collection of feature-value pairs organized as a structural unit.<table class="specDesc"><tr><td class="Attribute"><span class="att">type</span></td><td>specifies the type of the feature structure.</td></tr><tr><td class="Attribute"><span class="att">feats</span></td><td>(features) references the feature-value specifications making up this feature structure.</td></tr></table></li><li><span class="specList-elementSpec"><a href="ref-f.html">f</a></span> (feature) represents a <span class="term">feature value specification</span>, that is, the association of a name with a value of any of several different types.<table class="specDesc"><tr><td class="Attribute"><span class="att">name</span></td><td>a single word which follows the rules defining a legal XML name (see <a class="link_ptr" href="http://www.w3.org/TR/REC-xml/#dt-name"><span>http://www.w3.org/TR/REC-xml/#dt-name</span></a>), providing a name for the feature.</td></tr><tr><td class="Attribute"><span class="att">fVal</span></td><td>(feature value) references any element which can be used to represent the value of a feature.</td></tr></table></li><li><span class="specList-elementSpec"><a href="ref-binary.html">binary</a></span> (binary value) represents the value part of a feature-value specification which can contain either of exactly two possible values.</li></ul><p> The attributes <span class="att">feats</span> and the <span class="att">fVal</span> are not discussed in this section: they provide an alternative way of indicating the content of an element, as further discussed in section <a class="link_ptr" href="FS.html#FSFL" title="Feature Libraries and FeatureValue Libraries"><span class="headingNumber">18.4 </span>Feature Libraries and Feature-Value Libraries</a>.</p><p>An <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element containing <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements with binary values can be straightforwardly used to encode the <span class="term">matrices</span> of feature-value specifications for phonetic segments, such as the following for the English segment [s]. </p><pre class="pre_eg cdata">+--- ---+ | consonantal + | | vocalic - | | voiced - | | anterior + | | coronal + | | continuant + | | strident + | +--- ---+</pre><div class="p">This representation may be encoded in XML as follows: <div id="index-egXML-d52e128761" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">phonological_segments</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">consonantal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">vocalic</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">voiced</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">anterior</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">coronal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">continuant</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">strident</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div> Note that <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> elements may have an optional <span class="att">type</span> attribute to indicate the kind of feature structure in question, whereas <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements must have a <span class="att">name</span> attribute to indicate the name of the feature. Feature structures need not be typed, but features must be named.   Similarly, the <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element may be empty, but the <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> element must specify its value either directly as content, by means of the <span class="att">fVal</span> attribute, or implicitly by reference to a feature system declaration.</div><p>The restriction of specific features to specific types of values (e.g. the restriction of the feature <span class="mentioned">strident</span> to a binary value) requires additional validation, as does any restriction on the features available within a feature structure of a particular type (e.g. whether a feature structure of type <span class="mentioned">phonological segment</span> necessarily contains a feature <span class="mentioned">voiced</span>). Such validation may be carried out at the document level, using special purpose processing, at the schema level using additional validation rules, or at the declarative level, using an additional mechanism such as the <span class="term">feature-system declaration</span> discussed in <a class="link_ptr" href="FS.html#FD" title="26"><span class="headingNumber">18.11 </span>Feature System Declaration</a>.</p><p>Although we have used the term <span class="term">binary</span> for this kind of value, and its representation in XML uses values such as <code>true</code> and <code>false</code> (or, equivalently, <code>1</code> and <code>0</code>), it should be noted that such values are not restricted to propositional assertions. As this example shows, this kind of value is intended for use with any binary-valued feature.</p></div><div class="div2" id="FSSY"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSBI"><span class="headingNumber">18.2 </span>Elementary Feature Structures and the Binary Feature Value</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSFL"><span class="headingNumber">18.4 </span>Feature Libraries and Feature-Value Libraries</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSSY" title="link to this section "><span class="invisible">TEI: Other Atomic Feature Values</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.3 </span><span class="head">Other Atomic Feature Values</span></h3><p>Features may take other kinds of atomic value. In this section, we define elements which may be used to represent: <span class="term">symbolic values</span>, <span class="term">numeric values</span>, and <span class="term">string values</span>. The module defined by this chapter allows for the specification of additional datatypes if necessary, by extending the underlying class <a class="link_odd" title="group elements used to represent atomic feature values in feature structures." href="ref-model.featureVal.single.html">model.featureVal.single</a>. If this is done, it is recommended that only the basic W3C datatypes should be used; more complex datatyping should be represented as feature structures. </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-symbol.html">symbol</a></span> (symbolic value) represents the value part of a feature-value specification which contains one of a finite list of symbols.<table class="specDesc"><tr><td class="Attribute"><span class="att">value</span></td><td>supplies a symbolic value for the feature, one of a finite list that may be specified in a feature declaration.</td></tr></table></li><li><span class="specList-elementSpec"><a href="ref-numeric.html">numeric</a></span> (numeric value) represents the value part of a feature-value specification which contains a numeric value or range.</li><li><span class="specList-elementSpec"><a href="ref-string.html">string</a></span> (string value) represents the value part of a feature-value specification which contains a string.</li></ul><div class="p">The <a class="gi" title="(symbolic value) represents the value part of a feature-value specification which contains one of a finite list of symbols." href="ref-symbol.html">symbol</a> element is used for the value of a feature when that feature can have any of a small, finite set of possible values, representable as character strings. For example, the following might be used to represent the claim that the Latin noun form <span class="mentioned">mensas</span> (tables) has accusative case, feminine gender, and plural number:<div id="index-egXML-d52e128869" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">case</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">accusative</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">feminine</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">plural</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">More formally, this representation shows a structure in which three features (<span class="term">case</span>, <span class="term">gender</span>, and <span class="term">number</span>) are used to define morpho-syntactic properties of a word. Each of these features can take one of a small number of values (for example, case can be <code>nominative</code>, <code>genitive</code>, <code>dative</code>, <code>accusative</code>, etc.) and it is therefore appropriate to represent the values taken in this instance as <a class="gi" title="(symbolic value) represents the value part of a feature-value specification which contains one of a finite list of symbols." href="ref-symbol.html">symbol</a> elements. Note that, instead of using a symbolic value for grammatical number, one could have named the feature <span class="term">singular</span> or <span class="term">plural</span> and given it an appropriate binary value, as in the following example: <div id="index-egXML-d52e128911" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">case</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">accusative</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">feminine</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">singular</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div> Whether one uses a binary or symbolic value in situations like this is largely a matter of taste.</div><div class="p">The <a class="gi" title="(string value) represents the value part of a feature-value specification which contains a string." href="ref-string.html">string</a> element is used for the value of a feature when that value is a string drawn from a very large or potentially unbounded set of possible strings of characters, so that it would be impractical or impossible to use the <a class="gi" title="(symbolic value) represents the value part of a feature-value specification which contains one of a finite list of symbols." href="ref-symbol.html">symbol</a> element. The string value is expressed as the content of the <a class="gi" title="(string value) represents the value part of a feature-value specification which contains a string." href="ref-string.html">string</a> element, rather than as an attribute value. For example, one might encode a street address as follows: <div id="index-egXML-d52e128931" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">address</span>"&gt;</span><br />  <span class="element">&lt;string&gt;</span>3418 East Third Street<span class="element">&lt;/string&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">The <a class="gi" title="(numeric value) represents the value part of a feature-value specification which contains a numeric value or range." href="ref-numeric.html">numeric</a> element is used when the value of a feature is a numeric value, or a range of such values. For example, one might wish to regard the house number and the street name as different features, using an encoding like the following: <div id="index-egXML-d52e128942" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">houseNumber</span>"&gt;</span><br />  <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">3418</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">streetName</span>"&gt;</span><br />  <span class="element">&lt;string&gt;</span>East Third Street<span class="element">&lt;/string&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">If the numeric value to be represented falls within a specific range (for example an address that spans several numbers), the <span class="att">max</span> attribute may be used to supply an upper limit: <div id="index-egXML-d52e128955" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">houseNumber</span>"&gt;</span><br />  <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">3418</span>" <span class="attribute">max</span>="<span class="attributevalue">3440</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">streetName</span>"&gt;</span><br />  <span class="element">&lt;string&gt;</span>East Third Street<span class="element">&lt;/string&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">It is also possible to specify that the numeric value (or values) represented should (or should not) be truncated. For example, assuming that the daily rainfall in mm is a feature of interest for some address, one might represent this by an encoding like the following: <div id="index-egXML-d52e128965" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">dailyRainFall</span>"&gt;</span><br />  <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">0.0</span>" <span class="attribute">max</span>="<span class="attributevalue">1.3</span>"<br />   <span class="attribute">trunc</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div> This represents any of the infinite number of numeric values falling between 0 and 1.3; by contrast <div id="index-egXML-d52e128970" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">dailyRainFall</span>"&gt;</span><br />  <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">0.0</span>" <span class="attribute">max</span>="<span class="attributevalue">1.3</span>"<br />   <span class="attribute">trunc</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div> represents only two possible values: 0 and 1.</div><div class="p">Some communities of practice, notably those with a strong computer-science bias, prefer to dissociate the information on the value of the given feature from the specification of the data type that this value represents. In such cases, feature values can be provided directly as textual content of <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a>, with the assumption that the data type is specified by the schema. The following is an example taken from ISO 24612, presenting the symbolic values for Active Voice and Simple Present Tense in the untyped form:<div id="index-egXML-d52e128980" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">voice</span>"&gt;</span>active<span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">tense</span>"&gt;</span>SimPre<span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><p>As noted above, additional processing is necessary to ensure that appropriate values are supplied for particular features, for example to ensure that the feature <code>singular</code> is not given a value such as <span class="tag">&lt;symbol value="feminine"/&gt;</span>. There are two ways of attempting to ensure that only certain combinations of feature names and values are used. First, if the total number of legal combinations is relatively small, one can predefine all of them in a construct known as a <span class="term">feature library</span>, and then reference the combination required using the <span class="att">feats</span> attribute in the enclosing <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element, rather than give it explicitly. This method is suitable in the situation described above, since it requires specifying a total of only ten (5 + 3 + 2) combinations of features and values. Similarly, to ensure that only feature structures containing valid combinations of feature values are used, one can put definitions for all valid feature structures inside a <span class="term">feature value library</span> (so called, since a feature structure may be the value of a feature). A total of 30 feature structures (5 × 3 × 2) is required to enumerate all the possible combinations of individual case, gender and number values in the preceding illustration. We discuss the use of such libraries and their representation in XML further in section <a class="link_ptr" href="FS.html#FSFL" title="Feature Libraries and FeatureValue Libraries"><span class="headingNumber">18.4 </span>Feature Libraries and Feature-Value Libraries</a> below.</p><p>However, the most general method of attempting to ensure that only legal combinations of feature names and values are used is to provide a <span class="term">feature-system declaration</span> discussed in <a class="link_ptr" href="FS.html#FD" title="26"><span class="headingNumber">18.11 </span>Feature System Declaration</a>.</p><div class="p">Whether at the level of feature-system declarations, feature- and feature-value libraries, or individual features, it is possible to align both feature names and their values with standardized external data category repositories such as ISOcat. <span id="Note113_return"><a class="notelink" title="See section for more discussion of the need and rationale for ISOcat references." href="#Note113"><sup>76</sup></a></span> In the following example, both the feature <span class="val">part_of_speech</span> and its value <span class="val">#commonNoun</span> are aligned with the respective definitions provided by <a class="link_ref" href="BIB.html#ISO-12620" title="International Organization for StandardizationISO 126202009 Terminology and other language and content resources  Specification...">ISO DCR (Data Category Registry)</a>, as implemented by ISOcat. <div id="index-egXML-d52e129033" class="pre egXML_feasible"><span class="element">&lt;fs&gt;</span><br /><span class="comment">&lt;!--...--&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">part_of_speech</span>"<br />  <span class="attribute">dcr:datcat</span>="<span class="attributevalue">http://www.isocat.org/datcat/DC-1345</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#commonNoun</span>"<br />  <span class="attribute">dcr:valueDatcat</span>="<span class="attributevalue">http://www.isocat.org/datcat/DC-1256</span>"/&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div></div><div class="div2" id="FSFL"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSSY"><span class="headingNumber">18.3 </span>Other Atomic Feature Values</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSST"><span class="headingNumber">18.5 </span>Feature Structures as Complex Feature Values</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSFL" title="link to this section "><span class="invisible">TEI: Feature Libraries and Feature-Value Libraries</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.4 </span><span class="head">Feature Libraries and Feature-Value Libraries</span></h3><p>As the examples in the preceding section suggest, the direct encoding of feature structures can be verbose. Moreover, it is often the case that particular feature-value combinations, or feature structures composed of them, are re-used in different analyses. To reduce the size and complexity of the task of encoding feature structures, one may use the <span class="att">feats</span> attribute of the <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element to point to one or more of the feature-value specifications for that element. This indirect method of encoding feature structures presumes that the <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements are assigned unique <span class="att">xml:id</span> values, and are collected together in <a class="gi" title="(feature library) assembles a library of feature elements." href="ref-fLib.html">fLib</a> elements (<span class="term">feature libraries</span>). In the same way, feature values of whatever type can be collected together in <a class="gi" title="(feature-value library) assembles a library of reusable feature value elements (including complete feature structures)." href="ref-fvLib.html">fvLib</a> elements (<span class="term">feature-value libraries</span>). If a feature has as its value a feature structure or other value which is predefined in this way, the <span class="att">fVal</span> attribute may be used to point to it, as discussed in the next section. The following elements are used for representing feature libraries and feature-value libraries: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-fLib.html">fLib</a></span> (feature library) assembles a library of feature elements.</li><li><span class="specList-elementSpec"><a href="ref-fvLib.html">fvLib</a></span> (feature-value library) assembles a library of reusable feature value elements (including complete feature structures).</li></ul><div class="p">For example, suppose a feature library for phonological feature specifications is set up as follows. <div id="index-egXML-d52e129077" class="pre egXML_valid"><span class="element">&lt;fLib <span class="attribute">n</span>="<span class="attributevalue">phonological features</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">CNS1</span>" <span class="attribute">name</span>="<span class="attributevalue">consonantal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">CNS0</span>" <span class="attribute">name</span>="<span class="attributevalue">consonantal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">VOC1</span>" <span class="attribute">name</span>="<span class="attributevalue">vocalic</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">VOC0</span>" <span class="attribute">name</span>="<span class="attributevalue">vocalic</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">VOI1</span>" <span class="attribute">name</span>="<span class="attributevalue">voiced</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">VOI0</span>" <span class="attribute">name</span>="<span class="attributevalue">voiced</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">ANT1</span>" <span class="attribute">name</span>="<span class="attributevalue">anterior</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">ANT0</span>" <span class="attribute">name</span>="<span class="attributevalue">anterior</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">COR1</span>" <span class="attribute">name</span>="<span class="attributevalue">coronal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">COR0</span>" <span class="attribute">name</span>="<span class="attributevalue">coronal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">CNT1</span>" <span class="attribute">name</span>="<span class="attributevalue">continuant</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">CNT0</span>" <span class="attribute">name</span>="<span class="attributevalue">continuant</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">STR1</span>" <span class="attribute">name</span>="<span class="attributevalue">strident</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">STR0</span>" <span class="attribute">name</span>="<span class="attributevalue">strident</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/fLib&gt;</span></div></div><div class="p">Then the feature structures that represent the analysis of the phonological segments (phonemes) <code>/t/</code>, <code>/d/</code>, <code>/s/</code>, and <code>/z/</code> may be defined as follows. <div id="index-egXML-d52e129124" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">feats</span>="<span class="attributevalue">#CNS1 #VOC0 #VOI0 #ANT1 #COR1 #CNT0 #STR0</span>"/&gt;</span><br /><span class="element">&lt;fs <span class="attribute">feats</span>="<span class="attributevalue">#CNS1 #VOC0 #VOI1 #ANT1 #COR1 #CNT0 #STR0</span>"/&gt;</span><br /><span class="element">&lt;fs <span class="attribute">feats</span>="<span class="attributevalue">#CNS1 #VOC0 #VOI0 #ANT1 #COR1 #CNT1 #STR1</span>"/&gt;</span><br /><span class="element">&lt;fs <span class="attribute">feats</span>="<span class="attributevalue">#CNS1 #VOC0 #VOI1 #ANT1 #COR1 #CNT1 #STR1</span>"/&gt;</span></div></div><div class="p">The preceding are but four of the 128 logically possible fully specified phonological segments using the seven binary features listed in the feature library. Presumably not all combinations of features correspond to phonological segments (there are no strident vowels, for example). The legal combinations, however, can be collected together, each one represented as an identifiable <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element within a <span class="term">feature-value library</span>, as in the following example: <div id="index-egXML-d52e129138" class="pre egXML_valid"><span class="element">&lt;fvLib <span class="attribute">xml:id</span>="<span class="attributevalue">fsl1</span>"<br /> <span class="attribute">n</span>="<span class="attributevalue">phonological segment definitions</span>"&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">T.DF</span>"<br />  <span class="attribute">feats</span>="<span class="attributevalue">#CNS1 #VOC0 #VOI0 #ANT1 #COR1 #CNT0 #STR0</span>"/&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">D.DF</span>"<br />  <span class="attribute">feats</span>="<span class="attributevalue">#CNS1 #VOC0 #VOI1 #ANT1 #COR1 #CNT0 #STR0</span>"/&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">S.DF</span>"<br />  <span class="attribute">feats</span>="<span class="attributevalue">#CNS1 #VOC0 #VOI0 #ANT1 #COR1 #CNT1 #STR1</span>"/&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">Z.DF</span>"<br />  <span class="attribute">feats</span>="<span class="attributevalue">#CNS1 #VOC0 #VOI1 #ANT1 #COR1 #CNT1 #STR1</span>"/&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/fvLib&gt;</span></div></div><div class="p">Once defined, these feature structure values can also be reused. Other <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements may invoke them by reference, using the <span class="att">fVal</span> attribute; for example, one might use them in a feature value pair such as: <div id="index-egXML-d52e129155" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">dental-fricative</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#T.DF</span>"/&gt;</span></div> rather than expanding the hierarchy of the component phonological features explicitly.</div><p>Feature structures stored in this way may also be associated with the text which they are intended to annotate, either by a link from the text (for example, using the TEI global <span class="att">ana</span> attribute), or by means of stand-off annotation techniques (for example, using the TEI <a class="gi" title="defines an association or hypertextual link among elements or passages, of some type not more precisely specifiable by other elements." href="ref-link.html">link</a> element): see further section <a class="link_ptr" href="FS.html#FSLINK" title="Linking Text and Analysis"><span class="headingNumber">18.10 </span>Linking Text and Analysis</a> below.</p><p>Note that when features or feature structures are linked to in this way, the result is effectively a copy of the item linked to into the place from which it is linked. This form of linking should be distinguished from the phenomenon of <span class="term">structure-sharing</span>, where it is desired to indicate that some part of an annotation structure appears simultaneously in two or more places within the structure. This kind of annotation should be represented using the <a class="gi" title="(value label) represents the value part of a feature-value specification which appears at more than one point in a feature structure." href="ref-vLabel.html">vLabel</a> element, as discussed in <a class="link_ptr" href="FS.html#FSVAR" title="Reentrant Feature Structures"><span class="headingNumber">18.6 </span>Re-entrant Feature Structures</a> below.</p></div><div class="div2" id="FSST"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSFL"><span class="headingNumber">18.4 </span>Feature Libraries and Feature-Value Libraries</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSVAR"><span class="headingNumber">18.6 </span>Re-entrant Feature Structures</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSST" title="link to this section "><span class="invisible">TEI: Feature Structures as Complex Feature Values</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.5 </span><span class="head">Feature Structures as Complex Feature Values</span></h3><p>Features may have complex values as well as atomic ones; the simplest such complex value is represented by supplying a <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element as the content of an <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> element, or (equivalently) by supplying the identifier of an <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element as the value for the <span class="att">fVal</span> attribute on the <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> element. Structures may be nested as deeply as appropriate, using this mechanism. For example, an <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element may contain or point to an <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> element, which may contain or point to an <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element, which may contain or point to an <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> element, and so on.</p><div class="p">To illustrate the use of complex values, consider the following simple model of a word, as a structure combining surface form information, a syntactic category, and semantic information. Each word analysis is represented as a <span class="tag">&lt;fs type='word'&gt;</span> element, containing three features named <code>surface</code>, <code>syntax</code>, and <code>semantics</code>. The first of these has an atomic string value, but the other two have complex values, represented as nested feature structures of types <code>category</code> and <code>act</code> respectively: <div id="index-egXML-d52e129232" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">word</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">surface</span>"&gt;</span><br />  <span class="element">&lt;string&gt;</span>love<span class="element">&lt;/string&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">syntax</span>"&gt;</span><br />  <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">category</span>"&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">pos</span>"&gt;</span><br />    <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">verb</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">val</span>"&gt;</span><br />    <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">transitive</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">semantics</span>"&gt;</span><br />  <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">act</span>"&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">rel</span>"&gt;</span><br />    <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">LOVE</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">This analysis does not tell us much about the meaning of the symbols <code>verb</code> or <code>transitive</code>. It might be preferable to replace these atomic feature values by feature structures. Suppose therefore that we maintain a feature-value library for each of the major syntactic categories (N, V, ADJ, PREP): <div id="index-egXML-d52e129255" class="pre egXML_valid"><span class="element">&lt;fvLib <span class="attribute">n</span>="<span class="attributevalue">Major category definitions</span>"&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">N</span>" <span class="attribute">type</span>="<span class="attributevalue">noun</span>"&gt;</span><br /><span class="comment">&lt;!--  noun features defined here --&gt;</span><br /> <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">V</span>" <span class="attribute">type</span>="<span class="attributevalue">verb</span>"&gt;</span><br /><span class="comment">&lt;!-- verb features defined here --&gt;</span><br /> <span class="element">&lt;/fs&gt;</span><br /><span class="element">&lt;/fvLib&gt;</span></div></div><div class="p">This library allows us to use shortcut codes (<code>N</code>, <code>V</code>, etc.) to reference a complete definition for the corresponding feature structure. Each definition may be explicitly contained within the <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element, as a number of <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements. Alternatively, the relevant features may be referenced by their identifiers, supplied as the value of the <span class="att">feats</span> attribute, as in these examples: <div id="index-egXML-d52e129281" class="pre cdata egXML_valid">&lt;!-- ... --&gt;
&lt;fs xml:id="ADJ" type="adjective" feats="#F1 #F2"/&gt;
&lt;fs xml:id="PREP" type="preposition" feats="#F1 #F3"/&gt;
&lt;!-- ... --&gt;
</div></div><div class="p">This ability to re-use feature definitions within multiple feature structure definitions is an essential simplification in any realistic example. In this case, we assume the existence of a feature library containing specifications for the basic feature categories like the following: <div id="index-egXML-d52e129286" class="pre egXML_valid"><span class="element">&lt;fLib <span class="attribute">n</span>="<span class="attributevalue">categorial features</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">NN-1</span>" <span class="attribute">name</span>="<span class="attributevalue">nominal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">NN-0</span>" <span class="attribute">name</span>="<span class="attributevalue">nominal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">VV-1</span>" <span class="attribute">name</span>="<span class="attributevalue">verbal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">VV-0</span>" <span class="attribute">name</span>="<span class="attributevalue">verbal</span>"&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/fLib&gt;</span></div></div><div class="p">With such libraries in place, and assuming the availability of similarly predefined feature structures for transitivity and semantics, the preceding example could be considerably simplified: <div id="index-egXML-d52e129300" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">word</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">surface</span>"&gt;</span><br />  <span class="element">&lt;string&gt;</span>love<span class="element">&lt;/string&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">syntax</span>"&gt;</span><br />  <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">category</span>"&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">pos</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#V</span>"/&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">val</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#TRNS</span>"/&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">semantics</span>"&gt;</span><br />  <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">act</span>"&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">rel</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#LOVE</span>"/&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><p>Although in principle the <span class="att">fVal</span> attribute could point to any kind of feature value, its use is not recommended for simple atomic values.</p></div><div class="div2" id="FSVAR"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSST"><span class="headingNumber">18.5 </span>Feature Structures as Complex Feature Values</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSSS"><span class="headingNumber">18.7 </span>Collections as Complex Feature Values</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSVAR" title="link to this section "><span class="invisible">TEI: Re-entrant Feature Structures</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.6 </span><span class="head">Re-entrant Feature Structures</span></h3><p>Sometimes the same feature value is required at multiple places within a feature structure, in particular where the value is only partially specified at one or more places. The <a class="gi" title="(value label) represents the value part of a feature-value specification which appears at more than one point in a feature structure." href="ref-vLabel.html">vLabel</a> element is provided as a means of labelling each such re-entrancy point: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-vLabel.html">vLabel</a></span> (value label) represents the value part of a feature-value specification which appears at more than one point in a feature structure.</li></ul><div class="p">For example, suppose one wishes to represent noun-verb agreement as a single feature structure. Within the representation, the feature indicating (say) number appears more than once. To represent the fact that each occurrence is another appearance of the same feature (rather than a copy) one could use an encoding like the following: <div id="index-egXML-d52e129330" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">NVA</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">nominal</span>"&gt;</span><br />  <span class="element">&lt;fs&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">nm-num</span>"&gt;</span><br />    <span class="element">&lt;vLabel <span class="attribute">name</span>="<span class="attributevalue">L1</span>"&gt;</span><br />     <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">singular</span>"/&gt;</span><br />    <span class="element">&lt;/vLabel&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br /><span class="comment">&lt;!-- other nominal features --&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">verbal</span>"&gt;</span><br />  <span class="element">&lt;fs&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">vb-num</span>"&gt;</span><br />    <span class="element">&lt;vLabel <span class="attribute">name</span>="<span class="attributevalue">L1</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br /><span class="comment">&lt;!-- other verbal features --&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><p>In the above encoding, the features named <code>vb-num</code> and <code>nm-num</code> exhibit structure sharing. Their values, given as <code>vLabel</code> elements, are understood to be references to the same point in the feature structure, which is labelled by their <span class="att">name</span> attribute.</p><div class="p">The scope of the names used to label re-entrancy points is that of the outermost <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element in which they appear. When a feature structure is imported from a feature value library, or referenced from elsewhere (for example by using the <span class="att">fVal</span> attribute) the names of any sharing points it may contain are implicitly prefixed by the identifier used for the imported feature structure, to avoid name clashes. Thus, if some other feature structure were to reference the <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element given in the example above, for example in this way: <div id="index-egXML-d52e129369" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">class</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#NVA</span>"/&gt;</span></div> then the labelled points in the example would be interpreted as if they had the name <code>NVAL1</code>.</div></div><div class="div2" id="FSSS"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSVAR"><span class="headingNumber">18.6 </span>Re-entrant Feature Structures</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FVE"><span class="headingNumber">18.8 </span>Feature Value Expressions</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSSS" title="link to this section "><span class="invisible">TEI: Collections as Complex Feature Values</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.7 </span><span class="head">Collections as Complex Feature Values</span></h3><p>Complex feature values need not always be represented as feature structures. Multiple values may also be organized as sets, bags or multisets, or lists of atomic values of any type. The <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element is provided to represent such cases: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-vColl.html">vColl</a></span> (collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list.</li></ul><p>A feature whose value is regarded as a set, bag, or list may have any positive number of values as its content, or none at all, (thus allowing for representation of the empty set, bag, or list). The items in a list are ordered, and need not be distinct. The items in a set are not ordered, and must be distinct. The items in a bag are neither ordered nor distinct. Sets and bags are thus distinguished from lists in that the order in which the values are specified does not matter for the former, but does matter for the latter, while sets are distinguished from bags and lists in that repetitions of values do not count for the former but do count for the latter. </p><p>If no value is specified for the <span class="att">org</span> attribute, the assumption is that the <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> defines a list of values. If the <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element is empty, the assumption is that it represents the null list, set, or bag. </p><div class="p">To illustrate the use of the <span class="att">org</span> attribute, suppose that a feature structure analysis is used to represent a genealogical tree, with the information about each individual treated as a single feature structure, like this: <div id="index-egXML-d52e129405" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">p027</span>" <span class="attribute">type</span>="<span class="attributevalue">person</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">forenames</span>"&gt;</span><br />  <span class="element">&lt;vColl&gt;</span><br />   <span class="element">&lt;string&gt;</span>Daniel<span class="element">&lt;/string&gt;</span><br />   <span class="element">&lt;string&gt;</span>Edouard<span class="element">&lt;/string&gt;</span><br />  <span class="element">&lt;/vColl&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">mother</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#p002</span>"/&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">father</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#p009</span>"/&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">birthDate</span>"&gt;</span><br />  <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">date</span>" <span class="attribute">feats</span>="<span class="attributevalue">#y1988 #m04 #d17</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">birthPlace</span>" <span class="attribute">fVal</span>="<span class="attributevalue">#austintx</span>"/&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">siblings</span>"&gt;</span><br />  <span class="element">&lt;vColl <span class="attribute">org</span>="<span class="attributevalue">set</span>"&gt;</span><br />   <span class="element">&lt;fs <span class="attribute">copyOf</span>="<span class="attributevalue">#pnb005</span>"/&gt;</span><br />   <span class="element">&lt;fs <span class="attribute">copyOf</span>="<span class="attributevalue">#prb001</span>"/&gt;</span><br />  <span class="element">&lt;/vColl&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><p>In this example, the <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element is first used to supply a list of ‘name’ feature values, which together constitute the ‘forenames’ feature. Other features are defined by reference to values which we assume are held in some external feature value library (not shown here). For example, the <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element is used a second time to indicate that the persons's siblings should be regarded as constituting a set rather than a list. Each sibling is represented by a feature structure: in this example, each feature structure is a copy of one specified in the feature value library.</p><div class="p">If a specific feature contains only a single feature structure as its value, the component features of which are organized as a set, bag, or list, it may be more convenient to represent the value as a <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> rather than as a <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a>. For example, consider the following encoding of the English verb form <span class="mentioned">sinks</span>, which contains an <span class="mentioned">agreement</span> feature whose value is a feature structure which contains <span class="mentioned">person</span> and <span class="mentioned">number</span> features with symbolic values. <div id="index-egXML-d52e129458" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">word</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">category</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">verb</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">tense</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">present</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">agreement</span>"&gt;</span><br />  <span class="element">&lt;fs&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">person</span>"&gt;</span><br />    <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">third</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number</span>"&gt;</span><br />    <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">singular</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">If the names of the features contained within the <span class="mentioned">agreement</span> feature structure are of no particular significance, the following simpler representation may be used: <div id="index-egXML-d52e129476" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">word</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">category</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">verb</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">tense</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">present</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">agreement</span>"&gt;</span><br />  <span class="element">&lt;vColl <span class="attribute">org</span>="<span class="attributevalue">set</span>"&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">third</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">singular</span>"/&gt;</span><br />  <span class="element">&lt;/vColl&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">The <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element is also useful in cases where an analysis has several components. In the following example, the French word <span class="mentioned">auxquels</span> has a two-part analysis, represented as a list of two values. The first specifies that the word contains a preposition; the second that it contains a masculine plural relative pronoun: <div id="index-egXML-d52e129495" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">lex</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">auxquels</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">maf</span>"&gt;</span><br />  <span class="element">&lt;vColl <span class="attribute">org</span>="<span class="attributevalue">list</span>"&gt;</span><br />   <span class="element">&lt;fs&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">cat</span>"&gt;</span><br />     <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">prep</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />   <span class="element">&lt;/fs&gt;</span><br />   <span class="element">&lt;fs&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">cat</span>"&gt;</span><br />     <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">pronoun</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">kind</span>"&gt;</span><br />     <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">rel</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">num</span>"&gt;</span><br />     <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">pl</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"&gt;</span><br />     <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">masc</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />   <span class="element">&lt;/fs&gt;</span><br />  <span class="element">&lt;/vColl&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><p>The set, bag, or list which has no members is known as the null (or empty) set, bag, or list. A <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element with no content and with no value for its <span class="att">feats</span> attribute is interpreted as referring to the null set, bag, or list, depending on the value of its <span class="att">org</span> attribute.</p><div class="p">If, for example, the individual described by the feature structure with identifier <code>p027</code> (above) had no siblings, we might specify the <span class="mentioned">siblings</span> feature as follows. <div id="index-egXML-d52e129533" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">siblings</span>"&gt;</span><br /> <span class="element">&lt;vColl <span class="attribute">org</span>="<span class="attributevalue">set</span>"/&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div><p>A <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element may also collect together one or more other <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> elements, if, for example one of the members of a set is itself a set, or if two lists are concatenated together. Note that such collections pay no attention to the contents of the nested <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> elements: if it is desired to produce the union of two sets, the <a class="gi" title="(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." href="ref-vMerge.html">vMerge</a> element discussed below should be used to make a new collection from the two sets.</p></div><div class="div2" id="FVE"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSSS"><span class="headingNumber">18.7 </span>Collections as Complex Feature Values</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSBO"><span class="headingNumber">18.9 </span>Default Values</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FVE" title="link to this section "><span class="invisible">TEI: Feature Value Expressions</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.8 </span><span class="head">Feature Value Expressions</span></h3><p>It is sometimes desirable to express the value of a feature as the result of an operation over some other value (for example, as ‘not green’, or as ‘male or female’, or as the concatenation of two collections). Three special purpose elements are provided to represent disjunctive alternation, negation, and collection of values: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-vAlt.html">vAlt</a></span> (value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid.</li><li><span class="specList-elementSpec"><a href="ref-vNot.html">vNot</a></span> (value negation) represents a feature value which is the negation of its content.</li><li><span class="specList-elementSpec"><a href="ref-vMerge.html">vMerge</a></span> (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 <span class="att">org</span> attribute.</li></ul><div class="div3" id="FVALT"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FVNOT"><span class="headingNumber">18.8.2 </span>Negation</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h4><span class="bookmarklink"><a class="bookmarklink" href="#FVALT" title="link to this section "><span class="invisible">TEI: Alternation</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.8.1 </span><span class="head">Alternation</span></h4><div class="p">The <a class="gi" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a> element can be used wherever a feature value can appear. It contains two or more feature values, any one of which is to be understood as the value required. Suppose, for example, that we are using a feature system to describe residential property, using such features as <span class="mentioned">number.of.bathrooms</span>. In a particular case, we might wish to represent uncertainty as to whether a house has two or three bathrooms. As we have already shown, one simple way to represent this would be with a numeric maximum: <div id="index-egXML-d52e129579" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bathrooms</span>"&gt;</span><br /> <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>" <span class="attribute">max</span>="<span class="attributevalue">3</span>"/&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div><div class="p">A more general way would be to represent the alternation explicitly, in this way: <div id="index-egXML-d52e129585" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bathrooms</span>"&gt;</span><br /> <span class="element">&lt;vAlt&gt;</span><br />  <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br />  <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">3</span>"/&gt;</span><br /> <span class="element">&lt;/vAlt&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div><div class="p">The <a class="gi" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a> element represents alternation over feature values, not feature-value pairs. If therefore the uncertainty relates to two or more feature value specifications, each must be represented as a feature structure, since a feature structure can always appear where a value is required. For example, suppose that it is uncertain as to whether the house being described has two bathrooms or two bedrooms, a structure like the following may be used: <div id="index-egXML-d52e129596" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">rooms</span>"&gt;</span><br /> <span class="element">&lt;vAlt&gt;</span><br />  <span class="element">&lt;fs&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bathrooms</span>"&gt;</span><br />    <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br />  <span class="element">&lt;fs&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bedrooms</span>"&gt;</span><br />    <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;/vAlt&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div><div class="p">Note that alternation is always regarded as <span class="term">exclusive</span>: in the case above, the implication is that having two bathrooms excludes the possibility of having two bedrooms and vice versa. If inclusive alternation is required, a <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element may be included in the alternation as follows: <div id="index-egXML-d52e129614" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">rooms</span>"&gt;</span><br /> <span class="element">&lt;vAlt&gt;</span><br />  <span class="element">&lt;fs&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bathrooms</span>"&gt;</span><br />    <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br />  <span class="element">&lt;fs&gt;</span><br />   <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bedrooms</span>"&gt;</span><br />    <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br />   <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;/fs&gt;</span><br />  <span class="element">&lt;vColl&gt;</span><br />   <span class="element">&lt;fs&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bathrooms</span>"&gt;</span><br />     <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />   <span class="element">&lt;/fs&gt;</span><br />   <span class="element">&lt;fs&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bedrooms</span>"&gt;</span><br />     <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />   <span class="element">&lt;/fs&gt;</span><br />  <span class="element">&lt;/vColl&gt;</span><br /> <span class="element">&lt;/vAlt&gt;</span><br /><span class="element">&lt;/f&gt;</span></div> This analysis indicates that the property may have two bathrooms, two bedrooms, or both two bathrooms and two bedrooms.</div><div class="p">As the previous example shows, the <a class="gi" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a> element can also be used to indicate alternations among values of features organized as sets, bags or lists. Suppose we use a feature <code>selling.points</code> to describe items that are mentioned to enhance a property's sales value, such as whether it has a pool or a good view. Now suppose for a particular listing, the selling points include an alarm system and a good view, and either a pool or a jacuzzi (but not both). This situation could be represented, using the <a class="gi" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a> element, as follows. <div id="index-egXML-d52e129642" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">real_estate_listing</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">selling.points</span>"&gt;</span><br />  <span class="element">&lt;vColl <span class="attribute">org</span>="<span class="attributevalue">set</span>"&gt;</span><br />   <span class="element">&lt;string&gt;</span>alarm system<span class="element">&lt;/string&gt;</span><br />   <span class="element">&lt;string&gt;</span>good view<span class="element">&lt;/string&gt;</span><br />   <span class="element">&lt;vAlt&gt;</span><br />    <span class="element">&lt;string&gt;</span>pool<span class="element">&lt;/string&gt;</span><br />    <span class="element">&lt;string&gt;</span>jacuzzi<span class="element">&lt;/string&gt;</span><br />   <span class="element">&lt;/vAlt&gt;</span><br />  <span class="element">&lt;/vColl&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">Now suppose the situation is like the preceding except that one is also uncertain whether the property has an alarm system or a good view. This can be represented as follows. <div id="index-egXML-d52e129658" class="pre egXML_valid"><span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">real_estate_listing</span>"&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">selling.points</span>"&gt;</span><br />  <span class="element">&lt;vColl <span class="attribute">org</span>="<span class="attributevalue">set</span>"&gt;</span><br />   <span class="element">&lt;vAlt&gt;</span><br />    <span class="element">&lt;string&gt;</span>alarm system<span class="element">&lt;/string&gt;</span><br />    <span class="element">&lt;string&gt;</span>good view<span class="element">&lt;/string&gt;</span><br />   <span class="element">&lt;/vAlt&gt;</span><br />   <span class="element">&lt;vAlt&gt;</span><br />    <span class="element">&lt;string&gt;</span>pool<span class="element">&lt;/string&gt;</span><br />    <span class="element">&lt;string&gt;</span>jacuzzi<span class="element">&lt;/string&gt;</span><br />   <span class="element">&lt;/vAlt&gt;</span><br />  <span class="element">&lt;/vColl&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><p>If a large number of ambiguities or uncertainties need to be represented, involving a relatively small number of features and values, it is recommended that a stand-off technique, for example using the general-purpose <a class="gi" title="(alternation) identifies an alternation or a set of choices among elements or passages." href="ref-alt.html">alt</a> element discussed in section <a class="link_ptr" href="SA.html#SAAT" title="Alternation"><span class="headingNumber">16.8 </span>Alternation</a>  be used, rather than the special-purpose <a class="gi" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a> element.</p></div><div class="div3" id="FVNOT"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FVALT"><span class="headingNumber">18.8.1 </span>Alternation</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FVCOLL"><span class="headingNumber">18.8.3 </span>Collection of Values</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h4><span class="bookmarklink"><a class="bookmarklink" href="#FVNOT" title="link to this section "><span class="invisible">TEI: Negation</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.8.2 </span><span class="head">Negation</span></h4><div class="p">The <a class="gi" title="(value negation) represents a feature value which is the negation of its content." href="ref-vNot.html">vNot</a> element can be used wherever a feature value can appear. It contains any feature value and returns the complement of its contents. For example, the feature <span class="mentioned">number.of.bathrooms</span> in the following example has any whole numeric value other than 2: <div id="index-egXML-d52e129696" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">number.of.bathrooms</span>"&gt;</span><br /> <span class="element">&lt;vNot&gt;</span><br />  <span class="element">&lt;numeric <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br /> <span class="element">&lt;/vNot&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div><div class="p">Strictly speaking, the effect of the <a class="gi" title="(value negation) represents a feature value which is the negation of its content." href="ref-vNot.html">vNot</a> element is to provide the complement of the feature values it contains, rather than their negation. If a feature system declaration is available which defines the possible values for the associated feature, then it is possible to say more about the negated value. For example, suppose that the available values for the feature <code>case</code> are declared to be nominative, genitive, dative, or accusative, whether in a TEI feature system declaration or by some other means. Then the following two specifications are equivalent: <div id="index-egXML-d52e129709" class="pre egXML_valid"> (i) <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">case</span>"&gt;</span><br /> <span class="element">&lt;vNot&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">genitive</span>"/&gt;</span><br /> <span class="element">&lt;/vNot&gt;</span><br /><span class="element">&lt;/f&gt;</span><br /> (ii) <br /><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">case</span>"&gt;</span><br /> <span class="element">&lt;vAlt&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">nominative</span>"/&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">dative</span>"/&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">accusative</span>"/&gt;</span><br /> <span class="element">&lt;/vAlt&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div><p>If however no such system declaration is available, all that one can say about a feature specified via negation is that its value is something other than the negated value. </p><p>Negation is always applied to a feature value, rather than to a feature-value pair. The negation of an atomic value is the set of all other values which are possible for the feature. </p><p>Any kind of value can be negated, including collections (represented by a <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> elements) or feature structures (represented by <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> elements). The negation of any complex value is understood to be the set of values which cannot be unified with it. Thus, for example, the negation of the feature structure F is understood to be the set of feature structures which are not unifiable with F. In the absence of a constraint mechanism such as the Feature System Declaration, the negation of a collection is anything that is not unifiable with it, including collections of different types and atomic values. It will generally be more useful to require that the organization of the negated value be the same as that of the original value, for example that a negated set is understood to mean the set which is a complement of the set, but such a requirement cannot be enforced in the absence of a constraint mechanism.</p></div><div class="div3" id="FVCOLL"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FVNOT"><span class="headingNumber">18.8.2 </span>Negation</a></li><li class="subtoc"></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h4><span class="bookmarklink"><a class="bookmarklink" href="#FVCOLL" title="link to this section "><span class="invisible">TEI: Collection of Values</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.8.3 </span><span class="head">Collection of Values</span></h4><p>The <a class="gi" title="(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." href="ref-vMerge.html">vMerge</a> element can be used wherever a feature value can appear. It contains two or more feature values, all of which are to be collected together. The organization of the resulting collection is specified by the value of the <span class="att">org</span> attribute, which need not necessarily be the same as that of its constituent values if these are collections. For example, one can change a list to a set, or vice versa.</p><div class="p">As an example, suppose that we wish to represent the range of possible values for a feature ‘genders’ used to describe some language. It would be natural to represent the possible values as a set, using the <a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> element as in the following example: <div id="index-egXML-d52e129752" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">genders</span>"&gt;</span><br />  <span class="element">&lt;vColl <span class="attribute">org</span>="<span class="attributevalue">set</span>"&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">masculine</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">feminine</span>"/&gt;</span><br />  <span class="element">&lt;/vColl&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div><div class="p">Suppose however that we discover for some language it is necessary to add a new possible value, and to treat the value of the feature as a list rather than as a set. The <a class="gi" title="(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." href="ref-vMerge.html">vMerge</a> element can be used to achieve this: <div id="index-egXML-d52e129764" class="pre egXML_valid"><span class="element">&lt;fs&gt;</span><br /> <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">genders</span>"&gt;</span><br />  <span class="element">&lt;vMerge <span class="attribute">org</span>="<span class="attributevalue">list</span>"&gt;</span><br />   <span class="element">&lt;vColl <span class="attribute">org</span>="<span class="attributevalue">set</span>"&gt;</span><br />    <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">masculine</span>"/&gt;</span><br />    <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">feminine</span>"/&gt;</span><br />   <span class="element">&lt;/vColl&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">neuter</span>"/&gt;</span><br />  <span class="element">&lt;/vMerge&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="element">&lt;/fs&gt;</span></div></div></div></div><div class="div2" id="FSBO"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FVE"><span class="headingNumber">18.8 </span>Feature Value Expressions</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSLINK"><span class="headingNumber">18.10 </span>Linking Text and Analysis</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSBO" title="link to this section "><span class="invisible">TEI: Default Values</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.9 </span><span class="head">Default Values</span></h3><p>The value of a feature may be underspecified in a number of different ways. It may be null, unknown, or uncertain with respect to a range of known possibilities, as well as being defined as a negation or an alternation. As previously noted, the specification of the range of known possibilities for a given feature is not part of the current specification: in the TEI scheme, this information is conveyed by the <span class="term">feature system declaration</span>. Using this, or some other system, we might specify (for example) that the range of values for an element includes symbols for masculine, feminine, and neuter, and that the default value is neuter. With such definitions available to us, it becomes possible to say that some feature takes the default value, or some unspecified value from the list. The following special element is provided for this purpose: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-default.html">default</a></span> (default feature value) represents the value part of a feature-value specification which contains a defaulted value.</li></ul><div class="p">The value of an empty <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> element which also lacks a <span class="att">fVal</span> attribute is understood to be the most general case, i.e. any of the available values. Thus, assuming the feature system defined above, the following two representations are equivalent. <div id="index-egXML-d52e129794" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"/&gt;</span><br /><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"&gt;</span><br /> <span class="element">&lt;vAlt&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">feminine</span>"/&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">masculine</span>"/&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">neuter</span>"/&gt;</span><br /> <span class="element">&lt;/vAlt&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div><div class="p">If, however, the value is explicitly stated to be the default one, using the <a class="gi" title="(default feature value) represents the value part of a feature-value specification which contains a defaulted value." href="ref-default.html">default</a> element, then the following two representations are equivalent: <div id="index-egXML-d52e129807" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"&gt;</span><br /> <span class="element">&lt;default/&gt;</span><br /><span class="element">&lt;/f&gt;</span></div> <div id="index-egXML-d52e129811" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"&gt;</span><br /> <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">neuter</span>"/&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div><div class="p">Similarly, if the value is stated to be the negation of the default, then the following two representations are equivalent: <div id="index-egXML-d52e129817" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"&gt;</span><br /> <span class="element">&lt;vNot&gt;</span><br />  <span class="element">&lt;default/&gt;</span><br /> <span class="element">&lt;/vNot&gt;</span><br /><span class="element">&lt;/f&gt;</span></div> <div id="index-egXML-d52e129822" class="pre egXML_valid"><span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">gender</span>"&gt;</span><br /> <span class="element">&lt;vAlt&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">feminine</span>"/&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">masculine</span>"/&gt;</span><br /> <span class="element">&lt;/vAlt&gt;</span><br /><span class="element">&lt;/f&gt;</span></div></div></div><div class="div2" id="FSLINK"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSBO"><span class="headingNumber">18.9 </span>Default Values</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FD"><span class="headingNumber">18.11 </span>Feature System Declaration</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FSLINK" title="link to this section "><span class="invisible">TEI: Linking Text and Analysis</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.10 </span><span class="head">Linking Text and Analysis</span></h3><div class="p">Text elements can be linked with feature structures using any of the linking methods discussed elsewhere in these Guidelines (see for example sections <a class="link_ptr" href="AI.html#AIATTS" title="Global Attributes for Simple Analyses"><span class="headingNumber">17.2 </span>Global Attributes for Simple Analyses</a> and <a class="link_ptr" href="AI.html#AILA" title="Linguistic Annotation"><span class="headingNumber">17.4 </span>Linguistic Annotation</a>). In the simplest case, the <span class="att">ana</span> attribute may be used to point from any element to an annotation of it, as in the following example: <div id="index-egXML-d52e129842" class="pre egXML_valid"><span class="element">&lt;s <span class="attribute">n</span>="<span class="attributevalue">00741</span>"&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#at0</span>"&gt;</span>The<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#ajs</span>"&gt;</span>closest<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#pnp</span>"&gt;</span>he<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#vvd</span>"&gt;</span>came<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#prp</span>"&gt;</span>to<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#nn1</span>"&gt;</span>exercise<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#vbd</span>"&gt;</span>was<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#to0</span>"&gt;</span>to<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#vvi</span>"&gt;</span>open<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#crd</span>"&gt;</span>one<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#nn1</span>"&gt;</span>eye<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;phr <span class="attribute">ana</span>="<span class="attributevalue">#av0</span>"&gt;</span><br />  <span class="element">&lt;w&gt;</span>every<span class="element">&lt;/w&gt;</span><br />  <span class="element">&lt;w&gt;</span>so<span class="element">&lt;/w&gt;</span><br />  <span class="element">&lt;w&gt;</span>often<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;/phr&gt;</span><br /> <span class="element">&lt;c <span class="attribute">ana</span>="<span class="attributevalue">#pun</span>"&gt;</span>,<span class="element">&lt;/c&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#cjs</span>"&gt;</span>if<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#pni</span>"&gt;</span>someone<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#vvd</span>"&gt;</span>entered<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#at0</span>"&gt;</span>the<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">ana</span>="<span class="attributevalue">#nn1</span>"&gt;</span>room<span class="element">&lt;/w&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/s&gt;</span></div></div><div class="p">The values specified for the <span class="att">ana</span> attribute reference components of a feature-structure library, which represents all of the grammatical structures used by this encoding scheme. (For illustrative purposes, we cite here only the structures needed for the first six words of the sample sentence): <div id="index-egXML-d52e129893" class="pre egXML_valid"><span class="element">&lt;fvLib <span class="attribute">xml:id</span>="<span class="attributevalue">C6</span>" <span class="attribute">n</span>="<span class="attributevalue">Claws 6 tags</span>"&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">ajs</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">grammatical_structure</span>" <span class="attribute">feats</span>="<span class="attributevalue">#wj #ds</span>"/&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">at0</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">grammatical_structure</span>" <span class="attribute">feats</span>="<span class="attributevalue">#wl</span>"/&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">pnp</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">grammatical_structure</span>" <span class="attribute">feats</span>="<span class="attributevalue">#wr #rp</span>"/&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">vvd</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">grammatical_structure</span>" <span class="attribute">feats</span>="<span class="attributevalue">#wv #bv #fd</span>"/&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">prp</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">grammatical_structure</span>" <span class="attribute">feats</span>="<span class="attributevalue">#wp #bp</span>"/&gt;</span><br /> <span class="element">&lt;fs <span class="attribute">xml:id</span>="<span class="attributevalue">nnn</span>"<br />  <span class="attribute">type</span>="<span class="attributevalue">grammatical_structure</span>" <span class="attribute">feats</span>="<span class="attributevalue">#wn #tc #ns</span>"/&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/fvLib&gt;</span></div> The components of each feature structure in the library are referenced in much the same way, using the <span class="att">feats</span> attribute to identify one or more <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements in the following feature library (again, only a few of the available features are quoted here): <div id="index-egXML-d52e129910" class="pre egXML_valid"><span class="element">&lt;fLib&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-bv</span>" <span class="attribute">name</span>="<span class="attributevalue">verbbase</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">main</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-bp</span>" <span class="attribute">name</span>="<span class="attributevalue">prepbase</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">lexical</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-ds</span>" <span class="attribute">name</span>="<span class="attributevalue">degree</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">superlative</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-fd</span>" <span class="attribute">name</span>="<span class="attributevalue">verbform</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">ed</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-ns</span>" <span class="attribute">name</span>="<span class="attributevalue">number</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">singular</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-rp</span>" <span class="attribute">name</span>="<span class="attributevalue">prontype</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">personal</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-tc</span>" <span class="attribute">name</span>="<span class="attributevalue">nountype</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">common</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-wj</span>" <span class="attribute">name</span>="<span class="attributevalue">class</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">adjective</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-wl</span>" <span class="attribute">name</span>="<span class="attributevalue">class</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">article</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-wn</span>" <span class="attribute">name</span>="<span class="attributevalue">class</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">noun</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-wp</span>" <span class="attribute">name</span>="<span class="attributevalue">class</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">preposition</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-wr</span>" <span class="attribute">name</span>="<span class="attributevalue">class</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">pronoun</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;f <span class="attribute">xml:id</span>="<span class="attributevalue">fl-wv</span>" <span class="attribute">name</span>="<span class="attributevalue">class</span>"&gt;</span><br />  <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">verb</span>"/&gt;</span><br /> <span class="element">&lt;/f&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/fLib&gt;</span></div></div><div class="p">Alternatively, a stand-off technique may be used, as in the following example, where a <a class="gi" title="(link group) defines a collection of associations or hypertextual links." href="ref-linkGrp.html">linkGrp</a> element is used to link selected characters in the text <span class="mentioned">Caesar seized control</span> with their phonological representations. <div id="index-egXML-d52e129950" class="pre egXML_valid"><span class="element">&lt;s&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">S1W1</span>"&gt;</span><br />  <span class="element">&lt;c <span class="attribute">xml:id</span>="<span class="attributevalue">S1W1C1</span>"&gt;</span>C<span class="element">&lt;/c&gt;</span>ae<span class="element">&lt;c <span class="attribute">xml:id</span>="<span class="attributevalue">S1W1C2</span>"&gt;</span>s<span class="element">&lt;/c&gt;</span>ar<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">S1W2</span>"&gt;</span><br />  <span class="element">&lt;c <span class="attribute">xml:id</span>="<span class="attributevalue">S1W2C1</span>"&gt;</span>s<span class="element">&lt;/c&gt;</span>ei<span class="element">&lt;c <span class="attribute">xml:id</span>="<span class="attributevalue">S1W2C2</span>"&gt;</span>z<span class="element">&lt;/c&gt;</span>e<span class="element">&lt;c <span class="attribute">xml:id</span>="<span class="attributevalue">S1W2C3</span>"&gt;</span>d<span class="element">&lt;/c&gt;</span><span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">S1W3</span>"&gt;</span>con<span class="element">&lt;c <span class="attribute">xml:id</span>="<span class="attributevalue">S1W3C1</span>"&gt;</span>t<span class="element">&lt;/c&gt;</span>rol<span class="element">&lt;/w&gt;</span>.<br /> <span class="element">&lt;/s&gt;</span><br /><span class="element">&lt;fvLib <span class="attribute">xml:id</span>="<span class="attributevalue">FSL1</span>"<br /> <span class="attribute">n</span>="<span class="attributevalue">phonological segment definitions</span>"&gt;</span><br /><span class="comment">&lt;!-- as in previous example --&gt;</span><br /><span class="element">&lt;/fvLib&gt;</span><br /><span class="element">&lt;linkGrp <span class="attribute">type</span>="<span class="attributevalue">phonology</span>"&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#S.DF #S1W3C1</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#Z.DF #S1W2C3</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#S.DF #S1W2C1</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#Z.DF #S1W2C2</span>"/&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/linkGrp&gt;</span></div></div><div class="p">As this example shows, a stand-off solution requires that every component to be linked to must be addressable in some way, by means of an XPointer. To handle the POS tagging example above, for example, each annotated element might be given an identifier of some sort, as follows: <div id="index-egXML-d52e129986" class="pre egXML_valid"><span class="element">&lt;s <span class="attribute">xml:id</span>="<span class="attributevalue">mds09</span>" <span class="attribute">n</span>="<span class="attributevalue">00741</span>"&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">mds0901</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">mds0902</span>"&gt;</span>closest<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">mds0903</span>"&gt;</span>he<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">mds0904</span>"&gt;</span>came<span class="element">&lt;/w&gt;</span><br /> <span class="element">&lt;w <span class="attribute">xml:id</span>="<span class="attributevalue">mds0905</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">mds0906</span>"&gt;</span>exercise<span class="element">&lt;/w&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/s&gt;</span></div> It would then be possible to link each word to its intended annotation in the feature library quoted above, as follows: <div id="index-egXML-d52e130002" class="pre egXML_valid"><span class="element">&lt;linkGrp <span class="attribute">type</span>="<span class="attributevalue">POS-codes</span>"&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0901 #at0</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0902 #ajs</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0903 #pnp</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0904 #vvd</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0905 #prp</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0906 #nn1</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0907 #vbd</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0908 #to0</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0909 #vvi</span>"/&gt;</span><br /> <span class="element">&lt;link <span class="attribute">target</span>="<span class="attributevalue">#mds0910 #crd</span>"/&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br /><span class="element">&lt;/linkGrp&gt;</span></div></div></div><div class="div1" id="FD"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FSLINK"><span class="headingNumber">18.10 </span>Linking Text and Analysis</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FSDEF"><span class="headingNumber">18.12 </span>Formal Definition and Implementation</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h3><span class="bookmarklink"><a class="bookmarklink" href="#FD" title="link to this section "><span class="invisible">TEI: Feature System Declaration</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.11 </span><span class="head">Feature System Declaration</span></h3><p>The Feature System Declaration (FSD) is intended for use in conjunction with a TEI-conforming text that makes use of <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> (that is, feature structure) elements. The FSD serves three purposes: </p><ul class="bulleted"><li class="item">It provides a mechanism by which the encoder can list all of the feature names and feature values and give a prose description as to what each represents.</li><li class="item">It provides a mechanism by which the encoder can define constraints not only what it means to be a well-formed feature structure, but also <span class="bulleted">valid</span> feature structure, relative to a given theory stated in typed feature logic. These constraints may involve constraints on the range of a feature value, constraints on what features are valid within certain types of feature structures, or constraints that prevent the co-occurrence of certain feature-value pairs.</li><li class="item">It provides a mechanism by which the encoder can define the intended interpretation of underspecified feature structures. This involves defining default values (whether literal or computed) for missing features.</li></ul><p>The scheme described in this chapter may be used to document any feature structure system, but is primarily intended for use with the feature structure representation defined by the ISO 24610-1:2006 standard, which corresponds with the recommendations presented in these Guidelines, <a class="link_ptr" href="FS.html" title="16"><span class="headingNumber">18 </span>Feature Structures</a>. This chapter relies upon, but does not reproduce, formal definitions and descriptions presented more thoroughly in the ISO standard, which should be consulted in case of ambiguity or uncertainty.</p><p>The FSD serves an important function in documenting precisely what the encoder intended by the system of feature structure markup used in an XML-encoded text. The FSD is also an important resource which standardizes the rules of inference used by software to validate the feature structure markup in a text, and to infer the full interpretation of underspecified feature structures.</p><p>The reader should be aware the terminology used in this document does not always closely follow conventional practice in formal logic, and may also diverge from practice in some linguistic applications of typed feature structures. In particular, the term ‘interpretation’ when applied to a feature structure is not an interpretation in the model-theoretic sense, but is instead a minimally informative (or equivalently, most general) extension  of that feature structure that is consistent with a set of constraints declared by an FSD. In linguistic application, such a system of constraints is the principal means by which the grammar of some natural language is expressed. There is a great deal of disagreement as to what, if any, model-theoretic interpretation feature structures have in such applications, but the status of this formal kind of interpretation is not germane to the present document. Similarly, the term ‘valid’ is used here as elsewhere in these Guidelines to identify the syntactic state of well-formedness in the sense defined by the logic of typed feature structures itself, as distinct from and in addition to the ‘well-formedness’ that pertains at the level of this encoding standard. No appeal to any notion from formal semantics should be inferred.</p><p>We begin by describing how an encoded text is associated with one or more feature system declarations. The second, third, and fourth sections describe the overall structure of a feature system declaration and give details of how to encode its components. The final section offers a full example; fuller discussion of the reasoning behind FSDs and another complete example are provided in <a class="link_ptr" href="BIB.html#FS-BIBL-01" title="D. Terence Langendoen Gary F. Simons A rationale for the TEI recommendations for featurestructure markupComputers and the Human...">Langendoen and Simons (1995)</a>.</p><div class="div2" id="FDLK"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FDOV"><span class="headingNumber">18.11.2 </span>The Overall Structure of a Feature System Declaration</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h4><span class="bookmarklink"><a class="bookmarklink" href="#FDLK" title="link to this section "><span class="invisible">TEI: Linking a TEI Text to Feature System Declarations</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.11.1 </span><span class="head">Linking a TEI Text to Feature System Declarations</span></h4><p>In order for application software to use feature system declarations to aid in the automatic interpretation of encoded texts, or even for human readers to find the appropriate declarations which document the feature system used in markup, there must be a formal link from the encoded texts to the declarations. However, the schema which declares the syntax of the Feature System itself should be kept distinct from the feature structure schema, which is an application of that system.</p><p>A document containing typed feature structures may simply include a feature system declaration documenting those feature structures. A more usual scenario, however, is that the same feature system declaration (or parts of it) will be shared by many documents. In either case, an <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> element for each distinct type of feature structure used must be provided and associated with the type, which is the value used within each feature structure for its <span class="att">type</span> attribute.</p><p>When the module defined in this chapter is included in an XML schema, the following elements become available: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-fsdDecl.html">fsdDecl</a></span> (feature system declaration) provides a feature system declaration comprising one or more feature structure declarations or feature structure declaration links.</li><li><span class="specList-elementSpec"><a href="ref-fsdLink.html">fsdLink</a></span> (feature structure declaration link) associates the name of a typed feature structure with a feature structure declaration for it.</li><li><span class="specList-elementSpec"><a href="ref-fsDecl.html">fsDecl</a></span> (feature structure declaration) declares one type of feature structure.</li></ul><p> The <a class="gi" title="(feature system declaration) provides a feature system declaration comprising one or more feature structure declarations or feature structure declaration links." href="ref-fsdDecl.html">fsdDecl</a> element may be supplied either within the header of a standard TEI document, or as a standalone document in its own right. It contains one or more <a class="gi" title="(feature structure declaration link) associates the name of a typed feature structure with a feature structure declaration for it." href="ref-fsdLink.html">fsdLink</a> or <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> elements.</p><div class="p">For example, suppose that a document <span class="ident-file">doc.xml</span> contains feature structures of two types: <span class="val">gpsg</span> and <span class="val">lex</span>. We might simply embed an <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> element for each within the header attached to the document as follows: <div id="index-egXML-d52e130102" class="pre egXML_feasible"><span class="element">&lt;TEI xmlns="http://www.tei-c.org/ns/1.0"&gt;</span><br /> <span class="element">&lt;teiHeader&gt;</span><br />  <span class="element">&lt;fileDesc&gt;</span><br /><span class="comment">&lt;!-- example --&gt;</span><br />  <span class="element">&lt;/fileDesc&gt;</span><br />  <span class="element">&lt;encodingDesc&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br />   <span class="element">&lt;fsdDecl&gt;</span><br />    <span class="element">&lt;fsDecl <span class="attribute">type</span>="<span class="attributevalue">gpsg</span>"&gt;</span><br /><span class="comment">&lt;!-- information about this type --&gt;</span><br />    <span class="element">&lt;/fsDecl&gt;</span><br />    <span class="element">&lt;fsDecl <span class="attribute">type</span>="<span class="attributevalue">lex</span>"&gt;</span><br /><span class="comment">&lt;!-- information about this type --&gt;</span><br />    <span class="element">&lt;/fsDecl&gt;</span><br />   <span class="element">&lt;/fsdDecl&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br />  <span class="element">&lt;/encodingDesc&gt;</span><br /> <span class="element">&lt;/teiHeader&gt;</span><br /> <span class="element">&lt;text&gt;</span><br />  <span class="element">&lt;body&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br />   <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">lex</span>"&gt;</span><br /><span class="comment">&lt;!-- an instance of the typed feature structure "lex" --&gt;</span><br />   <span class="element">&lt;/fs&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br />  <span class="element">&lt;/body&gt;</span><br /> <span class="element">&lt;/text&gt;</span><br /><span class="element">&lt;/TEI&gt;</span></div></div><p>In this case there is an implicit link between the <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element and the corresponding <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> element because they share the same value for their <span class="att">type</span> attribute and appear within the same document. This is a short cut for the more general case which requires a more explicit link provided by means of the <a class="gi" title="(feature structure declaration link) associates the name of a typed feature structure with a feature structure declaration for it." href="ref-fsdLink.html">fsdLink</a> element, as demonstrated below.</p><div class="p">Now suppose that we wish to create a second document which includes feature structures of the same type. Rather than duplicate the corresponding declarations, we will need to provide a means of pointing to them from this second document. The easiest<span id="Note114_return"><a class="notelink" title="Ways of pointing to components of a TEI document without using an XML identifier are discussed in" href="#Note114"><sup>77</sup></a></span> way of accomplishing this is to add an XML identifier to each <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> element in <span class="ident-file">example.xml</span>: <div id="index-egXML-d52e130148" class="pre egXML_feasible"><br /><span class="comment">&lt;!-- ... --&gt;</span><span class="element">&lt;fsdDecl&gt;</span><br /> <span class="element">&lt;fsDecl <span class="attribute">type</span>="<span class="attributevalue">gpsg</span>" <span class="attribute">xml:id</span>="<span class="attributevalue">GPSG</span>"&gt;</span><br /><span class="comment">&lt;!-- information about this type --&gt;</span><br /> <span class="element">&lt;/fsDecl&gt;</span><br /> <span class="element">&lt;fsDecl <span class="attribute">type</span>="<span class="attributevalue">lex</span>" <span class="attribute">xml:id</span>="<span class="attributevalue">LEX</span>"&gt;</span><br /><span class="comment">&lt;!-- information about this type --&gt;</span><br /> <span class="element">&lt;/fsDecl&gt;</span><br /><span class="element">&lt;/fsdDecl&gt;</span></div> (Although in this case the XML identifier is simply an uppercase version of the type name, there is no necessary connection between the two names. The only requirement is that the XML identifier conform to the standards required for identifiers, and that it be unique within the document containing it.)</div><div class="p">In the <a class="gi" title="(feature system declaration) provides a feature system declaration comprising one or more feature structure declarations or feature structure declaration links." href="ref-fsdDecl.html">fsdDecl</a> for the second document, we can now include pointers to the <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> elements in the first: <div id="index-egXML-d52e130164" class="pre egXML_feasible"><span class="element">&lt;TEI xmlns="http://www.tei-c.org/ns/1.0"&gt;</span><br /> <span class="element">&lt;teiHeader&gt;</span><br />  <span class="element">&lt;fileDesc&gt;</span><br /><span class="comment">&lt;!-- doc2  --&gt;</span><br />  <span class="element">&lt;/fileDesc&gt;</span><br />  <span class="element">&lt;encodingDesc&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br />   <span class="element">&lt;fsdDecl&gt;</span><br />    <span class="element">&lt;fsdLink <span class="attribute">type</span>="<span class="attributevalue">gpsg</span>"<br />     <span class="attribute">target</span>="<span class="attributevalue">example.xml#GPSG</span>"/&gt;</span><br />    <span class="element">&lt;fsdLink <span class="attribute">type</span>="<span class="attributevalue">lexx</span>"<br />     <span class="attribute">target</span>="<span class="attributevalue">example.xml#GPSG</span>"/&gt;</span><br />   <span class="element">&lt;/fsdDecl&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br />  <span class="element">&lt;/encodingDesc&gt;</span><br /> <span class="element">&lt;/teiHeader&gt;</span><br /> <span class="element">&lt;text&gt;</span><br />  <span class="element">&lt;body&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br />   <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">lexx</span>"&gt;</span><br /><span class="comment">&lt;!-- an instance of the typed feature structure "lex" --&gt;</span><br />   <span class="element">&lt;/fs&gt;</span><br /><span class="comment">&lt;!-- ... --&gt;</span><br />  <span class="element">&lt;/body&gt;</span><br /> <span class="element">&lt;/text&gt;</span><br /><span class="element">&lt;/TEI&gt;</span></div> Note that in <span class="ident-file">doc2.xml</span> there is no requirement for the local name for a given type of feature structures to be the same as that used by <span class="ident-file">example.xml</span>. We assume in this encoding that the type called <span class="name">lexx</span> in <span class="ident-file">doc2.xml</span> is declared as having identical constraints and other properties to those declared for the type called <span class="name">lex</span> in <span class="ident-file">example.xml</span>.</div><p>A <a class="gi" title="(feature system declaration) provides a feature system declaration comprising one or more feature structure declarations or feature structure declaration links." href="ref-fsdDecl.html">fsdDecl</a> may be given, as above, within the encoding description of the <a class="gi" title="(TEI header) supplies descriptive and declarative metadata associated with a digital resource or set of resources." href="ref-teiHeader.html">teiHeader</a> element of a TEI document containing typed feature structures. Alternatively, it may appear independently of any feature structures, as a document in its own right, possibly with its own <a class="gi" title="(TEI header) supplies descriptive and declarative metadata associated with a digital resource or set of resources." href="ref-teiHeader.html">teiHeader</a>. These options are both possible because the element is a member of both the <a class="link_odd" title="groups elements which may be used inside &lt;encodingDesc&gt; and appear multiple times." href="ref-model.encodingDescPart.html">model.encodingDescPart</a> class and the <a class="link_odd" title="groups separate elements which constitute the content of a digital resource, as opposed to its metadata." href="ref-model.resourceLike.html">model.resourceLike</a> class.</p><p>The current recommendations provide no way of enforcing uniqueness of the <span class="att">type</span> values among <a class="gi" title="(feature system declaration) provides a feature system declaration comprising one or more feature structure declarations or feature structure declaration links." href="ref-fsdDecl.html">fsdDecl</a> elements, nor of requiring that every <span class="att">type</span> value specified on a <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> element be also declared on an <a class="gi" title="(feature system declaration) provides a feature system declaration comprising one or more feature structure declarations or feature structure declaration links." href="ref-fsdDecl.html">fsdDecl</a> element. Encoders requiring such constraints (which might have some obvious utility in assisting the consistency and accuracy of tagging) are recommended to develop tools to enforce them, using such mechanisms as Schematron assertions.</p></div><div class="div2" id="FDOV"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FDLK"><span class="headingNumber">18.11.1 </span>Linking a TEI Text to Feature System Declarations</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FDFD"><span class="headingNumber">18.11.3 </span>Feature Declarations</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h4><span class="bookmarklink"><a class="bookmarklink" href="#FDOV" title="link to this section "><span class="invisible">TEI: The Overall Structure of a Feature System Declaration</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.11.2 </span><span class="head">The Overall Structure of a Feature System Declaration</span></h4><p>A feature system declaration contains one or more feature structure declarations, each of which has up to three parts: an optional description (which gives a prose comment on what that type of feature structure encodes), an obligatory set of feature declarations (which specify range constraints and default values for the features in that type of structure), and optional feature structure constraints (which specify co-occurrence restrictions on feature values). </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-fsDescr.html">fsDescr</a></span> (feature system description (in FSD)) describes in prose what is represented by the type of feature structure declared in the enclosing fsDecl.</li><li><span class="specList-elementSpec"><a href="ref-fDecl.html">fDecl</a></span> (feature declaration) declares a single feature, specifying its name, organization, range of allowed values, and optionally its default value.</li><li><span class="specList-elementSpec"><a href="ref-fsConstraints.html">fsConstraints</a></span> (feature-structure constraints) specifies constraints on the content of valid feature structures.</li></ul><p>Feature declarations and feature structure constraints are described in the next two sections. Note that the specification of similar <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> elements can be simplified by devising an inheritance hierarchy for the feature structure types. Each <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> element may name one or more ‘basetypes’ from which it inherits feature declarations and constraints (these are often called ‘supertypes’). For instance, suppose that <span class="tag">&lt;fsDecl type="Basic"&gt;</span> contains <span class="tag">&lt;fDecl name="One"&gt;</span> and <span class="tag">&lt;fDecl name="Two"&gt;</span>, and that <span class="tag">&lt;fsDecl type="Derived" baseTypes="Basic"&gt;</span> contains just <span class="tag">&lt;fDecl name="Three"&gt;</span>. Then any instance of <span class="tag">&lt;fs type="Derived"&gt;</span> must include all three features. This is because <span class="tag">&lt;fsDecl type="Derived"&gt;</span> inherits the two feature declarations from <span class="tag">&lt;fsDecl type="Basic"&gt;</span> when it specifies a base type of <span class="val">Basic</span>.</p><div class="p">The following sample shows the overall structure of a complete feature structure declaration: <div id="index-egXML-d52e130289" class="pre egXML_feasible"><span class="element">&lt;fsDecl <span class="attribute">type</span>="<span class="attributevalue">SomeName</span>"&gt;</span><br /> <span class="element">&lt;fsDescr&gt;</span>Describes what this type of fs represents<span class="element">&lt;/fsDescr&gt;</span><br /> <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">featureOne</span>"&gt;</span><br /><span class="comment">&lt;!-- The declaration for featureOne --&gt;</span><br /> <span class="element">&lt;/fDecl&gt;</span><br /> <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">featureTwo</span>"&gt;</span><br /><span class="comment">&lt;!-- The declaration for featureTwo --&gt;</span><br /> <span class="element">&lt;/fDecl&gt;</span><br /> <span class="element">&lt;fsConstraints&gt;</span><br /><span class="comment">&lt;!-- The feature structure constraints go here --&gt;</span><br /> <span class="element">&lt;/fsConstraints&gt;</span><br /><span class="element">&lt;/fsDecl&gt;</span></div></div><p>The attribute <span class="att">baseTypes</span> gives the name of one or more types from which this type inherits feature specifications and constraints; if this type includes a feature specification with the same name as one inherited from any of the types specified by this attribute, or if more than one specification of the same name is inherited, then the possible values of that feature is determined by unification. Similarly, the set of constraints applicable is derived by conjoining those specified explicitly within this element with those implied by the <span class="att">baseTypes</span> attribute. When no base type is specified, no feature specification or constraint is inherited.</p><p>Although the present standard does provide for default feature values, feature inheritance is defined to be monotonic. </p><p>The process of combining constraints may result in a contradiction, for example if two specifications for the same feature specify disjoint ranges of values, and at least one such specification is mandatory. In such a case, there is no valid feature structure of the type being defined.</p><p>Every type specified by <span class="att">baseTypes</span> must be a single word which is a legal XML name; for example, they cannot include whitespace or begin with digits. Multiple base types are separated with spaces, e.g. <span class="tag">&lt;fsDecl type="Sub" baseTypes="Super1 Super2"&gt;</span>.</p></div><div class="div2" id="FDFD"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FDOV"><span class="headingNumber">18.11.2 </span>The Overall Structure of a Feature System Declaration</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FDFS"><span class="headingNumber">18.11.4 </span>Feature Structure Constraints</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h4><span class="bookmarklink"><a class="bookmarklink" href="#FDFD" title="link to this section "><span class="invisible">TEI: Feature Declarations</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.11.3 </span><span class="head">Feature Declarations</span></h4><p>Each feature is declared in an <a class="gi" title="(feature declaration) declares a single feature, specifying its name, organization, range of allowed values, and optionally its default value." href="ref-fDecl.html">fDecl</a> element whose <span class="att">name</span> attribute identifies the feature being declared; this matches the <span class="att">name</span> attribute of the <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements it declares.  An <a class="gi" title="(feature declaration) declares a single feature, specifying its name, organization, range of allowed values, and optionally its default value." href="ref-fDecl.html">fDecl</a> has three parts: an optional prose description (which should explain what the feature and its values represent), an obligatory range specification (which declares what values the feature is allowed to have), and an optional default specification (which declares what default value should be supplied when the named feature does not appear in an <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a>). If, in a feature structure, a feature: </p><ul class="bulleted"><li class="item">is not optional (i.e., is obligatory),</li><li class="item">has no value provided, or the value <a class="gi" title="(default feature value) represents the value part of a feature-value specification which contains a defaulted value." href="ref-default.html">default</a> is provided (see <a class="link_ref" href="FS.html#FSBO" title="Default Values">ISO 24610-1, Subclause 5.10, Default Values</a>, and</li><li class="item">either has no default specified, or has conditional defaults, none of the conditions on which is met,</li></ul><p> then the value of this feature in the feature structure's most general valid extension is the most general value provided in its <a class="gi" title="(value range) defines the range of allowed values for a feature, in the form of an &lt;fs&gt;, &lt;vAlt&gt;, or primitive value; for the value of an &lt;f&gt; to be valid, it must be subsumed by the specified range; if the &lt;f&gt; contains multiple values (as sanctioned by the @org attribute), then each value must be subsumed by the &lt;vRange&gt;." href="ref-vRange.html">vRange</a>, in the case of a unit organization, or the singleton set, bag, or list containing that element, in the case of a complex organization. If the feature: </p><ul class="bulleted"><li class="item">is optional,</li><li class="item">has no value provided, or the value <a class="gi" title="(default feature value) represents the value part of a feature-value specification which contains a defaulted value." href="ref-default.html">default</a> is provided, and</li><li class="item">either has a default specified, or has conditional defaults, one of the conditions on which is met,</li></ul><p> then this feature does have a value in the feature structure's most general valid extension when it exists, namely the default value that pertains.</p><p>It is possible that a feature structure will not have a valid extension because the default value that pertains to a feature is not consistent with that feature's declared range. Additional tools are required for the enforcement of such criteria. </p><p>The following elements are used in feature system declarations: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-fDecl.html">fDecl</a></span> (feature declaration) declares a single feature, specifying its name, organization, range of allowed values, and optionally its default value.<table class="specDesc"><tr><td class="Attribute"><span class="att">name</span></td><td>a single word which follows the rules defining a legal XML name (see <a class="link_ptr" href="http://www.w3.org/TR/REC-xml/#dt-name"><span>http://www.w3.org/TR/REC-xml/#dt-name</span></a>), indicating the name of the feature being declared; matches the <span class="att">name</span> attribute of <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> elements in the text.</td></tr><tr><td class="Attribute"><span class="att">optional</span></td><td>indicates whether or not the value of this feature may be present.</td></tr></table></li><li><span class="specList-elementSpec"><a href="ref-fDescr.html">fDescr</a></span> (feature description (in FSD)) describes in prose what is represented by the feature being declared and its values.</li><li><span class="specList-elementSpec"><a href="ref-vRange.html">vRange</a></span> (value range) defines the range of allowed values for a feature, in the form of an <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a>, <a class="gi" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a>, or primitive value; for the value of an <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> to be valid, it must be subsumed by the specified range; if the <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> contains multiple values (as sanctioned by the <span class="att">org</span> attribute), then each value must be subsumed by the <a class="gi" title="(value range) defines the range of allowed values for a feature, in the form of an &lt;fs&gt;, &lt;vAlt&gt;, or primitive value; for the value of an &lt;f&gt; to be valid, it must be subsumed by the specified range; if the &lt;f&gt; contains multiple values (as sanctioned by the @org attribute), then each value must be subsumed by the &lt;vRange&gt;." href="ref-vRange.html">vRange</a>.</li><li><span class="specList-elementSpec"><a href="ref-vDefault.html">vDefault</a></span> (value default) declares the default value to be supplied when a feature structure does not contain an instance of <a class="gi" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> for this name; if unconditional, it is specified as one (or, depending on the value of the <span class="att">org</span> attribute of the enclosing <a class="gi" title="(feature declaration) declares a single feature, specifying its name, organization, range of allowed values, and optionally its default value." href="ref-fDecl.html">fDecl</a>) more <a class="gi" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> elements or primitive values; if conditional, it is specified as one or more <a class="gi" title="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." href="ref-if.html">if</a> elements; if no default is specified, or no condition matches, the value <span class="val">none</span> is assumed.</li><li><span class="specList-elementSpec"><a href="ref-if.html">if</a></span> 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.</li><li><span class="specList-elementSpec"><a href="ref-then.html">then</a></span> separates the condition from the default in an <a class="gi" title="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." href="ref-if.html">if</a>, or the antecedent and the consequent in a <a class="gi" title="(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." href="ref-cond.html">cond</a> element.</li></ul><p>The logic for validating feature values and for matching the conditions for supplying default values is based on the operation of <span class="term">subsumption</span>. Subsumption is a standard operation in feature-structure-based formalisms. Informally, a feature structure <span class="name">FS</span> subsumes all feature structures that are at least as informative as itself; that is, all feature structures that specify all of the feature values that FS does with values that are subsumed by the values that FS has, and that have all of the re-entrancies (see <a class="link_ptr" href="FS.html#FSVAR" title="Reentrant Feature Structures"><span class="headingNumber">18.6 </span>Re-entrant Feature Structures</a>) that FS does. (<a class="citlink" href="BIB.html#FS-BIBL-5">Carpenter (1992)</a>; see also <a class="citlink" href="BIB.html#FS-BIBL-1">Pereira (1987)</a> and <a class="citlink" href="BIB.html#FS-BIBL-2">Shieber (1986)</a>) A more formal definition is provided in ISO 24610-1:2006 .</p><p>Following the spirit of the informal definition above, we can extend subsumption in a straightforward way to cover alternation, negation, special primitive values, and the use of attributes in the markup. For instance, a <a class="gi" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a> containing the value <span class="val">v</span> subsumes <span class="val">v</span>. The negation of a value <span class="val">v</span> (represented by means of the <a class="gi" title="(value negation) represents a feature value which is the negation of its content." href="ref-vNot.html">vNot</a> element discussed in section <a class="link_ptr" href="FS.html#FVNOT" title="Negation"><span class="headingNumber">18.8.2 </span>Negation</a>) subsumes any value that is not <span class="val">v</span>; for example <code>&lt;vNot&gt;&lt;numeric value='0'/&gt;&lt;/vNot&gt;</code> subsumes any numeric value other than zero.  The value <span class="tag">&lt;fs type="X"/&gt;</span> subsumes any feature structure of type <span class="val">X</span>, even if it is not valid.</p><div class="p">As an example of feature declarations, consider the following extract from Gazdar et al.'s <span class="titlem">Generalized Phrase Structure Grammar</span>. In the appendix to their book, they propose a feature system for English of which this is just a sampling: <div id="index-egXML-d52e130836" class="pre cdata egXML_valid">feature    value range
INV        {+, -}
CONJ       {and, both, but, either, neither, nor, or, NIL}
COMP       {for, that, whether, if, NIL}
AGR        CAT
PFORM      {to, by, for, ...}<div style="float: right;"><a href="BIB.html#FS-BIBL-3">bibliography</a> </div></div> <div id="index-egXML-d52e130839" class="pre cdata egXML_valid">Feature specification defaults
FSD 1:  [-INV]
FSD 2:  ~[CONJ]
FSD 9:  [INF, +SUBJ] --&gt; [COMP for]</div></div><div class="p">The INV feature, which encodes whether or not a sentence is inverted, allows only the values plus (+) and minus (-). If the feature is not specified, then the default rule (FSD 1 above) says that a value of minus is always assumed. The feature declaration for this feature would be encoded as follows: <div id="index-egXML-d52e130843" class="pre egXML_valid"><span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">INV</span>"&gt;</span><br /> <span class="element">&lt;fDescr&gt;</span>inverted sentence<span class="element">&lt;/fDescr&gt;</span><br /> <span class="element">&lt;vRange&gt;</span><br />  <span class="element">&lt;vAlt&gt;</span><br />   <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />   <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br />  <span class="element">&lt;/vAlt&gt;</span><br /> <span class="element">&lt;/vRange&gt;</span><br /> <span class="element">&lt;vDefault&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/vDefault&gt;</span><br /><span class="element">&lt;/fDecl&gt;</span></div></div><p>The value range is specified as an alternation (more precisely, an exclusive disjunction), which can be represented by the <a class="gi" title="(binary value) represents the value part of a feature-value specification which can contain either of exactly two possible values." href="ref-binary.html">binary</a> feature value. That is, the value must be either true or false, but cannot be both or neither.</p><div class="p">The CONJ feature indicates the surface form of the conjunction used in a construction. The ~ in the default rule (see FSD 2 above) represents negation. This means that by default the feature is not applicable, in other words, no conjunction is taking place. Note that CONJ not being present is distinct from CONJ being present but having the NIL value allowed in the value range. In their analysis, NIL means that the phenomenon of conjunction is taking place but there is no explicit conjunction in the surface form of the sentence. The feature declaration for this feature would be encoded as follows: <div id="index-egXML-d52e130861" class="pre egXML_valid"><span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">CONJ</span>"&gt;</span><br /> <span class="element">&lt;fDescr&gt;</span>surface form of the conjunction<span class="element">&lt;/fDescr&gt;</span><br /> <span class="element">&lt;vRange&gt;</span><br />  <span class="element">&lt;vAlt&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">and</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">both</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">but</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">either</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">neither</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">nor</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">or</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">NIL</span>"/&gt;</span><br />  <span class="element">&lt;/vAlt&gt;</span><br /> <span class="element">&lt;/vRange&gt;</span><br /> <span class="element">&lt;vDefault&gt;</span><br />  <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br /> <span class="element">&lt;/vDefault&gt;</span><br /><span class="element">&lt;/fDecl&gt;</span></div>  Note that the <a class="gi" title="(value default) declares the default value to be supplied when a feature structure does not contain an instance of &lt;f&gt; for this name; if unconditional, it is specified as one (or, depending on the value of the @org attribute of the enclosing &lt;fDecl&gt;) more &lt;fs&gt; elements or primitive values; if conditional, it is specified as one or more &lt;if&gt; elements; if no default is specified, or no condition matches, the value &#34;none&#34; is assumed." href="ref-vDefault.html">vDefault</a> is not strictly necessary in this case, since the binary value of <span class="val">false</span> only serves to convey the information that the feature has no other legitimate value.</div><div class="p">The COMP feature indicates the surface form of the complementizer used in a construction. In value range, it is analogous to CONJ. However, its default rule (see FSD 9 above) is conditional. It says that if the verb form is infinitival (the VFORM feature is not mentioned in the rule since it is the only feature that can take INF as a value), and the construction has a subject, then a <span class="mentioned">for</span> complement must be used. For instance, to make John the subject of the infinitive in <span class="mentioned">It is necessary to go,</span> a <span class="mentioned">for</span> complement must be used; that is, <span class="mentioned">It is necessary for John to go.</span> The feature declaration for this feature would be encoded as follows: <div id="index-egXML-d52e130900" class="pre egXML_valid"><span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">COMP</span>"&gt;</span><br /> <span class="element">&lt;fDescr&gt;</span>surface form of the complementizer<span class="element">&lt;/fDescr&gt;</span><br /> <span class="element">&lt;vRange&gt;</span><br />  <span class="element">&lt;vAlt&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">for</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">that</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">whether</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">if</span>"/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">NIL</span>"/&gt;</span><br />  <span class="element">&lt;/vAlt&gt;</span><br /> <span class="element">&lt;/vRange&gt;</span><br /> <span class="element">&lt;vDefault&gt;</span><br />  <span class="element">&lt;if&gt;</span><br />   <span class="element">&lt;fs&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">VFORM</span>"&gt;</span><br />     <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">INF</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />    <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">SUBJ</span>"&gt;</span><br />     <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />    <span class="element">&lt;/f&gt;</span><br />   <span class="element">&lt;/fs&gt;</span><br />   <span class="element">&lt;then/&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">for</span>"/&gt;</span><br />  <span class="element">&lt;/if&gt;</span><br /> <span class="element">&lt;/vDefault&gt;</span><br /><span class="element">&lt;/fDecl&gt;</span></div></div><div class="p">The AGR feature stores the features relevant to subject-verb agreement. Gazdar et al. specify the range of this feature as CAT. This means that the value is a <span class="noindex">category</span>, which is their term for a feature structure. This is actually too weak a statement. Not just any feature structure is allowable here; it must be a feature structure for agreement (which is defined in the complete example at the end of the chapter to contain the features of person and number). The following feature declaration encodes this constraint on the value range: <div id="index-egXML-d52e130925" class="pre egXML_valid"><span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">AGR</span>"&gt;</span><br /> <span class="element">&lt;fDescr&gt;</span>agreement for person and number<span class="element">&lt;/fDescr&gt;</span><br /> <span class="element">&lt;vRange&gt;</span><br />  <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">Agreement</span>"/&gt;</span><br /> <span class="element">&lt;/vRange&gt;</span><br /><span class="element">&lt;/fDecl&gt;</span></div> That is, the value must be a feature structure of type <span class="val">Agreement</span>. The complete example at the end of this chapter includes the <span class="tag">&lt;fsDecl type="Agreement"&gt;</span> which includes <span class="tag">&lt;fDecl name="PERS"&gt;</span> and <span class="tag">&lt;fDecl name="NUM"&gt;</span>.</div><div class="p">The PFORM feature indicates the surface form of the preposition used in a construction. Since PFORM is specified above as an open set, <a class="gi" title="(string value) represents the value part of a feature-value specification which contains a string." href="ref-string.html">string</a> is used in the range specification below rather than <a class="gi" title="(symbolic value) represents the value part of a feature-value specification which contains one of a finite list of symbols." href="ref-symbol.html">symbol</a>. <div id="index-egXML-d52e130953" class="pre egXML_valid"><span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">PFORM</span>"&gt;</span><br /> <span class="element">&lt;fDescr&gt;</span>word form of a preposition<span class="element">&lt;/fDescr&gt;</span><br /> <span class="element">&lt;vRange&gt;</span><br />  <span class="element">&lt;vNot&gt;</span><br />   <span class="element">&lt;string/&gt;</span><br />  <span class="element">&lt;/vNot&gt;</span><br /> <span class="element">&lt;/vRange&gt;</span><br /><span class="element">&lt;/fDecl&gt;</span></div> This example makes use of a negated value: <code>&lt;vNot&gt;&lt;string/&gt;&lt;/vNot&gt;</code> subsumes any string that is not the empty string.</div><p>Note that the class <a class="link_odd" title="groups elements which represent feature values in feature structures." href="ref-model.featureVal.html">model.featureVal</a> includes all possible single feature values, including feature structures, alternations (<a class="gi" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a>) and complex collections (<a class="gi" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a>).</p></div><div class="div2" id="FDFS"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FDFD"><span class="headingNumber">18.11.3 </span>Feature Declarations</a></li><li class="subtoc"><span class="nextLink"> » </span><a class="navigation" href="FS.html#FDEG"><span class="headingNumber">18.11.5 </span>A Complete Example</a></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h4><span class="bookmarklink"><a class="bookmarklink" href="#FDFS" title="link to this section "><span class="invisible">TEI: Feature Structure Constraints</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.11.4 </span><span class="head">Feature Structure Constraints</span></h4><p>Ensuring the validity of feature structures may require much more than simply specifying the range of allowed values for each feature. There may be constraints on the co-occurrence of one feature value with the value of another feature in the same feature structure or in an embedded feature structure.</p><p>Such constraints on valid feature structures are expressed as a series of conditional and biconditional tests in the <a class="gi" title="(feature-structure constraints) specifies constraints on the content of valid feature structures." href="ref-fsConstraints.html">fsConstraints</a> part of an <a class="gi" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a>. A particular feature structure is valid only if it meets all the constraints. The <a class="gi" title="(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." href="ref-cond.html">cond</a> element encodes the conventional if-then conditional of boolean logic which succeeds when both the antecedent and consequent are true, or whenever the antecedent is false. The <a class="gi" title="(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." href="ref-bicond.html">bicond</a> element encodes the biconditional (if and only if) operation of boolean logic. It succeeds only when the corresponding if-then conditionals in both directions are true.  In feature structure constraints the antecedent and consequent are expressed as feature structures; they are considered true if they <span class="noindex">subsume</span> (see section <a class="link_ptr" href="FS.html#FDFD" title="Feature Declarations"><span class="headingNumber">18.11.3 </span>Feature Declarations</a>) the feature structure in question, but in the case of consequents, this truth is asserted rather than simply tested. That is to say, a conditional is enforced by determining that the antecedent does not (and will never) subsume the given feature structure, or by determining that the antecedent does subsume the given feature structure, and then unifying the consequent with it (the result of which, if successful, will be subsumed by the consequent). In practice, the enforcement of such constraints can result in periods in which the truth of a constraint with respect to a given feature structure is simply not known; in this case, the constraint must be persistently monitored as the feature structure becomes more informative until either its truth value is determined or computation fails for some other reason.</p><p>The following elements make up the <a class="gi" title="(feature-structure constraints) specifies constraints on the content of valid feature structures." href="ref-fsConstraints.html">fsConstraints</a> part of an FSD: </p><ul class="specList"><li><span class="specList-elementSpec"><a href="ref-fsConstraints.html">fsConstraints</a></span> (feature-structure constraints) specifies constraints on the content of valid feature structures.</li><li><span class="specList-elementSpec"><a href="ref-cond.html">cond</a></span> (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.</li><li><span class="specList-elementSpec"><a href="ref-bicond.html">bicond</a></span> (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.</li><li><span class="specList-elementSpec"><a href="ref-then.html">then</a></span> separates the condition from the default in an <a class="gi" title="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." href="ref-if.html">if</a>, or the antecedent and the consequent in a <a class="gi" title="(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." href="ref-cond.html">cond</a> element.</li><li><span class="specList-elementSpec"><a href="ref-iff.html">iff</a></span> (if and only if) separates the condition from the consequence in a <a class="gi" title="(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." href="ref-bicond.html">bicond</a> element.</li></ul><p>For an example of feature structure constraints, consider the following ‘feature co-occurrence restrictions’ extracted from the feature system for English proposed by Gazdar, et al. (1985:246–247): </p><pre class="pre_eg cdata">[FCR 1: [+INV] → [+AUX, FIN]</pre><p> </p><pre class="pre_eg cdata">FCR 7: [BAR 0] ≡ [N] &amp; [V] &amp; [SUBCAT]</pre><p> </p><pre class="pre_eg cdata">FCR 8: [BAR 1] → ~[SUBCAT]]</pre><div class="p">The first constraint says that if a construction is inverted, it must also have an auxiliary and a finite verb form. That is, <div id="index-egXML-d52e131629" class="pre egXML_valid"><span class="element">&lt;cond&gt;</span><br /> <span class="element">&lt;fs&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">INV</span>"&gt;</span><br />   <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;then/&gt;</span><br /> <span class="element">&lt;fs&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">AUX</span>"&gt;</span><br />   <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">VFORM</span>"&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">FIN</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;/fs&gt;</span><br /><span class="element">&lt;/cond&gt;</span></div></div><div class="p">The second constraint says that if a construction has a BAR value of zero (i.e., it is a sentence), then it must have a value for the features N, V, and SUBCAT. By the same token, because it is a biconditional, if it has values for N, V, and SUBCAT, it must have BAR='0'. That is, <div id="index-egXML-d52e131642" class="pre egXML_valid"><span class="element">&lt;bicond&gt;</span><br /> <span class="element">&lt;fs&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">BAR</span>"&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">0</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;iff/&gt;</span><br /> <span class="element">&lt;fs&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">N</span>"&gt;</span><br />   <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">V</span>"&gt;</span><br />   <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">SUBCAT</span>"&gt;</span><br />   <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;/fs&gt;</span><br /><span class="element">&lt;/bicond&gt;</span></div></div><div class="p">The final constraint says that if a construction has a BAR value of 1 (i.e., it is a phrase), then the SUBCAT feature should be absent (~). This is not biconditional, since there are other instances under which the SUBCAT feature is inappropriate. That is, <div id="index-egXML-d52e131658" class="pre egXML_valid"><span class="element">&lt;cond&gt;</span><br /> <span class="element">&lt;fs&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">BAR</span>"&gt;</span><br />   <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">1</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;/fs&gt;</span><br /> <span class="element">&lt;then/&gt;</span><br /> <span class="element">&lt;fs&gt;</span><br />  <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">SUBCAT</span>"&gt;</span><br />   <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br />  <span class="element">&lt;/f&gt;</span><br /> <span class="element">&lt;/fs&gt;</span><br /><span class="element">&lt;/cond&gt;</span></div></div><p>Note that <a class="gi" title="(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." href="ref-cond.html">cond</a> and <a class="gi" title="(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." href="ref-bicond.html">bicond</a> use the empty tags <a class="gi" title="separates the condition from the default in an &lt;if&gt;, or the antecedent and the consequent in a &lt;cond&gt; element." href="ref-then.html">then</a> and <a class="gi" title="(if and only if) separates the condition from the consequence in a &lt;bicond&gt; element." href="ref-iff.html">iff</a>, respectively, to separate the antecedent and consequent. These are primarily for the sake of enhancing human readability.</p></div><div class="div2" id="FDEG"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FDFS"><span class="headingNumber">18.11.4 </span>Feature Structure Constraints</a></li><li class="subtoc"></li><li class="subtoc"><a class="navigation" href="index.html">Home</a></li></ul></div><h4><span class="bookmarklink"><a class="bookmarklink" href="#FDEG" title="link to this section "><span class="invisible">TEI: A Complete Example</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.11.5 </span><span class="head">A Complete Example</span></h4><div class="p">To summarize this chapter, the complete FSD for the example that has run through the chapter is reproduced below: <div id="index-egXML-d52e131958" class="pre egXML_valid"><span class="element">&lt;TEI xmlns="http://www.tei-c.org/ns/1.0"&gt;</span><br /> <span class="element">&lt;teiHeader&gt;</span><br />  <span class="element">&lt;fileDesc&gt;</span><br />   <span class="element">&lt;titleStmt&gt;</span><br />    <span class="element">&lt;title&gt;</span>A sample FSD based on an extract from Gazdar<br />           et al.'s GPSG feature system for English<span class="element">&lt;/title&gt;</span><br />    <span class="element">&lt;respStmt&gt;</span><br />     <span class="element">&lt;resp&gt;</span>encoded by<span class="element">&lt;/resp&gt;</span><br />     <span class="element">&lt;name&gt;</span>Gary F. Simons<span class="element">&lt;/name&gt;</span><br />    <span class="element">&lt;/respStmt&gt;</span><br />   <span class="element">&lt;/titleStmt&gt;</span><br />   <span class="element">&lt;publicationStmt&gt;</span><br />    <span class="element">&lt;p&gt;</span>This sample was first encoded by Gary F. Simons (Summer<br />           Institute of Linguistics, Dallas, TX) on January 28, 1991.<br />           Revised April 8, 1993 to match the specification of FSDs<br />           in version P2 of the TEI Guidelines. Revised again December 2004 to<br />           be consistent with the feature structure representation standard<br />           jointly developed with ISO TC37/SC4.<br />     <span class="element">&lt;/p&gt;</span><br />   <span class="element">&lt;/publicationStmt&gt;</span><br />   <span class="element">&lt;sourceDesc&gt;</span><br />    <span class="element">&lt;p&gt;</span>This sample FSD does not describe a complete feature<br />           system. It is based on extracts from the feature system<br />           for English presented in the appendix (pages 245–247) of<br />           Generalized Phrase Structure Grammar, by Gazdar, Klein,<br />           Pullum, and Sag (Harvard University Press, 1985).<span class="element">&lt;/p&gt;</span><br />   <span class="element">&lt;/sourceDesc&gt;</span><br />  <span class="element">&lt;/fileDesc&gt;</span><br /> <span class="element">&lt;/teiHeader&gt;</span><br /> <span class="element">&lt;fsdDecl&gt;</span><br />  <span class="element">&lt;fsDecl <span class="attribute">type</span>="<span class="attributevalue">GPSG</span>"&gt;</span><br />   <span class="element">&lt;fsDescr&gt;</span>Encodes a feature structure for the GPSG analysis<br />         of English (after Gazdar, Klein, Pullum, and Sag)<span class="element">&lt;/fsDescr&gt;</span><br />   <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">INV</span>"&gt;</span><br />    <span class="element">&lt;fDescr&gt;</span>inverted sentence<span class="element">&lt;/fDescr&gt;</span><br />    <span class="element">&lt;vRange&gt;</span><br />     <span class="element">&lt;vAlt&gt;</span><br />      <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />      <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br />     <span class="element">&lt;/vAlt&gt;</span><br />    <span class="element">&lt;/vRange&gt;</span><br />    <span class="element">&lt;vDefault&gt;</span><br />     <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br />    <span class="element">&lt;/vDefault&gt;</span><br />   <span class="element">&lt;/fDecl&gt;</span><br />   <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">CONJ</span>"&gt;</span><br />    <span class="element">&lt;fDescr&gt;</span>surface form of the conjunction<span class="element">&lt;/fDescr&gt;</span><br />    <span class="element">&lt;vRange&gt;</span><br />     <span class="element">&lt;vAlt&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">and</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">both</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">but</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">either</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">neither</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">nor</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">or</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">NIL</span>"/&gt;</span><br />     <span class="element">&lt;/vAlt&gt;</span><br />    <span class="element">&lt;/vRange&gt;</span><br />    <span class="element">&lt;vDefault&gt;</span><br />     <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br />    <span class="element">&lt;/vDefault&gt;</span><br />   <span class="element">&lt;/fDecl&gt;</span><br />   <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">COMP</span>"&gt;</span><br />    <span class="element">&lt;fDescr&gt;</span>surface form of the complementizer<span class="element">&lt;/fDescr&gt;</span><br />    <span class="element">&lt;vRange&gt;</span><br />     <span class="element">&lt;vAlt&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">for</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">that</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">whether</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">if</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">NIL</span>"/&gt;</span><br />     <span class="element">&lt;/vAlt&gt;</span><br />    <span class="element">&lt;/vRange&gt;</span><br />    <span class="element">&lt;vDefault&gt;</span><br />     <span class="element">&lt;if&gt;</span><br />      <span class="element">&lt;fs&gt;</span><br />       <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">VFORM</span>"&gt;</span><br />        <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">INF</span>"/&gt;</span><br />       <span class="element">&lt;/f&gt;</span><br />       <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">SUBJ</span>"&gt;</span><br />        <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />       <span class="element">&lt;/f&gt;</span><br />      <span class="element">&lt;/fs&gt;</span><br />      <span class="element">&lt;then/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">for</span>"/&gt;</span><br />     <span class="element">&lt;/if&gt;</span><br />    <span class="element">&lt;/vDefault&gt;</span><br />   <span class="element">&lt;/fDecl&gt;</span><br />   <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">AGR</span>"&gt;</span><br />    <span class="element">&lt;fDescr&gt;</span>agreement for person and number<span class="element">&lt;/fDescr&gt;</span><br />    <span class="element">&lt;vRange&gt;</span><br />     <span class="element">&lt;fs <span class="attribute">type</span>="<span class="attributevalue">Agreement</span>"/&gt;</span><br />    <span class="element">&lt;/vRange&gt;</span><br />   <span class="element">&lt;/fDecl&gt;</span><br />   <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">PFORM</span>"&gt;</span><br />    <span class="element">&lt;fDescr&gt;</span>word form of a preposition<span class="element">&lt;/fDescr&gt;</span><br />    <span class="element">&lt;vRange&gt;</span><br />     <span class="element">&lt;vNot&gt;</span><br />      <span class="element">&lt;string/&gt;</span><br />     <span class="element">&lt;/vNot&gt;</span><br />    <span class="element">&lt;/vRange&gt;</span><br />   <span class="element">&lt;/fDecl&gt;</span><br />   <span class="element">&lt;fsConstraints&gt;</span><br />    <span class="element">&lt;cond&gt;</span><br />     <span class="element">&lt;fs&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">INV</span>"&gt;</span><br />       <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />     <span class="element">&lt;/fs&gt;</span><br />     <span class="element">&lt;then/&gt;</span><br />     <span class="element">&lt;fs&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">AUX</span>"&gt;</span><br />       <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">VFORM</span>"&gt;</span><br />       <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">FIN</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />     <span class="element">&lt;/fs&gt;</span><br />    <span class="element">&lt;/cond&gt;</span><br />    <span class="element">&lt;bicond&gt;</span><br />     <span class="element">&lt;fs&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">BAR</span>"&gt;</span><br />       <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">0</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />     <span class="element">&lt;/fs&gt;</span><br />     <span class="element">&lt;iff/&gt;</span><br />     <span class="element">&lt;fs&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">N</span>"&gt;</span><br />       <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">V</span>"&gt;</span><br />       <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">SUBCAT</span>"&gt;</span><br />       <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">true</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />     <span class="element">&lt;/fs&gt;</span><br />    <span class="element">&lt;/bicond&gt;</span><br />    <span class="element">&lt;cond&gt;</span><br />     <span class="element">&lt;fs&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">BAR</span>"&gt;</span><br />       <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">1</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />     <span class="element">&lt;/fs&gt;</span><br />     <span class="element">&lt;then/&gt;</span><br />     <span class="element">&lt;fs&gt;</span><br />      <span class="element">&lt;f <span class="attribute">name</span>="<span class="attributevalue">SUBCAT</span>"&gt;</span><br />       <span class="element">&lt;binary <span class="attribute">value</span>="<span class="attributevalue">false</span>"/&gt;</span><br />      <span class="element">&lt;/f&gt;</span><br />     <span class="element">&lt;/fs&gt;</span><br />    <span class="element">&lt;/cond&gt;</span><br />   <span class="element">&lt;/fsConstraints&gt;</span><br />  <span class="element">&lt;/fsDecl&gt;</span><br />  <span class="element">&lt;fsDecl <span class="attribute">type</span>="<span class="attributevalue">Agreement</span>"&gt;</span><br />   <span class="element">&lt;fsDescr&gt;</span>This type of feature structure encodes the features<br />         for subject-verb agreement in English<span class="element">&lt;/fsDescr&gt;</span><br />   <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">PERS</span>"&gt;</span><br />    <span class="element">&lt;fDescr&gt;</span>person (first, second, or third)<span class="element">&lt;/fDescr&gt;</span><br />    <span class="element">&lt;vRange&gt;</span><br />     <span class="element">&lt;vAlt&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">1</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">2</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">3</span>"/&gt;</span><br />     <span class="element">&lt;/vAlt&gt;</span><br />    <span class="element">&lt;/vRange&gt;</span><br />   <span class="element">&lt;/fDecl&gt;</span><br />   <span class="element">&lt;fDecl <span class="attribute">name</span>="<span class="attributevalue">NUM</span>"&gt;</span><br />    <span class="element">&lt;fDescr&gt;</span>number (singular or plural)<span class="element">&lt;/fDescr&gt;</span><br />    <span class="element">&lt;vRange&gt;</span><br />     <span class="element">&lt;vAlt&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">sg</span>"/&gt;</span><br />      <span class="element">&lt;symbol <span class="attribute">value</span>="<span class="attributevalue">pl</span>"/&gt;</span><br />     <span class="element">&lt;/vAlt&gt;</span><br />    <span class="element">&lt;/vRange&gt;</span><br />   <span class="element">&lt;/fDecl&gt;</span><br />  <span class="element">&lt;/fsDecl&gt;</span><br /> <span class="element">&lt;/fsdDecl&gt;</span><br /><span class="element">&lt;/TEI&gt;</span></div></div></div></div><div class="div2" id="FSDEF"><div class="miniTOC miniTOC_right"><ul class="subtoc"><li class="subtoc"><span class="previousLink"> « </span><a class="navigation" href="FS.html#FD"><span class="headingNumber">18.11 </span>Feature System Declaration</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="#FSDEF" title="link to this section "><span class="invisible">TEI: Formal Definition and Implementation</span><span class="pilcrow">¶</span></a></span><span class="headingNumber">18.12 </span><span class="head">Formal Definition and Implementation</span></h3><p>This elements discussed in this chapter constitute a module of the TEI scheme which is formally defined as follows: </p><dl class="moduleSpec"><dt class="moduleSpecHead"><span lang="en">Module</span> iso-fs: Feature structures</dt><dd><ul><li><span lang="en">Elements defined</span>: <a class="link_odd" title="(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." href="ref-bicond.html">bicond</a> <a class="link_odd" title="(binary value) represents the value part of a feature-value specification which can contain either of exactly two possible values." href="ref-binary.html">binary</a> <a class="link_odd" title="(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." href="ref-cond.html">cond</a> <a class="link_odd" title="(default feature value) represents the value part of a feature-value specification which contains a defaulted value." href="ref-default.html">default</a> <a class="link_odd" title="(feature) represents a feature value specification, that is, the association of a name with a value of any of several different types." href="ref-f.html">f</a> <a class="link_odd" title="(feature declaration) declares a single feature, specifying its name, organization, range of allowed values, and optionally its default value." href="ref-fDecl.html">fDecl</a> <a class="link_odd" title="(feature description (in FSD)) describes in prose what is represented by the feature being declared and its values." href="ref-fDescr.html">fDescr</a> <a class="link_odd" title="(feature library) assembles a library of feature elements." href="ref-fLib.html">fLib</a> <a class="link_odd" title="(feature structure) represents a feature structure, that is, a collection of feature-value pairs organized as a structural unit." href="ref-fs.html">fs</a> <a class="link_odd" title="(feature-structure constraints) specifies constraints on the content of valid feature structures." href="ref-fsConstraints.html">fsConstraints</a> <a class="link_odd" title="(feature structure declaration) declares one type of feature structure." href="ref-fsDecl.html">fsDecl</a> <a class="link_odd" title="(feature system description (in FSD)) describes in prose what is represented by the type of feature structure declared in the enclosing fsDecl." href="ref-fsDescr.html">fsDescr</a> <a class="link_odd" title="(feature system declaration) provides a feature system declaration comprising one or more feature structure declarations or feature structure declaration links." href="ref-fsdDecl.html">fsdDecl</a> <a class="link_odd" title="(feature structure declaration link) associates the name of a typed feature structure with a feature structure declaration for it." href="ref-fsdLink.html">fsdLink</a> <a class="link_odd" title="(feature-value library) assembles a library of reusable feature value elements (including complete feature structures)." href="ref-fvLib.html">fvLib</a> <a class="link_odd" title="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." href="ref-if.html">if</a> <a class="link_odd" title="(if and only if) separates the condition from the consequence in a &lt;bicond&gt; element." href="ref-iff.html">iff</a> <a class="link_odd" title="(numeric value) represents the value part of a feature-value specification which contains a numeric value or range." href="ref-numeric.html">numeric</a> <a class="link_odd" title="(string value) represents the value part of a feature-value specification which contains a string." href="ref-string.html">string</a> <a class="link_odd" title="(symbolic value) represents the value part of a feature-value specification which contains one of a finite list of symbols." href="ref-symbol.html">symbol</a> <a class="link_odd" title="separates the condition from the default in an &lt;if&gt;, or the antecedent and the consequent in a &lt;cond&gt; element." href="ref-then.html">then</a> <a class="link_odd" title="(value alternation) represents the value part of a feature-value specification which contains a set of values, only one of which can be valid." href="ref-vAlt.html">vAlt</a> <a class="link_odd" title="(collection of values) represents the value part of a feature-value specification which contains multiple values organized as a set, bag, or list." href="ref-vColl.html">vColl</a> <a class="link_odd" title="(value default) declares the default value to be supplied when a feature structure does not contain an instance of &lt;f&gt; for this name; if unconditional, it is specified as one (or, depending on the value of the @org attribute of the enclosing &lt;fDecl&gt;) more &lt;fs&gt; elements or primitive values; if conditional, it is specified as one or more &lt;if&gt; elements; if no default is specified, or no condition matches, the value &#34;none&#34; is assumed." href="ref-vDefault.html">vDefault</a> <a class="link_odd" title="(value label) represents the value part of a feature-value specification which appears at more than one point in a feature structure." href="ref-vLabel.html">vLabel</a> <a class="link_odd" title="(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." href="ref-vMerge.html">vMerge</a> <a class="link_odd" title="(value negation) represents a feature value which is the negation of its content." href="ref-vNot.html">vNot</a> <a class="link_odd" title="(value range) defines the range of allowed values for a feature, in the form of an &lt;fs&gt;, &lt;vAlt&gt;, or primitive value; for the value of an &lt;f&gt; to be valid, it must be subsumed by the specified range; if the &lt;f&gt; contains multiple values (as sanctioned by the @org attribute), then each value must be subsumed by the &lt;vRange&gt;." href="ref-vRange.html">vRange</a></li></ul></dd></dl><p>  The selection and combination of modules to form a TEI schema is described in <a class="link_ptr" href="ST.html#STIN" title="Defining a TEI Schema"><span class="headingNumber">1.2 </span>Defining a TEI Schema</a>. </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="AI.html"><span class="headingNumber">17 </span>Simple Analytic Mechanisms</a><span class="nextLink"> » </span><a class="navigation" href="GD.html"><span class="headingNumber">19 </span>Graphs, Networks, and Trees</a></nav><!--Notes in [div]--><div class="notes"><div class="noteHeading">Notes</div><div class="note" id="Note112"><span class="noteLabel">75 </span><div class="noteBody">The recommendations of this chapter have been adopted as ISO Standard 24610-1 <span class="titlem">Language Resource Management — Feature Structures — Part One: Feature Structure Representation</span></div> <a class="link_return" title="Go back to text" href="#Note112_return">↵</a></div><div class="note" id="Note113"><span class="noteLabel">76 </span><div class="noteBody">See section <a class="link_ptr" href="DI.html#DIMVLV" title="Lexical View"><span class="headingNumber">9.5.2 </span>Lexical View</a> for more discussion of the need and rationale for ISOcat references.</div> <a class="link_return" title="Go back to text" href="#Note113_return">↵</a></div><div class="note" id="Note114"><span class="noteLabel">77 </span><div class="noteBody">Ways of pointing to components of a TEI document without using an XML identifier are discussed in <a class="link_ptr" href="SA.html#SAUR" title="Pointing Elsewhere"><span class="headingNumber">16.2.1 </span>Pointing Elsewhere</a></div> <a class="link_return" title="Go back to text" href="#Note114_return">↵</a></div></div><div class="stdfooter autogenerated"><p>
    [<a href="../../en/html/FS.html">English</a>]
    [<a href="../../de/html/FS.html">Deutsch</a>]
    [<a href="../../es/html/FS.html">Español</a>]
    [<a href="../../it/html/FS.html">Italiano</a>]
    [<a href="../../fr/html/FS.html">Français</a>]
    [<a href="../../ja/html/FS.html">日本語</a>]
    [<a href="../../ko/html/FS.html">한국어</a>]
    [<a href="../../zh-TW/html/FS.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