The Annotation Node elements and may contain arbitrary well-formed XML. Both are semantically neutral - their absence, presence or content have no semantic effect on their parent element. All Branch Node elements, in the LegalRuleML and RuleML namespaces, may optionally have one child (compact serialization) or child (normalized serialization). The element is restricted to the content of LegalRuleML Expressions
E.15Identifiers - @xml:id and @iri
The @xml:id attribute is optionally allowed on most non-skippable edge elements in the LegalRuleML namespace and all elements in the RuleML namespace. The value of this attribute provides a syntactic label that has no semantic effect. Therefore, it is ignored when translating to the abstract syntax.
A number of elements in the LegalRuleML and RuleML namespaces may contain an @iri attribute, whose value may be an IRI (not a relative IRI reference) or a CURIE that expands to an IRI upon application of the Prefix mapping. An @iri attribute on a Node element corresponds to an owl:sameAs relationship in the abstract syntax.
E.16Order of Elements within a LegalRuleML Document
The elements of LegalRuleML XML serialization follow a precise prescriptive order. The following list shows this order. The list uses the regular-expression-like syntax convention adopted by Relax NG, where an asterisk (*) means ‘zero or more’ elements; ? means ‘zero or one’ element:
The normative definition of the LegalRuleML syntax is provided by modular Relax NG schemas in the Relax NG Compact (RNC) syntax.
The Relax NG schema modules are written in the “chameleon” style (see http://books.xmlschemata.org/relaxng/relax-CHP-11-SECT-5.html), without specifying a target namespace, to maximize the potential for re-use.
The LegalRuleML modules follow the monotonic design pattern  developed for the RuleML 1.0 Relax NG schemas and again employed in RuleML Version 1.01 and 1.02, for best compatibility with the included RuleML modules.
This design pattern is based on restricting the Relax NG syntax in a manner that guarantees monotonicity when schema modules are mixed together. That is, a language defined by a subset of the modules of another language will be a sublanguage of it.
E.17.2Suites and Drivers
The fine-grained Relax NG modules are assembled into driver schemas through re-usable module "suites", as follows.
LegalRuleML core suites define the essential features of a LegalRuleML schema, aside from RuleML modules. There are two module suites considered to be at the "core" level, as follows:
* "relaxng/suites/normal.rnc", the normalized serialization suite, expands the main core suite to include the "stripe_optional" modules.
The Relax NG schemas that are used directly for validation or generation of other artifacts are called "drivers". There are three groups of drivers, according to their purposes, as follows:
* Validation drivers are intended to be used directly for validation of LegalRuleML instances.
** "relaxng/lrml-basic.rnc" may be used to validate LegalRuleML instances in the basic dialect. This driver expands the basic suite with serialization modules and the Relax NG schema module for a basic version of the RuleML grammar.
** "relaxng/lrml-normal.rnc” may be used to validate LegalRuleML instances in the normalized serialization
* XSD-conversion drivers are intended to be used only for generation of the corresponding XSD schemas, as described in Section 5.18 XSD Schema Derivation.
** "generation/lrml4xsd-basic.rnc" is the source used to generate the XSD basic dialect schema, "xsd-schema/basic/lrml-basic.xsd" as well as its companion schema "xsd-schema/basic/ruleml.xsd" for the RuleML namespace
** "generation/lrml4xsd-compact.rnc" is the source used to generate the XSD compact serialization schema, "xsd-schema/compact/lrml-compact.xsd" as well as its companion schema "xsd-schema/compact/ruleml.xsd" for the RuleML namespace
** "generation/lrml4xsd-normal.rnc" is the source used to generate the XSD normalized serialization schema, lrml-normal.xsd as well as its companion schema "xsd-schema/normal/ruleml.xsd" for the RuleML namespace
** "generation/lrml4xsd-normal.rnc" is the source used to generate the basic dialect simplified schema, "simplified/lrml-basic4simp.rnc"
** "generation/drivers4simp/lrml-compact4simp.rnc" is the source used to generate the compact serialization simplified schema, "simplified/lrml-compact4simp.rnc"
** "generation/drivers4simp/lrml-normal4simp.rnc"is the source used to generate the normalized serialization simplified schema, "simplified/lrml-normal4simp.rnc"