Rune XSD Model Importer Framework - APPROVED
- Dominant language
- JavaScript
- Stars
- 75
- Forks
- 40
- Avg merge
- 1m
- Merged PRs (30d)
- 5
Description
### Contribution Prerequisites
- [x] I have read [FINOS Contribution Requirements](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements).
- [x] I confirm I am contributing on behalf of a FINOS member OR I will seek a maintainer from a member during socialization.
- [x] I have reviewed the [FINOS Contribution Process](https://community.finos.org/docs/governance/Software-Projects/contribution/).
- [x] I have reviewed the [FINOS Project Lifecycle](https://community.finos.org/docs/governance/project-lifecycle) stages.
- [x] I am familiar with [FINOS Governance](https://community.finos.org/docs/governance) and [Maintainer Responsibilities](https://community.finos.org/docs/finos-maintainers-cheatsheet/).
### Target Lifecycle Stage
Labs
### FINOS Member Organization Name
TradeHeader SL
### Name
Rune XSD Model Importer Framework
### Slug
rune-xsd-importer
### Business Problem & Solution
Financial institutions and financial industry standard bodies rely extensively on legacy W3C XML Schema Definitions (XSD) and proprietary institutional extensions. Ingestion and transformation of these schemas into modern, object-oriented domain modeling frameworks is a major operational bottleneck.
Standard off-the-shelf XML converters regularly fail to accurately preserve complex XSD semantics. Attempting manual conversion leads to data loss, broken XML tag identities, and serialization failures when validating against production XML payloads.
The Rune XSD Model Importer Framework is an automated, type-safe transpilation engine designed to ingest complex W3C XSD schema constructs and synthesize both clean Rune DSL domain models (`.rune`) and dedicated XML Serialization Configurations (`xml-config.json`).
The engine utilizes a strict 5-Layer Architecture (Parsing, Anti-Corruption Inspection, Registration/Mapping, EMF Generation, and Round-Trip Testing). By isolating XML-specific layout quirks into an independent serialization rulebook, institutions can maintain pure domain business logic in Rune DSL while achieving 100% compliant round-trip XML payload serialization.
### Mission Statement
To provide an open-source, deterministic, and type-safe transpilation framework that programmatically bridges legacy W3C XML Schema Definitions (XSD) with the Rune DSL modeling ecosystem, preserving full semantic fidelity and guaranteeing 100% round-trip serialization compliance.
### Existing Materials
The framework is already well-established with extensive code, documentation, and automated test coverage:
* Engine Core & Architecture: A fully operational Java framework (`org.finos.rune.xsd`) implementing a 5-layer pipeline: `XsdParser` AST parsing, `RuneXsdParserInspector` Anti-Corruption Layer, symbol registry and mappers, EMF model generation, and Jackson dynamic serialization introspectors.
* Testing Pipeline: A Two-Pass Surefire execution pipeline with dynamic in-memory POJO compilation and XMLUnit semantic comparison (`assertXmlEquals`) to verify round-trip integrity against raw XML samples.
* Documentation Hub: Complete developer and modeler documentation set:
* Executive Summary & Overview
* XSD to Rune DSL Mapping Reference Guide
* 5-Layer Architectural Deep-Dive
* Advanced Runtime Serialization & Polymorphism Reference
* Verified Capability Matrix & Roadmap
* Getting Started & Programmatic API Execution Guide
* Issue Reporting & Contribution Guidelines
### Additional Information (Optional)
* Dialect Plugin SPI Architecture: The core engine strictly enforces standard W3C XML Schema compliance. An SPI (Service Provider Interface) architecture is planned to enable institutions to build private "Dialect Plugins" for proprietary extensions (e.g., domain specific resolution scopes or custom annotations) without polluting the open-source W3C baseline.
* Technology Stack: Built on Java utilizing Eclipse Modeling Framework (EMF), Xtext serialization, `org.xmlet.xsdparser`, Jackson XML, and XMLUnit.
* Known Serialization Edge-Cases & Issue Tracking: The maintainers have already identified and documented a set of specific runtime serialization edge cases, including root-level `xsi:type` polymorphism conflicts, cross-namespace attribute URI retention gaps, and complex extension `xmlns` duplication during serialization.
### Maintainer Team
| Name | Affiliation | Email | GitHub Username |
| :--- | :--- | :--- | :--- |
| Manuel Martos | TradeHeader SL | mmartos@tradeheader.com | @manel-martos |
### Compliance & Requirements Agreement
- [x] I understand that before being able to contribute all maintainers and contributors will need to be covered by a [Contributor License Agreement](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements#contributor-license-agreement) or commits must satisfy the [Developer Certificate of Origin](https://developercertificate.org/) (DCO) requirements.
- [x] I confirm that software will be covered by the [Apache 2.0 License](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements#license-information) and any [third-party code is compatible](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements#third-party-code-compliance).
- [x] I have selected the appropriate [lifecycle stage](https://community.finos.org/docs/governance/project-lifecycle) based on that stage's requirements. I agree and commit to the Acceptance & Maintenance Requirements for my target stage.
### Administrative Consent & Transfer Authorization
- [x] I agree to grant 'finos-admin' Admin/Owner access to the repository for security auditing and setup.
- [x] I authorize the transfer of this code/repository to the FINOS GitHub organization upon project acceptance.
- [x] I confirm I have the legal authority (individual or corporate) to grant these permissions.
### Socialization Acknowledgement
- [x] I understand I may need to socialize this proposal to community@finos.org before a TOC review to gauge community interest.
Contributor guide
Assessment
This issue has not been assessed yet.