Haskell and XML: generic combinators or type-based translation?
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Scrap your boilerplate: a practical design pattern for generic programming
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Typed Combinators for Generic Traversal
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
From XML Schema to Relations: A Cost-Based Approach to XML Storage
ICDE '02 Proceedings of the 18th International Conference on Data Engineering
A comprehensive solution to the XML-to-relational mapping problem
Proceedings of the 6th annual ACM international workshop on Web information and data management
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Designing information-preserving mapping schemes for XML
VLDB '05 Proceedings of the 31st international conference on Very large data bases
LegoDB: customizing relational storage for XML documents
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
RRXS: redundancy reducing XML storage in relations
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
“Scrap your boilerplate” reloaded
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Type-safe two-level data transformation
FM'06 Proceedings of the 14th international conference on Formal Methods
Coupled Transformation of Schemas, Documents, Queries, and Constraints
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Heterogeneous Coupled Evolution of Software Languages
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Transforming Data by Calculation
Generative and Transformational Techniques in Software Engineering II
Bidirectional Transformations: A Cross-Discipline Perspective
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Calculating with lenses: optimising bidirectional transformations
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Model synchronization: mappings, tiles, and categories
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Recovering grammar relationships for the Java Language Specification
Software Quality Control
Generating database migrations for evolving web applications
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Multifocal: a strategic bidirectional transformation language for XML schemas
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Three complementary approaches to bidirectional programming
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
Constraint-aware Schema Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
A metamodel-based approach for generalizing requirements in database-driven 3D simulation (WIP)
Proceedings of the Symposium on Theory of Modeling & Simulation - DEVS Integrative M&S Symposium
Hi-index | 0.00 |
A two-level data transformation consists of a type-level transformation of a data format coupled with value-level transformations of data instances corresponding to that format. We have implemented a system for performing two-level transformations on XML schemas and their corresponding documents, and on SQL schemas and the databases that they describe. The core of the system consists of a combinator library for composing type-changing rewrite rules that preserve structural information and referential constraints. We discuss the implementation of the system's core library, and of its SQL and XML front-ends in the functional language Haskell. We show how the system can be used to tackle various two-level transformation scenarios, such as XML schema evolution coupled with document migration, and hierarchical-relational data mappings that convert between XML documents and SQL databases.