TY - JOUR
T1 - Transforming XML Documents using fxt
AU - Berlea, Alexandru
AU - Seidl, Helmut
N1 - Funding Information:
The development of fxt is supported by the DFG Research Foundation. We are very grateful to the referees for the CIT Journal Issue on DSLs for their valuable comments on a previous version of this article.
PY - 2002
Y1 - 2002
N2 - As XML spreads to various application domains, transformation tasks onXML documents are accomplished by an ever increasing number of non-programmers. In this respect, rather than providing just a collection of basic operations via a library in a special purpose language, it is useful to provide a more intuitive, rule-based approach to XML transformation. The rule-based approach requires pattern-matching for identifying parts of the document to be processed. As XML document processing is basically a subarea of tree processing for which the functional programming style is very natural, we choose SML as implementation language. The functional style implies a processing model in which navigation is possible only to subtrees of a tree. This restriction can be compensated by using a tree pattern-matcher able to relate to ancestors, successors, as well as to siblings of a match. On top of the powerful fxgrep XML pattern-matcher, we build fxt, a transformation tool for XML documents. The functional processing model that fxt uses, allows an implementation more efficient than implementations permitted by the processing model of the popular XSLT, where navigation in the input tree can proceed in arbitrary directions. Usual transformations are specified in fxt in an intuitive, declarative way. More elaborate transformations can be flexibly achieved by the hooks provided to the full functionality of the SML programming language, as well as by the fxt's variable mechanism.
AB - As XML spreads to various application domains, transformation tasks onXML documents are accomplished by an ever increasing number of non-programmers. In this respect, rather than providing just a collection of basic operations via a library in a special purpose language, it is useful to provide a more intuitive, rule-based approach to XML transformation. The rule-based approach requires pattern-matching for identifying parts of the document to be processed. As XML document processing is basically a subarea of tree processing for which the functional programming style is very natural, we choose SML as implementation language. The functional style implies a processing model in which navigation is possible only to subtrees of a tree. This restriction can be compensated by using a tree pattern-matcher able to relate to ancestors, successors, as well as to siblings of a match. On top of the powerful fxgrep XML pattern-matcher, we build fxt, a transformation tool for XML documents. The functional processing model that fxt uses, allows an implementation more efficient than implementations permitted by the processing model of the popular XSLT, where navigation in the input tree can proceed in arbitrary directions. Usual transformations are specified in fxt in an intuitive, declarative way. More elaborate transformations can be flexibly achieved by the hooks provided to the full functionality of the SML programming language, as well as by the fxt's variable mechanism.
KW - Functional document model
KW - Functional programming
KW - Fxgrep
KW - Fxt
KW - SML
KW - XML pattern matching with regular expressions
KW - XML transformations
KW - XSLT
UR - http://www.scopus.com/inward/record.url?scp=1942443600&partnerID=8YFLogxK
U2 - 10.2498/cit.2002.01.02
DO - 10.2498/cit.2002.01.02
M3 - Article
AN - SCOPUS:1942443600
SN - 1330-1136
VL - 10
SP - 19
EP - 35
JO - Journal of Computing and Information Technology
JF - Journal of Computing and Information Technology
IS - 1
ER -