UTL-X v0.9.0
UTL-X v0.9.0
Universal Transformation Language Extended - A format-agnostic functional transformation language.
Highlights
- Format-agnostic transformations — XML, JSON, CSV, YAML, XSD, JSON Schema, Avro, Protobuf
- 120+ standard library functions — string, array, math, date, type, encoding, XML, and more
- Identity mode (NEW) — instant format conversion without writing a script:
cat data.xml | utlx # XML to JSON (smart flip) cat data.json | utlx # JSON to XML (smart flip) cat data.csv | utlx # CSV to JSON cat data.xml | utlx --to yaml # override with --to
- Implicit transform — no
transformsubcommand needed:utlx script.utlx input.xml # implicit transform --to/--fromaliases — concise format flags- Strong type system with compile-time checking
- Multi-input transformations — join data from multiple files/formats
- 460 conformance tests passing (100%)
CLI Quick Start
# Build
./gradlew :modules:cli:jar
# Format conversion (no script needed)
cat data.xml | ./utlx
cat data.json | ./utlx --to yaml
# Script-based transformation
./utlx transform script.utlx input.xml -o output.json
# Version
./utlx --versionSupported Formats
| Format | Input | Output |
|---|---|---|
| JSON | Yes | Yes |
| XML | Yes | Yes |
| CSV | Yes | Yes |
| YAML | Yes | Yes |
| XSD | Yes | Yes |
| JSON Schema | Yes | Yes |
| Avro | Yes | Yes |
| Protobuf | Yes | Yes |
Requirements
- JDK 17 or later
License
Dual-licensed: AGPL-3.0 (open source) / Commercial license available.