The include element allows modular binding definitions by specifying another binding to be read as part of the current binding definition. Since 1.2, it also allows for bindings to be separately compiled.
Top-level format and mapping definitions from the included binding are treated the same as if they'd been present in the original binding, as children of the binding element. namespace definitions, on the other hand, apply downward only: Top-level namespace definitions in the original binding apply to the included binding just as if they were directly present, but namespace definitions within the included binding do not apply back to the original binding. This makes it easy to structure bindings corresponding to different namespaces, and to combine these bindings without namespace conflicts.
include elements can also be used within included bindings, and circular references are allowed.
The include element defines two unique attributes.
Attributes of the included binding element generally must match the same attributes of the original binding; the only exceptions are the package and name attributes.