Thanks to its object-oriented flavour the overall architecture provides solid ground for DTD translations . The following listing gives an idea of how the conversion is implemented. When a tag is found that can be translated, the corresponding string is produced. In the more general case, when a document element can be used inside different elements, the substitution is not just a string, but a procedure call, which allows, for instance, backtracking to cope with context-dependent conversion rules that take into account the current context. It shows part of the original DocBook document markup, how it is presented in the ESIS format, finally its translation in .
Figure shows the principle of the translation process.