The proliferation of XML during recent years has been aided by an array of powerful companion tools. One such tool, XSL Transformations (XSLTs), has played an important role in XML's adoption, facilitating interoperability by defining general transformations on XML documents. However, despite XSLT's power and flexibility, the transformations can be hard to define, often requiring recursion to perform simple operations. Further, writing XSLTs requires learning its transformation language, distracting from the primary focuses of the input and output. This thesis focuses on streamlining the generation of XSLTs through the use of a programming-by-demonstration (PBD) interface. Instead of directly defining an XSLT, a user begins with the input XML document, converting it to the desired output through text editing. Based on the input XML document, the resulting output document, and the sequence of user edits, an XSLT definition will then be automatically generated. To overcome the hindrance of repetitive editing this thesis relies heavily on simultaneous editing as implemented in LAPIS, defined as the editing of text with multiple simultaneous cursors inferred from positive and negative examples. In addition to reducing redundant actions, simultaneous editing provides critical hints into the structure of the desired transformation. Models that have attempted to generate XSLTs based solely on input and output examples have met challenges, but aided with the simultaneous editing information, successful XSLT generation is possible.by Brian A. Stube.Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004.Includes bibliographical references (p. 67)
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.