<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]
Moduleiso-fs — 18 Feature Structures
Attributesatt.global (@xml:id, @n, @xml:lang, @rend, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change))
nameindicates the name of the feature being declared; matches the name attribute of f elements in the text.
Status Required
Datatype

<rng:ref name="data.name"/>
data.name
Values any string of characters
optionalindicates whether or not the value of this feature may be present.
Status Optional
Datatype

<rng:data type="boolean"/>
xsd:boolean
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.
Used by
Contained by
iso-fs: fsDecl
May contain
Declaration

<rng:element name="fDecl">
 <rng:ref name="att.global.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:attribute name="name">
  <rng:ref name="data.name"/>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="optional" a:defaultValue="true">
   <rng:data type="boolean"/>
  </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.global.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   attribute name { data.name },
   attribute optional { xsd:boolean }?,
   ( fDescr?, vRange, vDefault? )
}
Example
<fDecl name="INV">
 <fDescr>inverted sentence</fDescr>
 <vRange>
  <vAlt>
   <binary value="true"/>
   <binary value="false"/>
  </vAlt>
 </vRange>
 <vDefault>
  <binary value="false"/>
 </vDefault>
</fDecl>