<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 — 18 Feature Structures
In addition to global attributes In addition to global attributes
name indicates 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
optional indicates whether or not the value of this feature may be present.
Status Optional
Datatype

<rng:data type="boolean"/>
xsd:boolean
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
May contain
Declaration

<rng:element name="fDecl">
 <rng:ref name="att.global.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,
   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>