<if>

<if> 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. [18.11 Feature System Declaration]
Module iso-fs — Feature Structures
Attributes
Contained by
iso-fs: vDefault
May contain
Note

May contain a feature structure, followed by a feature value; the two are separated by a then element.

Example
<vDefault>
 <if>
  <fs>
   <f name="VFORM">
    <symbol value="INF"/>
   </f>
   <f name="SUBJ">
    <binary value="true"/>
   </f>
  </fs>
  <then/>
  <symbol value="for"/>
 </if>
</vDefault>
Content model
<content>
 <sequence>
  <alternate>
   <elementRef key="fs"/>
   <elementRef key="f"/>
  </alternate>
  <elementRef key="then"/>
  <classRef key="model.featureVal"/>
 </sequence>
</content>
Schema Declaration
<rng:element name="if">
 <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:group>
  <rng:choice>
   <rng:ref name="fs"/>
   <rng:ref name="f"/>
  </rng:choice>
  <rng:ref name="then"/>
  <rng:ref name="model.featureVal"/>
 </rng:group>
</rng:element>
element if
{
   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,
   ( ( fs | f ), then, model.featureVal )
}