Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming Books Media Book Reviews IT Technology

XML in a Nutshell 122

The indefatigable chromatic wrote this review of what sounds like another solid offering from the hard workers at O'Reilly & Associates. If you're in the market for dead-tree references to XML, it probably belongs on your list of candidates.
XML in a Nutshell
author Elliotte Rusty Harold & W. Scott Means
pages 480
publisher O'Reilly & Associates
rating 8.5
reviewer chromatic
ISBN 0-596-00058-8
summary A solid and useful reference for XML developers.

The Scoop

While one of the original goals of XML was to create a specification simple enough that a computer science student could produce a working parser in a week, a few new developments have complicated things slightly. The sea of W3C-recommended acronyms includes namespaces, XPath, XSL, XPointers, schemas, and dozens of specific XML applications. Adopting the simple rules of well-formed data helps, but the quickly-growing stable of related technologies is enough to make the sturdiest information architect weep. The specifications aren't as easy to read as, say, the latest Terry Pratchett novel, either.

XML in a Nutshell covers just the most important concepts. Cleanly written, it walks through the XML aspects likely to be used in most projects. As it assumes existing familiarity with the subjects, it does not spend much time in tutorial mode. Instead, these are the guts of the subjects, arranged nicely in dissection jars.

The first section covers XML basics. This includes the ubiquitous grove of angle brackets, the semantic intent and implication, a good chapter on DTDs, as well as internationalization concerns. The short discussion of namespaces is the clearest explanation this author has yet encountered.

Part two delves further into the reasons for using XML, exploring documents that use the structure to explain semantic relationships. DocBook and XHTML appear, as extended examples. Further, it explores the assistive technologies of XSL, XPath, XLinks, and XPointers. Again, the discussions of XSL and XPath compare very favorably to longer works, intended as tutorials. A brief examination of CSS and XSL Formatting Objects rounds out the section.

Part three explores the use of XML as a data transport. In this section, programming languages come into play. There's a strong hint of Java in the air, though most of the discussion follows a language-neutral path. Both the DOM and SAX parsing models have a dedicated chapter. They're short, but the essential pieces are described simply and effectively.

The final section makes or breaks the book. Luckily, XML in a Nutshell won't have much chance to gather dust. The two-hundred page reference section includes the most useful information. There's an annotated copy of the XML 1.0 Reference, arranged logically. The XSL reference, in particular, is quite good. DOM and SAX programmers will also enjoy their respective chapters. Finally, it's nice to have a large set of printed character tables handy.

What's to Consider

The parsing examples don't go much beyond DOM or SAX, and there's more than a strong Java flavor. (Of course, the models are very similar in most modern languages.) As well, some of the class interfaces in the SAX reference are hard to read. This is probably due to the complexity of the information instead of any editorial decision. There's also little discussion of actual XML applications. Instead, the book covers the principles behind perhaps 90% of XML usage. Again, this is not a complaint, just a clarification of the intended audience.

The Summary

The value of XML in a Nutshell should be readily apparent to XML developers. The material is well-organized and concise. It's a quintessential Nutshell book, upholding a tradition of utility and quality. Readers who've already been exposed to the presented material will likely keep this book close at hand.

Table of Contents

  1. XML Concepts
    1. Introducing XML
    2. XML Fundamentals
    3. Document Type Definitions
    4. Namespaces
    5. Internationalization
  2. Narrative-Centric Documents
    1. XML as a Document Format
    2. XML on the Web
    3. XSL Transformations
    4. XPath
    5. XLinks
    6. XPointers
    7. Cascading Stylesheets (CSS)
    8. XSL Formatting Objects (XSL-FO)
  3. Data-Centric Documents
    1. XML as a Data Format
    2. Programming Models
    3. Document Object Model (DOM)
    4. SAX
  4. Reference
    1. XML 1.0 Reference
    2. XPath Reference
    3. XSLT Reference
    4. DOM Reference
    5. SAX Reference
    6. Character Sets


You can purchase this book at Fatbrain.

