A programmable editor for developing structured documents based on bidirectional transformations

This paper presents a novel editor supporting interactive refinement in the development of structured documents. The user performs a sequence of editing operations on the document view, 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 the transformation can be obtained through editing operations. The main tricks behind are the utilization of the view-updating technique developed in the database community, and a new bidirectional transformation language that cannot only describe the relationship between the document source and its view, but also data dependency in the view.

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

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

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

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

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

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

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

[8]  Shin-Cheng Mu,et al.  TreeCalc : Towards Programmable Structured Documents , 2003 .

[9]  F. BANCILHON,et al.  Semantics of Relational Views , 1999 .

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

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

[12]  Lambert Meertens,et al.  Designing Constraint Maintainers for User Interaction , 1998 .

[13]  Giuseppe Castagna,et al.  CDuce: an XML-centric general-purpose language , 2003, ACM SIGPLAN Notices.

[14]  Colin Runciman,et al.  Haskell and XML: generic combinators or type-based translation? , 1999, ICFP '99.

[15]  Kyuseok Shim,et al.  XTRACT: a system for extracting document type descriptors from XML documents , 2000, SIGMOD '00.

[16]  Yannis Papakonstantinou,et al.  DTD inference for views of XML data , 2000, PODS.

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

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

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

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

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

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

[23]  C. M. Sperberg-McQueen,et al.  Extensible markup language , 1997 .

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

[25]  Nate Foster,et al.  Combinators for bi-directional tree transformations: a linguistic approach to the view update problem , 2005, POPL '05.

[26]  C. M. Sperberg-McQueen,et al.  eXtensible Markup Language (XML) 1.0 (Second Edition) , 2000 .

[27]  Benjamin C. Pierce,et al.  Regular expression types for XML , 2005, ACM Trans. Program. Lang. Syst..

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

[29]  R. Bird Introduction to functional programming using Haskell, Second Edition , 1998 .

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