Python & XML, by Christopher A. Jones and Fred L. Drake, Jr., O'Reilly,
2002 360 pages.
Python & XML is an advanced book, covering XML and web programming. The
reader needs to bring a good understanding of Python, but does not
need to know much about XML or web programming before opening the book. For
such a reader, the book is well written, thorough, and well worth the price
of the book ($39.95).
In my case, my background in Python was sufficient, even though I am merely
a duffer of two year's experience. My previous knowledge of XMl was exactly
zero, and I have no delusions of becoming an expert; in fact, my interests
and time constraints are such that I do not expect XML to play a major role
in my programming any time soon. Still, even for such a reader as myself,
the book was a valuable read. I come away knowing a lot more about
XML, it's usefulness, and how Python can be used to manipulate it. And even
though this knowledge, in my case, is merely background knowledge, I am glad
to have it and I think it will enhance my enjoyment of Python programming
over the next few years.
I particularly appreciated that the book gives a rather complete and well
written treatise on XML itself, before applying Python to it. In my case
this was sorely needed. For a Pythonista, this book is as good an introduction
to the subject of XML as I can imagine. For this purpose, the three chapters,
"XML Fundamentals", "The Simple API for XML", and "The Document Object Model"
were especially appreciated. I believe these chapters are as good a general
introduction to XML as one is likely to find, even in a book dedicated to
XML alone, much less Python and XML.
The more detailed and specific chapters covering web programming using Python
and XML were more difficult for me to master. I would classify them as advanced
and I think advanced Python programmers will find them absorbing and challenging.
In my case, they gave me sufficient background to better understand what
is going on in exciting areas of distributed programming and web services
using SOAP and XML-RPC. To me , this is greatly valued; even though I am
not going to be able to go out and write leading edge web services any time
XSLT, Extensible Stylesheet Language Transformations, is a notably good chapter
that shows how to convert XML to HTML using Python. This leads into interesting
application possibilities that are briefly explored using CGI.
It was a pleasant surprise to me how much of the book was devoted to web
programming. The final three chapters, "Python Internet API's", "Python,
Web Services and SOAP", and "Python and Distributed Systems Design" were
particularly interesting. The material coved in these chapters will be useful
to anyone doing web programming using Python.
For any Python programmer, this book will be interesting and will give sufficient
background in XML and web programming to enhance appreciation and understanding
of these hot topics. For a moderately proficient Pythonista with some web
programming experience, this book will definitely help them further up the
ladder of true competence. For a mature, capable Python programmer, this
book is a route to expertise.
I heartily recommend this book.