I've had the opportunity to go through the XML 1.1 Bible by Elliotte Rusty Harold (Wiley), and I must say it's impressive. Any time you get a tech book going into a 3rd edition, you have to think that the author is doing something right. If you fit the criteria for the target audience, you should be pleased.
The chapter breakout:
Part 1 - Introducing XML - An Eagle's Eye View of XML; XML Applications; Your First XML Document; Structuring Data; Attributes, Empty-Element Tags, and XSL; Well-formedness
Part 2 - Document Type Definitions - Validity; Element Declarations; Attribute Declarations; Entity Declarations; Namespaces
Part 3 - Style Languages - CSS Style Sheets; CSS Layouts; CSS Text Styles; XSL Transformations; XSL Formatting Objects
Part 4 - Supplemental Technologies - XLinks; XPointers; XInclude; Schemas
Part 5 - XML Applications - XHTML; Modular XHTML; The Resource Directory Description Language; Scalable Vector Graphics; Designing a New XML Application; Index
I mentioned the "target audience" above. As you can tell from the chapter layout (and also in the introduction), the author is targeting XML as used in web page design. You won't find anything in here about how to write a Java program to parse out XML using one of the XML parsers available. If that's your need, don't get this book. You'll be highly disappointed. This should be used as more of a reference tool for working with XML or related technologies like DTD or XSL.
I also appreciated the author's explanation as to what went into the 3rd edition. Rather than just add more stuff to what already existed, he removed XML technology chapters that just never caught momentum, like VML or RDF. So although the book is still 1000 pages, it's made up of content that is usable and applicable to the current state and direction of the technology. It's nice to know you're not getting a rehash of material just so the author can squeeze a few more bucks out of a title. Thanks!
The conversational and informal tone of the writing makes the material very approachable and readable. The examples are clear and concise, and relevant to how the technology would be used in the real world. Overall, a very good selection to add to your XML bookshelf.
on May 4, 2003
ERH (the author) knows his XML terminology and concepts backwards and forwards - so if you want to learn what XML is all about you can do no wrong with this book. Stop reading here and buy a copy already. If you are not sure if you want to learn XML keep reading this review.
As a side note this book is HUGE.
After the first three chapters of this Bible you get into what is basically theory, since that is what XML is - theory (for most people anyway).
Now I'm a web developer, so I'm biased in that regard. If you are a web developer thinking of moving into the XML sphere - I have to ask why? Shouldn't you rather be learning some nice PHP or MySQL - stuff that will, you know, make your web site cool and useful instead of more (unnecessary) work for yourself?
Well I shouldn't say that (I did though didn't i?), you might be able to make an extremely complicated page out of XML if you are really, really bored. Or, you could just zap off some regular HTML that will actually work in most browsers for now and the forseable (?) future.
The best part of the book of course is that ERH (the author again) uses Baseball as his XML specification of choice - this makes it both interesting (as far as that is possible with this technology) and fun.
If you want to learn XML, pick up a copy of this hefty tome. If you aren't sure if you want to learn XML do not pick up a copy of this hefty tome as you will never read it, and even if you do you'll be unlikely to use any of it.
I like the cover - a standing robot. That's how you'll feel after 'reading' this incredibly large book. Actually you'll be sitting.
on April 15, 2002
Many beginners will be put off by the sheer size (1200 pages!) of this book. Big mistake. There aren't a lot of books that cover all the basics of XML technology, focus on the real needs of XML newbies, and do so in clear, readable prose. In fact, this may be the only one.
The problem with XML is that you can use it for a lot of different things. (Hence those 1200 pages.) So people who write about it tend to be specialists in some specific area, like building XML web applications, or designing XML document schemas, etc. Or else they're markup standards wonks, good at picking out the tiny nits that make the whole concept work, but terrible at explaining what XML is *for*.
Harold, by contrast, knows his readers, and knows what they need. He makes very few assumptions about what you already know. If you know how to use a text editor (but see below for a warning) and a web browser, you're ready to go. The author leads you step by step through all the basic concepts. There are a *lot* of steps, of course. But only the first 200 pages are absolutely essential for every reader. Not everybody needs to know about Document Type Definitions, Wireless Markup Language, or Scalable Vector Graphics. Not that there's any flab here -- all the different XML applications Harold describes are widely used, and it makes sense to include a good basic intro to all of them.
Harold also avoids a mistake I myself probably would have made -- he carefully avoids dealing XML's historical baggage. XML is a limited version of SGML -- a technology that wasted decades floundering in its own complexity. For once history really is bunk.
I do have some issues, more with the publisher than with the author. The big one is the sample text files on the CD -- all with Macintosh line endings! Judging from the screenshots, the author works mainly with Windows, so we can't blame him. If you're not a Mac person, you need a text editor that can handle these files, or a program for converting them. Notepad doesn't work, Wordpad does -- but complains a lot about "discarding formatting." If you're a vim user, add "mac" to the fileformats option.
Actually, it's pretty silly to even bother with a CD for this kind of material. Attention publishers! Book buyers are not impressed by "bonus cd-roms" that contain freely available software and text files that would be easier to download from the web. Nor are they impressed by silly markteroid terms like "Bible". Who are you, Charleton Heston?
on March 22, 2002
I am finally getting around to actually checking out XML, and spent a few days checking out the field for that perfect, up-to-date introduction. I found ...
It seems to be pretty much a toss-up between this book and the Wrox Beginning XML, and that seems to reflect the overall position of XML itself. At first, it attracted the Writers (aka web designers, content providers) as a web content description/management system. Then the Coders (enterprise app developers, MS & Co.) got into the act, seeing it as a universal middleware protocol to replace all the old proprietary EDI protocols. Two very different visions for the same technology. This book seems whole-heartedly and unapologetically devoted to the former, going into depth about XML's linguistic prowess in organizing, representing, and transforming CONTENT, but has _nothing_ to say about using it as a vehicle for data exchange (B2B, Web Services, SOAP).
The Wrox book on the other hand, seems to take the completely opposite approach, wallowing in SOAP and ASP code, writing prototype web services and hooking up to database. A book for the enterprise developer thru and thru.
This left-brain/right-brain split means that you need BOTH books to get the complete picture of XML today. I do think this book is better written and more friendly, though. And the thought of getting the Complete Shakespearean Plays in XML as a freebie is downright exciting :-)
I am a C++ guy, but this much seems obvious. I welcome comments from more experienced XML jockeys (and better book recommendations, if any!)
on October 18, 2001
While I think that for the most part XML Bible is a very comprehensive book that provided me with a good introduction to using XML, I really have to criticize the example programs the author uses.
There are two examples that Harold uses throughout the book. One (the baseball stats one) contains 47 elements, takes up three pages, and is entirely too long to follow easily, even if you *do* understand baseball. The other (Hello World!) contains only one element and is useless beyond it's appearance as the first program you work with. I found that as a result of having just these two examples (one horribly complicated and one overly simplified) made things hard to follow sometiems. Indeed, the chapter on DTD's, one of the more complicated chapters in the book, was much more difficult to grasp than it should have been.
Some other examples programs show up in the second half of the book, but if you prefer lots of example programs when you are just starting out, or if you like to type them in yourself, look for a book with some middle ground, rather than one that goes to the extreme ends of simplicity and complexity.
on July 9, 2001
I read an article titled "The Semantic Web" in the May 2001 issue of Scientific American and I decided I wanted to learn more about RDF, the Resource Description Framework, that could be used to express the "meaning" of Web pages. I found the "XML Bible" which has a chapter on RDF (Chapter 21). After reading the 25 page chapter I feel that I know much more about putting RDF into my Web pages. The chapter discusses what RDF is, and RDF syntax, containers, and schemas. There is a sidebar on the Dublin Core (a particular set of RDF elements analogous to library card catalog information). However, I still don't know how to use the "semantic" information once it is in a Web page. I also read the chapter on namespaces (needed to make sense of RDF), and that was also clear and well written. Overall, based on my sampling of a couple of chapters of the book, I can say it is detailed and well written. Its limitations are its focus on Web page development (rather than XML software development in general--but this is the author's goal as stated in the preface) and, at least for RDF, its lack of information on applications. If you are looking for a book on XML from a Web page perspective, this would be a good book.
on December 19, 2000
This book comes highly recommended for someone who may or may not know about XML but has very little idea how to understand it or start writing their own XML. One word of caution, please remember that with such a new technology this book can become outdated very quickly. You may become frustrated with the examples and/or code as the technology changes.
The author's main example works with baseball statistics throughout the book. The book begins by introducing XML. It shows what XML looks like, how other technologies surrounding XML (CSS, XSL) fit together, various versions of XML (like the Chemical Markup Language) and building your first XML document with the standard 'Hello World!' example. Next comes the meat of the book. The author discusses how to effectively structure your XML using elements and attributes. He shows what is proper and improper XML structure and briefly shows how XSL can format your XML.
The author spends quite a bit of time on Document Type Definitions (DTD's) which help you validate your XML. Please note that because this book is a bit outdated, the author does not treat Schema's, which are increasingly becoming popular as an alternative to DTD's (A great book that discusses DTD's vs. Schemas is Wrox's VB6 XML). After DTD's, we get an in-depth look at transforming your XML using both Cascading Style Sheets and XSL. XSL formatting is also treated.
To finish the text, the author looks at what he calls "supplemental technologies" to XML - XLinks (like HTML hyperlinks for XML), XPointers (addresses specific parts of XML document) and namespaces (differentation between formatting and data in your XML/XSL) and the more advanced part of this book, XML applications where you would actually use your XML now that you have figured out how to write it.
The book is a great introduction to XML and it does what it promises, it gets you up-to-speed on XML and has you writing your own documents right away.
on October 5, 2000
I have been interested in XML ever since I first heard the acronym. I purchased many books and magazines which covered XML and its many implementations, only to walk away more confused. Although I am not a PERL, Java, or C programmer, the other books I purchased assumed I was. I am a Web Developer. While my other books are well written by knowledgeable authors, they didn't cover specific aspects of XML for web development very well, if at all. As a result, they tended to add more to my confusion rather than clear it up. "XML BIBLE" is the ONLY one which addresses the things which a web developer is most concerned with in a CLEAR manner. No longer confused about XML, I am now ready to march on into other arenas of implementation, with this XML book being the one closest to my side as a ready reference. Confused about XML? Don't know what tools you need to get started? Don't know if you should use CSS or XSL? Don't know what they are? Do you want to know? BUY THIS BOOK NOW!!!
on August 15, 2000
I'm going to start out by saying I'm glad I bought this book. It's a good introduction to XML. The early chapters on XML and DTDs are very good. They got me up to speed quickly so I could explain to my managers why our company should pursue XML and what the benefits will be.
The chapters on CSS-1 and CSS-2 were excellent and very useful even for writing regular HTML. Overall, the first 13 chapters were just what I needed.
Coverage of XSL was weaker and, in many respects, inadequate. The book never really discusses XPaths in enough detail. I thought the chapter on namespaces was too late in the book. The book is fleshed out with exceptionally long examples that added little value past the first few lines.
The chapter on reading a DTD (chapter 20) was a good idea, poorly executed. The complexity of the DTD selected by the author was totally inappropriate for the level of this book, even if the DTD was extremely well written.
The author never covers schema construction, and only briefly mentions them at all. Given their superiority over DTDs, this was a glaring error.
I was also disappointed by the lack of instruction on how to move XML across the Internet between applications. XML that never leaves the system it was constructed on is of little value.
Many of these problems are caused by the age of the book. It's over a year old now which, in XML terms, makes it yesterdays news. Now that this book has got me excited about XML, I'm off to find some more.
on February 7, 2000
This book focussed on the technical aspects of XML: writing well-formed and valid XML documents, preparing DTDs to constrain document content and layout and transforming these XML documents into other XML as well as HTML documents. The author also highlighted the much wider scope of X-Links and X-Pointers compared with the customary HTML links. I was unable to use my tried-and-true tactic of learning by working through the examples since - as the author kept emphasizing - most of the technology is not yet supported by the major browsers. Moreover, I was expecting to learn more on how XML could help me to deliver dynamic content to web sites; particularly how I could use it to draw data from various database and non-database sources. I had to rely on a couple of the articles from Microsoft's MSDN Library to fill in the pieces. In fact, the MSDN Library enlightened me about schemas - and the great advantages they provide compared with DTDs, the XML DOM and the provision for building XML islands within HTML documents. Of course, I was able to understand all the MSDN stuff as a result of the solid groundwork laid by the XML Bible. I am now looking forward to reading the 'XML IE5 Programmer's Reference' and some other XML applications book to round out my understanding of what seems to be a very exciting and promising technology!