Quite some time ago, Apress sent me Pro XML and Web Services to review, and I am just now getting around to it. First off, let me say that this book is huge. It weighs in at 936 pages, and the one I have is a hard-cover. Rob Richards has done an amazing job at providing an incredibly comprehensive volume, covering a vast amount of information.
Anything I write in this review will probably not do the book full justice, simply because it is so extensive. That being said, I will attempt to briefly summarize its contents, so you will have an idea of just how much is covered. Here is a listing of topics by each of the 21 chapters:
1. Introduction to XML and Web Services
2. XML Structure
4. XPath, XPointer, XInclude, and the Future
5. PHP and XML
6. Document Object Model (DOM)
8. Simple API for XML (SAX)
10. Extensible Stylesheet Language Transformations (XSLT)
11. Effective and Efficient Processing
12. XML Security
13. PEAR and XML
14. Content Syndication: RSS and Atom
15. Web Distributed Data Exchange (WDDX)
17. Representational State Transfer (REST)
19. Universal Description, Discovery, and Integration (UDDI)
20. PEAR and Web Services
21. Other XML Technologies and Extensions
1. XML Schema Built-In Data Types Reference
2. Extension APIs
3. Features and Changes in PHP 6
As you can see, there is quite a bit to be learned from this veritable tome of knowledge. There is even a sneak peek of what is around the corner for the future version of PHP 6. Since I can't really go over it all (well I could, but won't), allow me to point out some of the things I enjoyed about this book.
If you have worked with well-formed XHTML files at all, you no doubt are familiar with this bit of code, usually at the top of every document...
If you were to navigate to that *.dtd file, you would see a Document Type Definition for Extensible HTML 1.0. In fact, why don't you just go ahead and check it out. If you get a browser prompt, just open it in your favorite code editor. All of that information is what XHTML 1.0 Strict is validated against. XHTML, being a rewrite / facelift of HTML in XML, adheres to the W3C concept of Namespaces in XML. XHTML 1.1 also has a DTD, as does HTML 4.01, etc.
Hopefully it comes no surprise that you've been working with XML concepts for some time now, perhaps unknowingly. Richards helps demystify these concepts, and shows how to write your own custom Document Type Definitions. After all, that is the key tenet of XML - Extensibility. As long as things are properly self closing, there is a whole lot of flexilibility available. I liked his example of < sarcasm >...< /sarcasm > in one of the opening chapters.
In chapter 20 on PEAR and Web Services, he gets into how to use the services offered by Amazon, Del.icio.us, Ebay, Google, Techorati, Weather.com and Yahoo. In chapter 21, he touches briefly on Ajax. He does so from the standpoint that because it is becoming so prevalent, a PHP developer may need to know at least how it will interface with one's server-side code.
Also in the last chapter, he covers some things to think about when designing PHP driven sites to be served up on mobile devices. You could think of the wireless realm like the old West. The dust is still settling, and no real consensus has been reached as of yet. Some people swear by Wireless Markup Language, being pioneered by the Open Mobile Alliance, whereas others stick by the W3C recommendation to use XHTML Basic. It should be noted that the OMA and W3C are not at odds. WML is in fact written in XML.
Well, I will wrap this up. Hopefully I was not too brief in highlighting what I thought was cool. Really, the whole book is very good, but to write a paragraph about every chapter would make for a really lengthy review. I would highly recommend this as a resource for any developers who want to really dig in and solidify their working knowledge of PHP and web services, or just want to explore the nuances and complexities of XML DTD's and namespaces.