Rule syntax - BNF notation
General rule structure
AIXM Business Rules follow the following general pattern:
Where:
Order of logical operators No parenthesis are used in the expression of the AIXM Business Rules. The following convention is applied: and is evaluated before or. For example: True and True or False = True. This means and operators appear in an "inner loop" within the or loop(s). |
Rule grammar
The syntax of the AIXM Business Rules complies with the following BNF grammar: https://github.com/aixm/Business-Rules-Grammar
Work in progress!
The EBNF code is "work in progress". This grammar is currently tested and, when necessary enhanced, in two ways:
- re-writing of the AIXM Business Rules that are part of the EAD Profile (rules set 0.9.0);
- creating the new rules for verifying the compliance of AIXM Digital NOTAM data with the Event coding scenarios.
Elementary conditions - mapping to the AIXM XML structure
An elementary condition tests the presence or the values of one ore more AIXM XML nodes. The first node from the first elementary condition that composes a rule is considered the "entry node", as discussed in the Rules execution on AIXM XML data sets part.
The elementary conditions described in this section are based on situations that can exist in valid AIXM XML documents. An AIXM file that does not pass schema validation is not suitable for being verified against AIXM business rules, as it might contain data structures that are completely unexpected, thus not usable.