The rule element specifies a rule, which is composed of the rule definition and the event by which the rule is called. The rule definition is defined by this element and the ruleSet element, as specified in section The event is defined by the following elements:

It is also defined by the ruleSetAction element associated with each of these elements.

A rule (1) consists of the following:

  • A set of one or more actions.

  • A condition that determines whether the actions are executed.

If the rule’s associated condition evaluates positively with the true function, as specified in [XPATH] section 4.3, the rule’s associated actions are processed sequentially in the order in which they are listed within the rule element.

           Rules are grouped together as a rule set, as specified by the ruleSet element specified in section, containing one or more rules. A rule set is bound to one of the following events with the ruleSetAction element, as specified in section

  • A form file change, such as a change in an XML node’s value.

  • A form action, such as submitting the form file.

  • An unbound control event, such as a button click event.

Each rule set is processed sequentially in the order in which they are listed within the ruleSets element, as specified in section

Parent Elements


Child Elements














caption: This attribute specifies the name of the rule (1).

condition: This attribute specifies an XPath expression that MUST evaluate to either "true()" or "false()". If it evaluates to "true()", the associated actions MUST be executed. If this attribute is not present, its value MUST be interpreted as "true()".

isEnabled: This attribute specifies if the rule MUST be enabled for the form. If this attribute is not present, its value MUST be interpreted as "yes".

The following W3C XML Schema ([XMLSCHEMA1] section 2.1) fragment specifies the contents of this element.

 <xsd:element name="rule">
       <xsd:choice minOccurs="0" maxOccurs="unbounded">
         <xsd:element ref="xsf:dialogBoxMessageAction"/>
         <xsd:element ref="xsf:dialogBoxExpressionAction"/>
         <xsd:element ref="xsf:switchViewAction"/>
         <xsd:element ref="xsf:assignmentAction"/>
         <xsd:element ref="xsf:queryAction"/>
         <xsd:element ref="xsf:changeAdapterProperty"/>
         <xsd:element name="submitAction">
             <xsd:attribute name="adapter" type="xsf:xdTitle" use="required"/>
         <xsd:element ref="xsf:openNewDocumentAction"/>
         <xsd:element ref="xsf:closeDocumentAction"/>
         <xsd:element ref="xsf:webPartConnectionAction"/>
         <xsd:element ref="xsf:signSignatureLineAction"/>
       <xsd:element name="exitRuleSet" minOccurs="0">
     <xsd:attribute name="caption" type="xsd:string" use="required"/>
     <xsd:attribute name="condition" type="xsd:string" use="optional"/>
     <xsd:attribute name="isEnabled" type="xsf:xdYesNo" use="optional" default="yes"/>