The Pro SQL Server 2008 XML book dives right into the details of XML from the first page. This book was written by a developer for developers, and the author goes to great lengths to demonstrate all the concepts presented in the book. In my opinion, this book scores highly in many areas.
The author assumes a basic knowledge of SQL, but he thoroughly explains every step of SQL Server's XML functionality along the way. The book even compares and contrasts the SQL Server implementation of XML to the W3C and ISO standards, pointing out where the SQL Server implementation differs.
However, while the book assumes this basic understanding, any developer interested in getting the most out of SQL Server's XML functions will find the book both informative and enjoyable. The author goes to great lengths to explain XML and why it's relevant in the database. This is absolutely the best reference for SQL Server XML that I've seen.
The author provides what he calls "Cross-Platform Tips" at various points to call attention to limitations of the SQL Server implementation, or areas where it differs from the standards. These types of tips, generously portioned throughout the book, are designed to keep people from wasting hours trying to figure out why the XQuery code sample they copied from the Internet (or some other source) isn't working as advertised on SQL Server. While this book is written for SQL Server 2008, much of the functionality described works with (or is similar to) SQL Server 2005 functionality (as the author points out, some notable exceptions include the added support for Geography Markup Language "GML", and the FLWOR statement "let" clause). As the book explains, the difference between SQL Server 2005 XML functionality and SQL Server 2008 XML functionality is not nearly as large as the leap was from SQL 2000 to 2005. New SQL Server 2008 features aside, this book works equally well as a reference to SQL Server 2005 XML functionality!
Another thing I like about this book is that the author builds on the code samples from one chapter to the next. There is a particularly detailed example of a hierarchical "bill of materials" that the author continually adds newly introduced functionality to over the course of a few chapters. He uses this example to demonstrate how to layer XML functionality to build an intricate application from a very basic premise. I really like the fact that this book provides examples and addresses the problems that most books go out of their way to avoid. Where many books give you a simple top-down hierarchical organization chart that's been done 100 times by 100 different people, this book gives you recursive XML Schemas. Instead of just rehashing the well-advertised SQL Server limitation that Document Type Definitions can't be used to validate your XML this book gives you working examples of code to get around the issue. The book provides many more real world examples, with some pretty intriguing ideas as well (like grabbing an XML RSS feed or searching eBay directly from SQL Server). A nice bonus: Almost all examples are designed to run directly in the AdventureWorks 2008 sample database, and all are freely downloadable from the publisher's website.
And this book doesn't just stop at the server. The author provides analysis of client-side tools including LINQ to XML, SQLXML, HTTP SOAP Endpoints, and a wide supporting cast of XML support tools - many that are provided "out of the box" with SQL Server.
This is the ultimate reference for all things XML on SQL Server 2008.