Presents three separate and independent descriptors as if one

For user friendliness and for certain design reasons that are not discussed here, the Macro Editor presents the Field Counts and OIA descriptor as one descriptor (see Figure 1). However, in fact each of the three parts of the Field Counts and OIA descriptor on the Description tab of the Macro Editor corresponds to a separate and independent descriptor in the underlying XML macro language. Specifically:
  • The Number of Fields setting is stored as a <numfields> descriptor.
  • The Number of Input Fields setting is stored as a <numinputfields> descriptor.
  • The Wait for OIA to Become Uninhibited setting is stored as an <oia> descriptor.
Table 1 lists these three types of descriptors and shows how many of each can occur within a <description> element:
Table 1. Number of each descriptor type allowed
Type of descriptor: Number of this type of descriptor allowed per macro screen (that is, per <description> element):
<oia> 1 (required)
<numfields> 1 (optional)
<numinputfields> 1 (optional)
As the table above shows, only one of each type of these descriptors can occur in a <description> element. The <oia> descriptor is required, but the <numfields> descriptor and the <numinputfields> descriptor are optional. The Macro Editor enforces these rules.
You can reinforce these ideas in your mind by looking at a Field Counts and OIA descriptor first as it appears on the Description tab of the Macro Editor and then in the Code Editor. Figure 1 shows a Field Counts and OIA descriptor on the Description tab of the Macro Editor. The settings of the three parts of the Field Counts and OIA descriptor are set as follows:
Number of Fields:  80
Number of Input fields:  3
Wait for OIA to Become Uninhibited:  true
But if you look at the corresponding <description> element with the Code Editor, you see the following:
Figure 1. A <description> element with three descriptors
<description>
   <oia status="NOTINHIBITED" optional="false" invertmatch="false" />
   <numfields number="80" optional="false" invertmatch="false" />
   <numinputfields number="3" optional="false" invertmatch="false" />
</description>
The XML code fragment above shows that the <description> element contains three separate and independent descriptors, each corresponding to one of the three parts of the Field Counts and OIA descriptor.
Now suppose if you will that you change the Field Counts and OIA descriptor settings to be as follows:
Number of Fields:  (blank)
Number of Input fields:  (blank)
Wait for OIA to Become Uninhibited:  true
Setting the first two fields to blank tells the Macro Editor that these items are not to be included in the script. If you look again at the corresponding <description> element with Code Editor you now see:
<description>
   <oia status="NOTINHIBITED" optional="false" invertmatch="false" />
</description>
The XML code fragment above shows that the <description> element now contains only one descriptor, an <oia> descriptor corresponding to the Wait for OIA to Become Uninhibited setting in the Field Counts and OIA descriptor.