An X-definition is a tool for describing the structure of XML documents (and also JSON, YAML, Windows INI, or Data Properties). It validates input data, performs processing, or allows data to be constructed according to the description in the X-definition. Provides or transforms data of specified formats.
Features of X-definition are:
Clear description of the data in different formats: XML or JSON, YAML, Properties, CSV, etc.
Integrated technology for data validation, processing or data construction.
Powerful and detailed error reporting and the ability to process error log files.
X-Component generator - Java source classes representing the data (similar to JAXB).
Interfacing with external Java data objects and/or methods.
Easy maintenance of large projects with many different data structures.
Ability to handle very large data (many GB in size).
Interfacing witn databases and other external data sources and methods.
Extended list of supported data types (e.g. GPS positions, monetary currencies, IP addresses, email addresses, phone numbers, etc.).
In addition to the pre-declared data types, it is possible to describe the data format using BNF grammar.
XON (X-definition Object Notation) - general notation of any type of data object supported in X-definition.