Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Amer-Yahia, S., Du, F., Freire, J.: A comprehensive solution to the XML-to-relational mapping problem. In: WIDM 2004: Proc. 6th annual ACM Int workshop on Web Information and Data Management, pp. 31–38. ACM Press, New York (2004)
Barbosa, D., Freire, J., Mendelzon, A.O.: Designing information-preserving mapping schemes for XML. In: VLDB 2005: Proc. 31st Int. Conf. Very Large Data Bases, VLDB Endowment, pp. 109–120 (2005)
Bohannon, P., et al.: LegoDB: Customizing relational storage for XML documents. In: Proc. 28th Int. Conf. on Very Large Data Bases, pp. 1091–1094 (2002)
Bohannon, P., Freire, J., Roy, P., Siméon, J.: From XML schema to relations: A cost-based approach to XML storage. In: ICDE 2002: Proc. 18th Int. Conf. on Data Engineering, p. 64. IEEE Computer Society Press, Los Alamitos (2002)
Chen, Y., Davidson, S.B., Hara, C.S., Zheng, Y.: RRXS: Redundancy reducing XML storage in relations. In: Proc. 29th VLDB Conference, pp. 189–200 (2003)
Chen, Y., et al.: Constraints preserving schema mapping from XML to relations. In: Proc. 5th Int. Workshop Web and Databases (WebDB), pp. 7–12 (2002)
Cunha, A., Oliveira, J.N., Visser, J.: Type-safe two-level data transformation. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085. Springer, Heidelberg (2006)
Cunha, A., Visser, J.: Strongly typed rewriting for coupled software transformation. In: Fernandez, M., Lämmel, R. (eds.) Proc. 7th Int. Workshop on Rule-Based Programming (RULE 2006). ENTCS. Elsevier, Amsterdam (to appear, 2006)
Davidson, S.B., et al.: Propagating XML constraints to relations. In: Proc. 19th Int. Conf. on Data Engineering, p. 543. IEEE Computer Society Press, Los Alamitos (2003)
Foster, J.N., et al.: Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. In: Proc. 32nd ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pp. 233–246. ACM Press, New York (2005)
Hinze, R., Löh, A., Oliveira, B.C.d.S.: Scrap your boilerplate reloaded. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol. 3945, pp. 13–29. Springer, Heidelberg (2006)
Lämmel, R.: Coupled Software Transformations (Extended Abstract). In: First International Workshop on Software Evolution Transformations (November 2004)
Lämmel, R., Kitsis, S., Remy, D.: Analysis of XML schema usage. In: Conference Proceedings XML 2005 (November 2005)
Lämmel, R., Lohmann, W.: Format Evolution. In: Proc. 7th Int. Conf. on Reverse Engineering for Information Systems. books@ocg.at, vol. 155, pp. 113–134. OCG (2001)
Lämmel, R., Peyton Jones, S.: Scrap your boilerplate: a practical design pattern for generic programming. ACM SIGPLAN Notices 38(3), 26–37 (2003)
Lämmel, R., Visser, J.: Typed Combinators for Generic Traversal. In: Krishnamurthi, S., Ramakrishnan, C.R. (eds.) PADL 2002. LNCS, vol. 2257, pp. 137–154. Springer, Heidelberg (2002)
Marlow, S.: Happy User Guide. In: Glasgow University (December 1997)
Neves, F.L., Silva, J.C., Oliveira, J.N.: Converting informal meta-data to VDM-SL: A reverse calculation approach. In: VDM in Practice! (September 1999)
Peyton Jones, S., Washburn, G., Weirich, S.: Wobbly types: Type inference for generalised algebraic data types. Technical Report MS-CIS-05-26, Univ. of Pennsylvania (July 2004)
Takeichi, M., Mu, S.-C., Hu, Z.: Bidirectionalizing tree transformation languages: A case study. JSSST Computer Software 23(2), 129–141 (2006)
Visser, J.: Structure metrics for XML Schema. In: Ramalho, J.C., et al. (eds.) XATA2006, XML: Aplicações e Tecnologias Associadas, Univ. of Minho (2006)
Wallace, M., Runciman, C.: Haskell and XML: generic combinators or type-based translation? In: Proc. 4th ACM SIGPLAN Int. Conf. on Functional Programming, pp. 148–159. ACM Press, New York (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berdaguer, P., Cunha, A., Pacheco, H., Visser, J. (2006). Coupled Schema Transformation and Data Conversion for XML and SQL. In: Hanus, M. (eds) Practical Aspects of Declarative Languages. PADL 2007. Lecture Notes in Computer Science, vol 4354. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69611-7_19
Download citation
DOI: https://doi.org/10.1007/978-3-540-69611-7_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69608-7
Online ISBN: 978-3-540-69611-7
eBook Packages: Computer ScienceComputer Science (R0)