<xsd:simpleType name="CheckEnumeration">
<xsd:annotation>
<xsd:documentation>The CheckEnumeration simple type defines acceptable check values, which are used to determine the final result of something based on the results of individual components. When used to define the relationship between objects and states, each check value defines how many of the matching objects must satisfy the given state for the test to return true. When used to define the relationship between instances of a given entity, the different check values defines how many instances must be true for the entity to return true. When used to define the relationship between entities and multiple variable values, each check value defines how many variable values must be true for the entity to return true.</xsd:documentation>
<xsd:appinfo>
<evaluation_documentation>Below are some tables that outline how each check attribute effects evaluation. The far left column identifies the check attribute in question. The middle column specifies the different combinations of individual results that the check attribute may bind together. (T=true, F=false, E=error, U=unknown, NE=not evaluated, NA=not applicable) For example, a 1+ under T means that one or more individual results are true, while a 0 under U means that zero individual results are unknown. The last column specifies what the final result would be according to each combination of individual results. Note that if the individual test is negated, then a true result is false and a false result is true, all other results stay as is.</evaluation_documentation>
<evaluation_chart xml:space="preserve">
|| num of individual results ||
check attr is || || final result is
|| T | F | E | U | NE | NA ||
---------------||-----------------------------||------------------
|| 1+ | 0 | 0 | 0 | 0 | 0+ || True
|| 0+ | 1+ | 0+ | 0+ | 0+ | 0+ || False
ALL || 0+ | 0 | 1+ | 0+ | 0+ | 0+ || Error
|| 0+ | 0 | 0 | 1+ | 0+ | 0+ || Unknown
|| 0+ | 0 | 0 | 0 | 1+ | 0+ || Not Evaluated
|| 0 | 0 | 0 | 0 | 0 | 1+ || Not Applicable
---------------||-----------------------------||------------------
</evaluation_chart>
<evaluation_chart xml:space="preserve">
|| num of individual results ||
check attr is || || final result is
|| T | F | E | U | NE | NA ||
---------------||-----------------------------||------------------
|| 1+ | 0+ | 0+ | 0+ | 0+ | 0+ || True
|| 0 | 1+ | 0 | 0 | 0 | 0+ || False
AT LEAST ONE || 0 | 0+ | 1+ | 0+ | 0+ | 0+ || Error
|| 0 | 0+ | 0 | 1+ | 0+ | 0+ || Unknown
|| 0 | 0+ | 0 | 0 | 1+ | 0+ || Not Evaluated
|| 0 | 0 | 0 | 0 | 0 | 1+ || Not Applicable
---------------||-----------------------------||------------------
</evaluation_chart>
<evaluation_chart xml:space="preserve">
|| num of individual results ||
check attr is || || final result is
|| T | F | E | U | NE | NA ||
---------------||-----------------------------||------------------
|| 1 | 0+ | 0 | 0 | 0 | 0+ || True
|| 2+ | 0+ | 0+ | 0+ | 0+ | 0+ || ** False **
|| 0 | 1+ | 0 | 0 | 0 | 0+ || ** False **
ONLY ONE ||0,1 | 0+ | 1+ | 0+ | 0+ | 0+ || Error
||0,1 | 0+ | 0 | 1+ | 0+ | 0+ || Unknown
||0,1 | 0+ | 0 | 0 | 1+ | 0+ || Not Evaluated
|| 0 | 0 | 0 | 0 | 0 | 1+ || Not Applicable
---------------||-----------------------------||------------------
</evaluation_chart>
<evaluation_chart xml:space="preserve">
|| num of individual results ||
check attr is || || final result is
|| T | F | E | U | NE | NA ||
---------------||-----------------------------||------------------
|| 0 | 1+ | 0 | 0 | 0 | 0+ || True
|| 1+ | 0+ | 0+ | 0+ | 0+ | 0+ || False
NONE SATISFY || 0 | 0+ | 1+ | 0+ | 0+ | 0+ || Error
|| 0 | 0+ | 0 | 1+ | 0+ | 0+ || Unknown
|| 0 | 0+ | 0 | 0 | 1+ | 0+ || Not Evaluated
|| 0 | 0 | 0 | 0 | 0 | 1+ || Not Applicable
---------------||-----------------------------||------------------
</evaluation_chart>
</xsd:appinfo>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="all">
<xsd:annotation>
<xsd:documentation>A value of 'all' means that a final result of true is given if all the individual results are true.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="at least one">
<xsd:annotation>
<xsd:documentation>A value of 'at least one' means that a final result of true is given if at least one of the individual results is true.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="none exist">
<xsd:annotation>
<xsd:documentation>A value of 'none exists' means that a test evaluates to true if no matching object exists that satisfy the data requirements.</xsd:documentation>
<xsd:documentation>DEPRECATED: this value has been deprecated and will be removed with the next major version of the language. One should use the other possible values in addition to the existance attributes instead of the 'none exist' value here.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="none satisfy">
<xsd:annotation>
<xsd:documentation>A value of 'none satisfy' means that a final result of true is given if none the individual results are true.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="only one">
<xsd:annotation>
<xsd:documentation>A value of 'only one' means that a final result of true is given if one and only one of the individual results are true.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
|