TY - GEN
T1 - A pushdown machine for recursive XML processing
AU - Nakano, Keisuke
AU - Mu, Shin Cheng
PY - 2006
Y1 - 2006
N2 - XML transformations are most naturally defined as recursive functions on trees. A naive implementation, however, would load the entire input XML tree into memory before processing. In contrast, programs in stream processing style minimise memory usage since it may release the memory occupied by the processed prefix of the input, but they are harder to write because the programmer is left with the burden to maintain a state. In this paper, we propose a model for XML stream processing and show that all programs written in a particular style of recursive functions on XML trees, the macro forest transducer, can be automatically translated to our stream processors. The stream processor is declarative in style, but can be implemented efficiently by a pushdown machine. We thus get the best of both worlds - program clarity, and efficiency in execution.
AB - XML transformations are most naturally defined as recursive functions on trees. A naive implementation, however, would load the entire input XML tree into memory before processing. In contrast, programs in stream processing style minimise memory usage since it may release the memory occupied by the processed prefix of the input, but they are harder to write because the programmer is left with the burden to maintain a state. In this paper, we propose a model for XML stream processing and show that all programs written in a particular style of recursive functions on XML trees, the macro forest transducer, can be automatically translated to our stream processors. The stream processor is declarative in style, but can be implemented efficiently by a pushdown machine. We thus get the best of both worlds - program clarity, and efficiency in execution.
UR - http://www.scopus.com/inward/record.url?scp=33845919052&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=33845919052&partnerID=8YFLogxK
U2 - 10.1007/11924661_21
DO - 10.1007/11924661_21
M3 - Conference contribution
AN - SCOPUS:33845919052
SN - 3540489371
SN - 9783540489375
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 340
EP - 356
BT - Programming Languages and Systems - 4th Asian Symposium, APLAS 2006, Proceedings
PB - Springer Verlag
T2 - 4th Asian Symposium on Programming Languages and Systems, APLAS 2006
Y2 - 8 November 2006 through 10 November 2006
ER -