So, what place does this chapter have in the book and in the overall scheme of things? Why am I bothering to refine the design? Well, I'm trying to achieve several overall goals with this book. One of the goals is to provide people with some working, simple utilities to perform several different types of common data format conversion tasks . It will save us time and effort if we lay out a design with some specific parameters and focus strongly on reusability.
Another goal is to design these utilities so that you can easily modify them if you need to add or change the functionality. So, we also want to focus on extensibility and maintainability. The utilities we developed up to this point were primarily focused on simple functionality and demonstrating the use of basic DOM and API features. We need to shift to a broader focus to meet the other needs.
Finally, another important goal of the book is to assist developers in building XML support into their applications. While the utilities may not be directly related to that task, several of the design issues discussed here are. The utilities present a good case study for examining several of the techniques for and issues around creating and processing XML.