Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Document Conventions

This page describes the formatting and notation conventions used throughout this documentation.

Code Examples

MDL examples use sql code fencing because MDL’s syntax is SQL-like and this provides appropriate syntax highlighting:

CREATE PERSISTENT ENTITY MyModule.Customer (
    Name: String(200) NOT NULL
);

Go code examples use go code fencing:

reader, err := modelsdk.Open("/path/to/app.mpr")
defer reader.Close()

Shell commands use bash code fencing:

mxcli -p app.mpr -c "SHOW MODULES"

Syntax Notation

When describing the syntax of MDL statements, the following conventions apply:

NotationMeaning
UPPERCASEKeywords – type them exactly as shown
lowercaseUser-provided values (names, expressions, types)
[brackets]Optional clause – may be omitted
...Repetition – the preceding element may appear multiple times
`ab`
( )Grouping – used to clarify precedence in syntax descriptions

For example, the notation:

CREATE [PERSISTENT] ENTITY module.name (
    attribute_name: type [NOT NULL] [, ...]
);

means: CREATE and ENTITY are required keywords; PERSISTENT is optional; module.name is a user-provided qualified name; each attribute has a name and type, with an optional NOT NULL constraint; and additional attributes may follow, separated by commas.

Cross-References

References to MDL statements link to their detailed pages in Part VI (MDL Statement Reference) using the format “See CREATE ENTITY” or “See GRANT”. References to conceptual explanations link to the relevant section in Part II (The MDL Language).

Terminology

Mendix-specific terms such as “entity”, “microflow”, “nanoflow”, “module”, and “domain model” follow standard Mendix terminology. See the Glossary for definitions.