A data exchange language is a language that is domain-independent and can be used for any kind of data. Its semantic expression capabilities and qualities are largely determined by comparison with the capabilities of natural languages. The term is also applied to any file format that can be read by more than one program, including proprietary formats such as Microsoft Office documents. However, a file format is not a real language as it lacks a grammar and vocabulary. Practice has shown that certain types of formal languages are better suited for this task than others, since their specification is driven by a formal process instead of particular software s implementation needs. For example XML is a markup language that was designed to enable the creation of dialects and a popular choice now in particular on the internet. However, it does not contain domain specific dictionaries or fact types. Beneficial to a reliable data exchange is the availability of standard dictionaries-taxonomies and tools libraries such as parsers, schema validators and transformation tools.