AutomationML is a data format that uses XML files to convey data. While the basis of the AutomationML file follows CAEX in its makeup (see H.2), an important feature of AutomationML is its extensibility. AutomationML objects can link to other objects inside the same or other AutomationML files. Furthermore, it is possible to link to any other URI-addressable external resource from an AutomationML file. This allows for easy incorporation of proprietary formats into AutomationML since the language itself does not need to be expanded in order to link to any sources.

In addition, AutomationML is inherently robust to extension. AutomationML-compatible tools are required to ignore any data they come across that they cannot process. Thus, a heterogeneous mass of engineering data can be conveyed in a single format. Any tool that cannot process PLC programs, e.g., will ignore the sections of a file devoted to this kind of data. This, again, makes using AutomationML for new applications easy, as compatibility with existing tools does not have to be ensured in any specific way to keep engineering toolchains intact. The only issue that has to be addressed is, of course, the ability of tools to ingest the information they are supposed to ingest.