<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, @rend, @style, @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))
Member of
Contained by
iso-fs: vDefault
May contain
Declaration

<rng:element name="if">
 <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:group>
  <rng:choice>
   <rng:ref name="fs"/>
   <rng:ref name="f"/>
  </rng:choice>
  <rng:ref name="then"/>
  <rng:group>
   <rng:ref name="model.featureVal"/>
  </rng:group>
 </rng:group>
</rng:element>
element if
{
   att.global.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   ( ( fs | f ), then, ( model.featureVal ) )
}
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>
Note

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