Xdefinition is a programming language designed to describe the structure of XML documents and to work with them. The Xdefinition language itself also takes the form of XML. It allows you to validate input data, perform processing, or construct data as described in the Xdefinition or to make transformation of input data according to the requirements of Xdefinition. In addition to data in XML form, Xdefinition can also be used to work with data fe from JSON, YAML, Properties, Windows INI or CSV data (comma separated values). The Xdefinition properties are as follows:
Clear, understandable and easy to read data description in various formats (XML, JSON, YAML, properties, Windows INI, CSV).
Integrated technology for data validation, processing or data construction/transformation.
Detailed error reporting and the ability to process error log files.
Xcomponent generator - Java class source code generator representing class with data described in Xdefinition (similar to JAXB).
Interfacing with external data objects and/or Java methods.
Easy maintenance of large-scale projects with many different data structures.
Ability to process very large data (many GB in size).
Ability to interface with databases and other external data sources and methods.
Extended list of supported data types compared to XML schema types (e.g. GPS position, currencies, IP addresses, email addresses, phone numbers, etc.).
In addition to the pre-declared data types, you can also describe the data format using e.g. the BNF grammar.
Xdefinition supports also the general notation of data objects supported in Xdefinition (XON - Xdefinition Object Notation).