VERTA
Author once. Ship standard XSLT.
VERTA is a transformation language for XML in which validation is part of the language — not three passes downstream. Author a mapping, have it checked before any document exists, then compile to an ordinary XSLT 2.0 stylesheet you deploy anywhere.
Validation, built in
Transforming a document today takes three engines and three vocabularies — XSLT, XSD, Schematron — all pointing at the output. VERTA folds validation into the language, on meaning rather than syntax.
Check the mapping, not its outputs
Because it knows the target schema, VERTA tells you which required fields you never populate — before any document exists. And refuse says so, instead of emitting a silent default that fails later.
Deploy an ordinary XSLT 2.0
vt build compiles your mapping to a standard stylesheet. Your customer installs nothing and runs it on the Saxon they already have — the tool ships none of itself.
Every rule is source → target. No “which template won”.
You read a VERTA transform top to bottom. The two schemas are its type system, so the checker knows what the target requires — and a mapping that can't answer refuses rather than inventing a value.
transform orders-to-shipments from schemas/PurchaseOrder.xsd root Order to schemas/Despatch.xsd root DespatchAdvice ord:ID -> dsp:OrderReference/dsp:ID ord:IssueDate -> dsp:IssueDateTime as date 102 first ord:Party/ord:Name -> dsp:Consignor/dsp:Name for each ord:Line -> dsp:DespatchLine ord:LineID -> dsp:ID ord:Quantity -> dsp:DeliveredQuantity as number 2 derive dsp:StatusCode from ord:StatusCode OPEN -> 3 SHIPPED -> 9 else refuse "no despatch status for order status {value}"
Write the mapping
Every rule is source -> target. No apply-templates, no guessing which template fired.
Before any document
VERTA names the required target fields you never populate — on an empty input, at author time.
Emit ordinary XSLT 2.0
vt build writes a .xsl. Runs on any Saxon — the customer installs nothing.
Interested in VERTA?
It's a transformation language in active development. Tell us and we'll reach out — whether you map documents for a living, maintain a wall of XSLT, or want to shape where it goes.
