A programmable editor for developing structured documents based on bidirectional transformations

This paper presents an application of bidirectional transformation to the design and implementation of a novel editor supporting interactive refinement in the development of structured documents. The user performs a sequence of editing operations on a view of the document, and the editor automatically derives an efficient and reliable document source and a transformation that produces the document view. The editor is unique in its programmability, in the sense that transformations can be obtained through editing operations. It uses the view-updating technique developed in the database community and a new bidirectional transformation language that can describe not only the relationship between the document source and its view, but also the data dependency in the view.

[1]  Vincent Quint,et al.  Interactively Editing Structured Documents , 1989, Electron. Publ..

[2]  B. Pierce,et al.  A Language for Bi-Directional Tree Transformations , 2004 .

[3]  Umeshwar Dayal,et al.  On the correct translation of update operations on relational views , 1982, TODS.

[4]  Robert Glück,et al.  A Program Inverter for a Functional Language with Equality and Constructors , 2003, APLAS.

[5]  Dan Suciu,et al.  Typechecking for XML transformers , 2000, J. Comput. Syst. Sci..

[6]  Keishi Tajima,et al.  A polymorphic calculus for views and object sharing (extended abstract) , 1994, PODS '94.

[7]  Richard S. Bird,et al.  Introduction to functional programming , 1988, Prentice Hall International series in computer science.

[8]  Benjamin C. Pierce,et al.  Combinators for bi-directional tree transformations: a linguistic approach to the view update problem , 2005, POPL '05.

[9]  Shin-Cheng Mu,et al.  An Algebraic Approach to Bi-directional Updating , 2004, APLAS.

[10]  Serge Abiteboul On Views and XML , 1999, PODS.

[11]  Richard S. Bird,et al.  Introduction to functional programming using haskeu , 1998 .

[12]  Sanjeev Khanna,et al.  Edinburgh Research Explorer On the Propagation of Deletions and Annotations through Views , 2013 .

[13]  Larry Kim The XMLSPY Handbook , 2002 .

[14]  一彦 筧,et al.  TreeCalc : Towards Programmable Structured Documents , 2003 .

[15]  Boris Chidlovskii Schema extraction from XML collections , 2002, JCDL '02.

[16]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[17]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[18]  Shin-Cheng Mu,et al.  An Injective Language for Reversible Computation , 2004, MPC.

[19]  Nabil Layaïda,et al.  An XML-Based Multimedia Document Processing Model for Content Adaptation , 2000, DDEP/PODDP.

[20]  Georg Gottlob,et al.  Properties and update semantics of consistent views , 1988, TODS.

[21]  Johan Jeuring,et al.  Xprez, a declarative presentation language for XML , 2001 .

[22]  Aristides Gionis,et al.  XTRACT: a system for extracting document type descriptors from XML documents , 2000, SIGMOD 2000.

[23]  Larry Kim The Official XMLSPY Handbook , 2003 .