ConsistencyRuleSet := ConsistencyRuleSequence ConsistencyRuleSequence := ConsistencyRule ConsistencyRuleSequence | ----------- ConsistencyRule := Description SetDefinitions Forall Description := String SetDefinitions := SetDefinition SetDefinitions | SetDefinition SetDefinition := Id XPathExpression ----------- Forall := Id Mode SetOperator SetOperator := SizeEqual | SizeNotEqual | AndOperator | OrOperator SizeEqual := cmode imode FilteredSet SizeNotEqual := cmode imode FilteredSet AndOperator := cmode imode SetOperator SetOperator OrOperator := cmode imode SetOperator SetOperator ----------- FilteredSet := Filter | Filtered | Integer Filter := Id Mode NodeEvaluator Filtered := Id Mode NodeEvaluator? Integer := value ----------- NodeEvaluator := And Or Equal NotEqual IsIntersect Subset And := NodeEvaluator NodeEvaluator Or := NodeEvaluator NodeEvaluator Equal := ValueSet ValueSet NotEqual := ValueSet ValueSet IsIntersect := ValueSet ValueSet Subsect := ValueSet ValueSet ----------- ValueSet := XPathSource | XPathFilter | Constant XPathSource := XPathExpression XPathFilter := XPathExpression Constant := value ----------- Mode := "oneSet" | "multipleSet" Id := String XPathExpression := String cmode := "C" | "CX" | "CN" imode := "I" | "IX" | "IN" value := String