This book presents XML programming from a conceptual perspective, teaching not just the technology, but the background and thinking behind it. Developers learn to do it right, gaining a thorough understanding of the hows and the whys from the ground up. Rather than teaching programmers to memorize specific APIs, this book teaches programmers how to think about XML programming in a language-neutral way, with examples in various languages (such as Java, C++, Perl, and VB) and provides guidance on how and when XML can be used in real-world situations.