For those who must have a book, David Hunter's (et al.) Beginning XML (ISBN-10: 0470114878) now in its fourth edition from Wrox Press is good. Earlier editions, like many Wrox books, had a fair share of errors in the code. (General advice: no book is complete without a printout of the errata, usually found on the publisher's Web site.) Reportedly, the multiple authorship is not so apparent in this edition compared to the third. Also, avoid the Deitel et al. book, XML How to Program from Prentice Hall. It's error-filled and the host of authors makes for extremely uneven coverage of important topics. It's also unnecessarily pedantic and dense: not worth the struggle.
Once you have a feel for XML, get Elliotte Rusty Harold's book, Effective XML (ISBN-10: 0321150406) from Addison Wesley. It will give you a deeper understanding of how to do things properly ("best practices") and why things work the way they do. This book is also very easy to read. Highly recommended.
When you need to go deeper into XSLT, get Jeni Tennison's "Beginning XSLT" from APress. (You might find old editions from Wrox, cheap. There is also a new version, "Beginning XSLT 2.0," (ISBN-10: 1590593243) which I haven't seen yet.) Don't be put off that she begins by introducing XML--you can cruise through it. It's especially good for those who like an end-to-end example rather than snippets.
A final piece of advice: if you're using a text editor to create XML, keep two files with XML and XSL declarations handy so you can cut and paste. This will help you avoid many maddening errors.