This discussion has been archived. No new comments can be posted.

XML in a Nutshell

Comments Filter:
  • by pubjames ( 468013 ) on Thursday September 13, 2001 @12:16PM (#2292582)
    XML is not likely to succeed

    We had dumb comments like this last time XML was discussed here.

    Let's me make this clear now, before we get too many more comments like this. HTML is a formatting language for displaying information in web browsers. XML is a data storage toolkit, a configurable vehicle for any kind of information. It is completely different to HTML - the majority of uses for XML have nothing to do with displaying information in a browser.

    XML is an extremely important standard and I urge everyone to learn it.

    And please, don't make comments on Slashdot about technologies you don't know much about.
  • XML !=HTML (Score:5, Informative)

    by digital_freedom ( 453387 ) on Thursday September 13, 2001 @12:17PM (#2292596)
    XML is not going to replace HTML and that's great because XML is better suited to data than display.

    I have used XML on several projects not to send to Browsers to display, but to transfer data between disparate systems. Finally there is a way that two computers can exchange data & meta data without worrying about memory use, big/little endian, EDI formats, and character positions. XML is great in that almost everyone agrees to use it to transfer information. HTML is great for formatting display to a degree (PostScript people please don't flame me! ;) ). I have worked with EDI formats before and it is a pain in the butt to set up message positions for all of your data and to work with nested lists of information. XML makes that so much easier and lets you use DTDs to enforce stuff. I also like the fact that XML was made to be read by a human being. We can actually look at the data file and tell what a field is by looking at the tag. This is why XML is going to be ubiquitous.

    Don't expect it to be a browser language, it's just data. With nicely structured data you can use that to generate HTML, WML, anything...

    The future of data transfer looks bright.
  • by rkischuk ( 463111 ) on Thursday September 13, 2001 @12:24PM (#2292624)
    You can purchase this book at Fatbrain. [fatbrain.com]

    The link:

    http://www1.fatbrain.com/asp/bookinfo/bookinfo.a sp ?theisbn=0596000588&from=MJF138

    Not a bad idea - using a slashdot posting to drive sales through a referral link. I'll be back later - I'm off to find some books to review...
  • by wangi ( 16741 ) on Thursday September 13, 2001 @12:27PM (#2292634) Homepage
    On a related note - O'Reilly's 'Java & XML' book by Brett McLaughlin was eventually released this week after sliding from it original July release date.
  • Re:XML !=HTML (Score:2, Informative)

    by digital_freedom ( 453387 ) on Thursday September 13, 2001 @12:27PM (#2292637)
    Here's some links to some good info & tutorials on XML

    W3C School -- excellent [w3schools.com]
    Anti-christ XML school -- MSDN site [microsoft.com]
    Sun's Java/XML school [sun.com]
    Crash Course in XML [spiderpro.com]

    Hope these help!
  • Re:Great Book... (Score:2, Informative)

    by Wiggin ( 97119 ) on Thursday September 13, 2001 @12:27PM (#2292641)
    there already is. its title is "Java and XML". It is an O'Reilly book. It can be found here [fatbrain.com] at fatbrain [fatbrain.com].
  • A very helpful book (Score:4, Informative)

    by sben ( 71467 ) on Thursday September 13, 2001 @12:30PM (#2292658)
    Highly useful, and highly recommended.

    When I was between jobs earlier this year, I decided to learn XML, and bought this book after perusing several others in the bookstore. I'd had a vague introduction to it at my previous job, and understood the basic ideas behind it. The book gave me a thorough understanding, and I was able to talk about it intelligently (and correctly) at subsequent job interviews. I now work with it on a nearly-daily basis, and the book is a big source of my knowledge.

  • Re:Great Book... (Score:2, Informative)

    by Wiggin ( 97119 ) on Thursday September 13, 2001 @12:32PM (#2292672)
    Sorry to reply to my own post, but elsewhere in the comments i was made aware that a second edition of this book exists, and can be found here [fatbrain.com].
  • by Matts ( 1628 ) on Thursday September 13, 2001 @12:41PM (#2292735) Homepage
    Try Zvon. http://www.zvon.org [zvon.org]. They are a great site that is regularly updated.

    PS: I was a tech editor for XML in a Nutshell, so it's really cool to see it reviewed here :-)
  • by mir ( 106753 ) <mirod@xmltwig.com> on Thursday September 13, 2001 @12:51PM (#2292811) Homepage

    And of course the basic reference is the annoted specification [xml.com]. The spec is actually quite simple (and short!) and the annotations are a great way to get the extra details that you can't get usually unless you sit in the working groups.

    It is really a shame that the rest of the XML-related specs (XSLT, DOM...) have forgotten one of the basic design goals of the XML spec: simplicity!

  • by elBart0 ( 444317 ) on Thursday September 13, 2001 @01:02PM (#2292873) Homepage
    I spend most of every day working with XSL and XML, and continually have to listen to people complain how hard XSL is. It's not. Though it's a different meathod of writing code than some people are used to, most people I work with, have no problem with it, once they break out of the C-type syntax of coding. Once you comprehend the template concept of development, XSLT is actually rather easy.
    Don't get me wrong, there are limitations to the language, and hopefully, we'll see those limitations removed in 2.0.
    But, if you can make the conceptual jump in coding styles, it can be very effictive.
  • by dingbat_hp ( 98241 ) on Thursday September 13, 2001 @01:56PM (#2293266) Homepage

    XML is hard to learn, and easy to remember. Nutshell guides are best for complex lists of obscure settings in little-used config files. I have a bunch of similar Nutshell guides, and they see much hard and useful service.

    This book isn't a good tutorial (it isn't meant to be) and I see no need for a "handy quick reference" guide to the parts of XML that are covered here. It's not a bad book, but I see no real useful purpose to it.

    Sometimes I need to read the XML Spec. This is only ever for really obscure and bizarre minutiae, and in those cases I have to go back to the W3C original. Fortunately that's on-line and already on my desk in a well-thumbed paper copy. I've never felt the slightest need for an XML Nutshell.

    Omitting Schema is a real drawback. The Schema spec is one of the very few XML-related specs that's at all large and can't easily be memorised.

  • by thomis ( 136073 ) <thomis@@@gmail...com> on Thursday September 13, 2001 @01:57PM (#2293279) Homepage Journal
    I've accumulated a wide variety of links to resources that have 1 or 2 useful items... but I need the equivalent of an O'Reilly 'Definitive Guide' for XSL. Something that's heavy on Xpath, code examples and other red meat.
    I agree with the first post flamebait to an extent; XML is all well and good, nice way for my database guy to get me the goods for Web presentation, but I need to DO something with that data.
    The answer is XSL, but i've had to blunder around for what works. There isn't even a decent FAQ anywhere, that I know of. Suggestions anyone? Following is a list of links i've found useful; please don't send me to any of those...

    TIA

    http://www-106.ibm.com/developerworks/xml/

    http ://www.ucc.ie/xml/

    http://www.vbxml.com/xsl/xsltref.asp

    http://www.xmlhack.com/

    http://www.xml.com/index.csp

    http://www.xmlpitstop.com/ --very good!

    http://www.biglist.com/lists/xsl-list/archives/

    http://www.xslt.com/

    Enjoy!

  • by chromatic ( 9471 ) on Thursday September 13, 2001 @02:08PM (#2293407) Homepage

    Just to be clear, this is a hobby for me. I receive no financial remuneration for book reviews. That's right -- no money from OSDN, no money from referral links. I've never even joined any sort of affiliate program. Hemos (and others) have sent me free review copies, though I've also purchased books on my own to review.

  • by chromatic ( 9471 ) on Thursday September 13, 2001 @02:16PM (#2293501) Homepage

    O'Reilly have just published an XSLT [oreilly.com] book. I've not read it yet, but will hopefully pick it up soon. It does include a chapter and an appendix on XPath.

Real Programmers don't eat quiche. They eat Twinkies and Szechwan food.

Working...