## 2 Materials
### Fundamentals of File Formats  
A file format is a convention or set of rules for representing data in a file. Structuring allows the underlying communication process to be standardized and facilitates the comparability of further data processing [45]. A large number of different file formats exist for storing information. Specific formats have been established for diverse areas of use. For example, the German Institute for Standardization (DIN) 26100 provides an overview of the potential formats for each domain. The norm defines a structure for the data exchange of standardized and non-standardized products. A compressed container file bundles all relevant partial models saved in exchange files. The applicator creates a separate folder in the container for each area of use in the root directory. The standard specifies a non-exhaustive selection of formats stored in the respective folder, which Table 1 lists [9]. Figure 1: Process flow of neutral file-based data exchange. Inside a transfer file, the information is encoded in binary or plain text, mainly using the American Standard Code for Information (ASCII) or the Universal Coded Character Set Transformation Format (UTF-8). In general, both binary and plain text-encoded files are suitable for manipulation. Since text-based files are easier to trace than non-text files, the present work focuses on this file type. Hex editors also allow tracking and adaptation of the byte sequences of a binary file [45]. Regarding file adaption, the relationships within a file are of particular importance. If, for example, information A references information B, a change to A may lead to the invalidity of B. The three following basic referencing types can be distinguished:  
* Hierarchy--A tree structure arranges the stored data. A root element represents the top level and contains the entirety of the information saved in the document. Child elements divide the root element, which can be subdivided into deeper nestings. The lowest level in each case represents the direct data. * Relation--Each stored piece of information has a unique identification key that links the data using references. The keys can be either numbers or strings. * Block--Blocks in the file store the data. Each block represents a coherent piece of information, and unions have no or only a weak connection to one another. One of the commonalities among the reference types is that single units, which we refer to as \"items,\" bundle logically related information. In a given communicative context, a single piece of information is a minor representation of facts that can be interpreted independently and fixed permanently as discrete signs [46]. The items are advantageous because they can be extracted, analyzed, and improved. Table 2 below shows three exemplary items based on the hierarchical Extensible Markup Language (XML) format, the relational format STEP, and the block Heidenhain (H) format [20; 47; 48]. The method presented in this paper for resolving compatibility issues is suitable for all three reference types mentioned. Special considerations arise due to the identification of keys for relational structures, which is why the present contribution focuses on analyzing the representative, relational, and widespread exchange formats STEP and INP.