<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]
Moduleiso-fs — Feature Structures
Attributesatt.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))
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 )
}