The optional and service attributes apply to all sub-verifiers.
When a verifier is used as a sub-verifier, you may add the optional attribute in the sub-verifier element (such as, <LDAP> or <DataBase>). The optional attribute is used to cause the Multi verifier to ignore errors during lookup and proceed to the next sub-verifier. Without this argument, a server error (such as lost connection to the LDAP server, or timeout to the SMTP server) results in a lookup failure because without the ability to query all the sub-verifiers, a negative verification response cannot be guaranteed correct.
On the other hand, in the school.edu example, if you set the student LDAP server as optional="true" and that LDAP server crashes, then all the student email addresses will appear to be invalid because the faculty LDAP server would report them as bad email addresses. Only mark sub-verifiers as optional if they are not needed to ensure the validity of a verification request.
Sub-verifiers can also have a service attribute. The default is all. When set to service="omit" the results of address verification are inverted. That is to say, if verifying email@domain and the sub-verifier finds a match, then the Multi verifier will not search subsequent sub-verifiers and will report the address as not-verified (550).
Conversely, when an email address is not matched by the service="omit" verifier, then the search continues with the next sub-verifier. Placing a sub-verifier with service="omit" as the last verifier will therefore have no effect. With the service="verify" argument, that particular sub-verifier is only used for verification, and is ignored when processing authentication requests. When the service attribute is set to all, then the sub-verifier is used for both verification and authentication requests.
The enumerate attribute determines whether or not to enable enumeration for the sub-verifier.