An extensible and modular processing model for document trees

This paper describes a processing model for XML document trees that combines syntax-directed translation ideas with the construction of modular semantic-based interpreters. This model has two key features: extensibility (i.e., new functionalities can be incrementally added) and modularity (i.e., processing can be done from auto-contained modules). This model introduces four stages in tree processing. In the first stage, a set of operational links are established between the element nodes of the document tree. In the second stage, each element node is decorated with a set of parameters and a composition function. In the third stage, an evaluation order is decided from the link relationships, and the composition functions are applied according to this order, thus obtaining the semantic value associated with the tree. This semantic value can be another function that will be evaluated in the fourth stage to yield the final result. We describe this conceptual model, present several examples of its use, and outline an object-oriented framework used to implement our approach. Rendered by www.RenderX.com DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT An extensible and modular processing model for

[1]  Baltasar Fernández-Manjón,et al.  Operationalizing Application Descriptions in DTC: Building Applications with Generalized Markup Technologies , 2001, SEKE.

[2]  Gerald J. Sussman,et al.  Structure and Interpretation of Computer Programs, Second Edition , 1996 .

[3]  Baltasar Fernández-Manjón,et al.  XML-based Integration of Hypermedia Design and Component-Based Techniques in the Production of Educational Applications , 2000, Computers and Education in the 21st Century.

[4]  Paul Hudak,et al.  Monad transformers and modular interpreters , 1995, POPL '95.

[5]  Martti Penttonen,et al.  Transformation of Structured Documents with the Use of Grammar , 1993, Electron. Publ..

[6]  John K. Ousterhout,et al.  Tcl: An Embeddable Command Language , 1989, USENIX Winter.

[7]  Frank Neven,et al.  Extensions of Attribute Grammars for Structured Document Queries , 1999, DBPL.

[8]  Marc Feeley,et al.  Using Closures for Code Generation , 1987, Comput. Lang..

[9]  Baltasar Fernández-Manjón,et al.  Developing Applications with XML Documents , Document Transformations and Software Components , .

[10]  Hiroshi Maruyama,et al.  XML and Java: Developing Web Applications , 1999 .

[11]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[12]  Toshiro Wakayama,et al.  SIMON: A Grammar-based Transformation System for Structured Documents , 1993, Electron. Publ..

[13]  S. Doaitse Swierstra,et al.  Higher order attribute grammars , 1989, PLDI '89.

[14]  Baltasar Fernández-Manjón,et al.  An extensible and modular processing model for document trees , 2002, Extreme Markup Languages®.

[15]  Jonathan Rees,et al.  T: a dialect of Lisp or LAMBDA: The ultimate software tool , 1982, LFP '82.

[16]  Dominic Duggan,et al.  A Mixin-Based, Semantics-Based Approach to Reusing Domain-Specific Programming Languages , 2000, ECOOP.

[17]  Mitchell Wand,et al.  Essentials of programming languages , 2008 .

[18]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[19]  Steven J. DeRose,et al.  XML Path Language (XPath) Version 1.0 , 1999 .

[20]  William R. Cook,et al.  Mixin-based inheritance , 1990, OOPSLA/ECOOP '90.

[21]  Charles F. Goldfarb,et al.  SGML handbook , 1990 .

[22]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[23]  Guy L. Steele,et al.  Building interpreters by composing monads , 1994, POPL '94.

[24]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.