VTL Engine & Editor

VTL Engine & Editor

VTL Engine & Ediotor (VTL E&E) is an interpreter engine and an editor for the Validation and Transformation Language, a declarative, metadata-driven language developed in the context of the SDMX standard, with the goal of standardizing data validations and transformations.

VTL E&E is an interpreter engine and an editor for the Validation and Transformation Language, a declarative, metadata-driven language developed in the context of the SDMX standard, with the goal of standardizing data validations and transformations.

Minimalistic and opinionated design

VTL E&E core libraries are developed in Java and as such they can be used wherever a Java integration is possible. One of the main goals of this tool is to help users learn VTL and work with it in the most comfortable and usual way. To achieve this, the E&E also comes as an R package (RVTL) that offers both a R API to the engine and VTL Studio, a Shiny Integrated Development Environment. The R functions seamlessly communicate with the VTL engine, making it possible to mix R code and VTL transformations, while VTL Studio can be used to easily develop and test VTL code.

Users can work with the VTL Engine to build, test and execute new VTL transformations on datasets that refer to data and metadata that are available in one of the supported Data Environments and Metadata Repositories.

Various types of Data Environments and Metadata Repositories are already supported out-of-the-box (CSV, Json, SDMX REST API…), but users can develop custom ones in any language that runs on a JVM (Java, Scala, Kotlin), to support any kind of data or metadata storage. E&E is seamlessly integrated with the FMR, making it possible to use structures, codelists and transformations that are stored as SDMX artifacts.

User Interactions

  • The core Java libraries can be used in any Java integration project and they also provide a command line interface for execution from a terminal.
  • The VTL Studio Integrated Development Environment (developed in R and Shiny) can be used to develop Transformations, test them and review output data and metadata.
  • A Java-native Jupyter kernel is available to embed VTL code in a notebook. It provides structure visualization and data tabulation features.
  • It is also possible to use the R commands provided in the RVTL package to mix R code and VTL transformations.

Installation and Configuration

For more information, refer to the VTL E&E wiki