<fDecl>

<fDecl> (feature declaration) declares a single feature, specifying its name, organization, range of allowed values, and optionally its default value. [18.11 Feature System Declaration]
Module iso-fs — Feature Structures
Attributes
name⚓︎ a single word which follows the rules defining a legal XML name (see https://www.w3.org/TR/REC-xml/#dt-name), indicating the name of the feature being declared; matches the name attribute of f elements in the text.
Status Required
Datatype teidata.name
optional⚓︎ indicates whether or not the value of this feature may be present.
Status Optional
Datatype teidata.truthValue
Default true
Note

If a feature is marked as optional, it is possible for it to be omitted from a feature structure. If an obligatory feature is omitted, then it is understood to have a default value, either explicitly declared, or, if no default is supplied, the special value any. If an optional feature is omitted, then it is understood to be missing and any possible value (including the default) is ignored.

Contained by
iso-fs: fsDecl
May contain
Example
<fDecl name="INV">
 <fDescr>inverted sentence</fDescr>
 <vRange>
  <vAlt>
   <binary value="true"/>
   <binary value="false"/>
  </vAlt>
 </vRange>
 <vDefault>
  <binary value="false"/>
 </vDefault>
</fDecl>
Content model
<content>
 <sequence>
  <elementRef key="fDescrminOccurs="0"/>
  <elementRef key="vRange"/>
  <elementRef key="vDefaultminOccurs="0"/>
 </sequence>
</content>
Schema Declaration
<rng:element name="fDecl">
 <rng:ref name="att.datcat.attributes"/>
 <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:attribute name="name">
  <rng:ref name="teidata.name"/>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="optional"
   a:defaultValue="true">

   <rng:ref name="teidata.truthValue"/>
  </rng:attribute>
 </rng:optional>
 <rng:group>
  <rng:optional>
   <rng:ref name="fDescr"/>
  </rng:optional>
  <rng:ref name="vRange"/>
  <rng:optional>
   <rng:ref name="vDefault"/>
  </rng:optional>
 </rng:group>
</rng:element>
element fDecl
{
   att.datcat.attributes,
   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,
   attribute name { teidata.name },
   attribute optional { teidata.truthValue }?,
   ( fDescr?, vRange, vDefault? )
}