<f>

<f> (feature) represents a feature value specification, that is, the association of a name with a value of any of several different types. [18.2 Elementary Feature Structures and the Binary Feature Value]
Module iso-fs — Feature Structures
Attributes att.global (@xml:id, @n, @xml:lang, @xml:base, @xml:space) (att.global.rendition (@rend, @style, @rendition)) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) (att.global.responsibility (@cert, @resp)) (att.global.source (@source)) att.datcat (@datcat, @valueDatcat, @targetDatcat)
name⚓︎ a single word which follows the rules defining a legal XML name (see https://www.w3.org/TR/REC-xml/#dt-name), providing a name for the feature.
Status Required
Datatype teidata.name
fVal⚓︎ (feature value) references any element which can be used to represent the value of a feature.
Status Optional
Datatype teidata.pointer
Note

If this attribute is supplied as well as content, the value referenced is to be unified with that contained.

Contained by
iso-fs: bicond cond fLib fs if
May contain
Note

The content of f may be textual, with the assumption that the data type of the feature value is determined by the schema—this is the approach used in many language-technology-oriented projects and recommendations.

Example
<f name="gender">
 <symbol value="feminine"/>
</f>
Example
<fs>
 <f name="voice">active</f>
 <f name="tense">SimPre</f>
</fs>
Content model
<content>
 <alternate minOccurs="1maxOccurs="1">
  <textNode/>
  <classRef key="model.featureVal"/>
 </alternate>
</content>
Schema Declaration
<rng:element name="f">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.rendition.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:ref name="att.global.responsibility.attributes"/>
 <rng:ref name="att.global.source.attributes"/>
 <rng:ref name="att.datcat.attributes"/>
 <rng:attribute name="name">
  <rng:ref name="teidata.name"/>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="fVal">
   <rng:ref name="teidata.pointer"/>
  </rng:attribute>
 </rng:optional>
 <rng:choice>
  <rng:text/>
  <rng:ref name="model.featureVal"/>
 </rng:choice>
</rng:element>
element f
{
   att.global.attributes,
   att.global.rendition.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   att.global.responsibility.attributes,
   att.global.source.attributes,
   att.datcat.attributes,
   attribute name { teidata.name },
   attribute fVal { teidata.pointer }?,
   ( text | model.featureVal )
}