Book contents
- Frontmatter
- Dedication
- Contents
- Preface
- 1 Introduction
- 2 Preliminaries
- PART I BASIC TOPICS
- PART II ADVANCED TOPICS
- 8 On-the-fly algorithms
- 9 Alternating tree automata
- 10 Tree transducers
- 11 Exact typechecking
- 12 Path expressions and tree-walking automata
- 13 Logic-based queries
- 14 Ambiguity
- 15 Unorderedness
- Appendix Solutions to selected exercises
- References
- Index
10 - Tree transducers
from PART II - ADVANCED TOPICS
Published online by Cambridge University Press: 05 July 2014
- Frontmatter
- Dedication
- Contents
- Preface
- 1 Introduction
- 2 Preliminaries
- PART I BASIC TOPICS
- PART II ADVANCED TOPICS
- 8 On-the-fly algorithms
- 9 Alternating tree automata
- 10 Tree transducers
- 11 Exact typechecking
- 12 Path expressions and tree-walking automata
- 13 Logic-based queries
- 14 Ambiguity
- 15 Unorderedness
- Appendix Solutions to selected exercises
- References
- Index
Summary
Tree transducers form a class of finite-state models that not only accept trees but also transform them. While in Chapter 7 we described a simple yet very powerful tree transformation language, μXDuce, tree transducers are more restricted and work with only a finite number of states. An important aspect of the restriction is that tree transducers can never use intermediate data structure. However, this restriction is not too unrealistic, as it is one of the design principles of the XSLT language – currently the most popular language for XML transformation. In addition, this restriction leads to several nice properties that otherwise would hardly hold; among the most important is the exact typechecking property to be detailed in Chapter 11. The present chapter introduces two standard tree transducer frameworks, namely, top-down tree transducers and macro tree transducers, and shows their basic properties.
Top-down tree transducers
Top-down tree transducers involve a form of transformation that traverses a given tree from the root to the leaves while at each node producing a fragment of the output tree determined by the label of the current node and the current state. Since a state of a tree transducer can then be seen as a rule from a label to a tree fragment, we call a state a procedure from now on.
When considering the tree transducer family, we often take a nondeterministic approach, as in the case of automata.
- Type
- Chapter
- Information
- Foundations of XML ProcessingThe Tree-Automata Approach, pp. 127 - 137Publisher: Cambridge University PressPrint publication year: 2010