When we had the opportunity to write a book on XML in February 1998, which was just after we had released the first XML4J Parser from IBM’s alphaWorks Web site, we discussed what we could achieve through publishing a book. We immediately concluded that a book on how to develop programs that deal with XML as data would be the most needed and that we could contribute through our experience in writing the parser. Several XML books were on the market, but most of them were either about the specifications or about creating XML documents. Few of them described how to write programs with XML as the input and output data format. Because Java was the implementation language of XML4J Parser and because many features (such as built-in Unicode character support) make XML and Java a perfect match, Java was a natural choice as the programming language. More importantly, Java was becoming the mainstream language for server-side programming. We believe that the first edition of the book satisfied, at least to a certain extent, the needs of developers who desperately needed to know the potential and limitations of these two emerging technologies and how they can be best applied to real-world situations.
We have the same goals in this edition with more new technologies—to show how the emerging technologies around XML and Java such as DOM Level 2, SAX2, XSLT, J2EE, XML Schema, and Web services—can be combined to solve real-world problems, and to discuss how these technologies will change the way future e-Business applications will be developed. The first edition of the book was not an introduction or a reference to each technology, and neither is the second edition. Each of these topics is worth an entire book. We do not list all the features of these technologies. Instead, we explain why you should be interested in them and how you can apply them to your problem by showing real-world examples.
This book has two parts. The first half covers basic tools for dealing with XML in Java. Here we concentrate only on the solid, stable technologies. XML technologies that were not W3C Recommendations at the time of writing are deliberately not included. That the beginning chapters are about “basic” technologies does not mean that these chapters are introductory. It simply means that these technologies and tools are the absolute minimum you need to understand in order to develop an XML-based application. Seasoned developers who trust only basic and proven tools will also find these chapters useful, because we covered a lot of programming techniques and hints for making the most of these tools. In the later chapters, on the other hand, we include emerging technologies, such as SOAP and Web services, that we believe are crucial for future e-Business solutions. Those who are looking for new technologies for their next projects and need to understand the potential and limitations of these technologies will find the chapters in the later chapters particularly useful.
All the sample programs in the book are available on the accompanying CD-ROM. Each sample has its own Readme file that describes how to set up and run it. It is our strong belief that knowledge about new software technologies can be acquired only through playing with them—running them, changing the configurations and modifying lines of code, and rerunning them to see the effects. We recommend that readers try the samples on the CD-ROM as much as possible. We made every effort to ensure that the samples are complete and run on most, if not all, platforms that support the latest Java runtimes. Any updates to the contents of the book can be downloaded from the publisher’s Web site at http://www.awl.com/cseng/.
0201770040P05092002