There are lots of books about PHP and there are lots of books about
XML, but there are very few books about PHP and XML. Wrox Press have
attempted to fill this niche in the market with "Professional PHP4
XML".
A brief introduction is followed by a pair of chapters covering the
fundamentals of PHP and XML which, while comparatively
short, are densely packed and serve as good introductions to the two
technologies. Chapter 4 presents concise summaries and example uses
of all the major XML derivatives and vocabularies and is followed by
four chapters detailing SAX, DOM, XPath and XSLT in enough depth to
enable users to make informed choices as to which is the best tool for
the job in hand. As well as the expected tutorials and examples, each
of these chapters also explores why you would use the method in
question and describe how to install and enable any PHP extensions
that are required.
Chapter 9 describes a number of third-party packages and classes
which simplify application development, and Chapter 10 presents a
number of common tasks and explains the pros and cons of using
different methods to complete them. The remainder of the book builds
on the information covered thus far, exploring such topics as content
syndication using RSS, XML storage solutions, and various web services
technologies such as WDDX, SOAP and XML-RPC.
My main issue with this book is its disjointedness: there are seven
authors cited on the front cover and it is blatantly obvious that the
chapters were written by different people and that very little
integration work was done. The differences are mostly stylistic,
although the chapters on XML-RPC are frankly awful and cast a shadow
over the rest of the book. The only other issue I had was that the
book is a little verbose, although this is more a matter of taste: if
you enjoyed other books in Wrox's "Programmer to Programmer" series
then you'll have no problems with this one.
Weighing in at very nearly a thousand pages this is not a book that
you'll lose down the side of the sofa, but the sheer size of its subject area
means that the priority is breadth rather than depth of coverage. And
that's no bad thing: after absorbing the core of the book you'll be in
a fine position to choose the correct tool for the job in hand.
You'll also have a head start in locating and understanding more
in-depth information on the techniques that you decide to use.
This book is targeted at people with some PHP experience and no XML
knowledge and it is well paced for its target audience; readers with
no PHP or XML experience will probably find it hard going. Although
the book is written like a tutorial it has a number of useful
appendices which will ensure that it remains a useful reference long
after you finish reading it.