Learning the fundamentals of XML might take a programmer a week. Learning how to use XML effectively might take a lifetime. While many books have been written that teach developers how to use the basic syntax of XML, this is the first one that really focuses on how to use XML well. This book is not a tutorial. It is not going to teach you what a tag is or how to write a DTD (Document Type Definition). Instead it's going to tell you when, why, where, and how to use such tools effectively (and equally important when not to use them).Since XML has become a fundamental underpinning of new software systems, it becomes important to ask new questions, not just what XML is, but how does one use it effectively? Which techniques work and which don't? Perhaps most importantly, which techniques appear to work at first but fail to scale as systems are further developed? This book answers these questions. It is not enough to write programs that compile and produce the expected results. It is important to write code that is extensible, legible, and maintainable. XML can be used to produce robust, extensible, maintainable systems.