Jack J. Woehr
XML: A Primer, by Simon St. Laurent, is a prime introduction to the eXtensible Markup Language (XML). St. Laurent is a prolific writer and open-source software author whose personal web site bears eloquent testimony to both occupations at the same time demonstrating his ability to muster content effectively while demanding a minimum of bandwidth.
XML: A Primer starts off with a brief history of markup from SGML through HTML and CSS to XML and XSL. St. Laurent escorts us through the building blocks to the esoterica of XML in the field, such as XLink, IML, AIML, repositories, processors, and gateways, assisted by fine diagrams, tidy tables, and tastefully understated screen shots.
The smoothness of the presentation is due in part to the depth of his familiarity with the subject, and in part to his commendable technical writing style, which is concise without being terse and factual without being excessively dry. St. Laurent exhibits that rare skill of inserting an immense amount of detail offhandedly into the discussion without choking the reader. He's also generous with notes, cross-references, and web links.
Rarity of rarities in a computer book, St. Laurent is capable of using humor as an exotic spice, which he sprinkles in sparingly to emphasize important points or to explain oddities and inconsistencies in the technical regimen. Many authors regrettably slather it on like ketchup to draw the reader's attention to the author's own wit, but that's not the case here.
XML: A Primer is neither an expert-for-a-day rendition nor a "Dummies" book. It's a thoughtful volume for sophisticated readers who learn quickly from a topic well taught. You could wish for an accompanying CD-ROM, but while St. Laurent doesn't skimp on examples, his taste doesn't allow him to attempt to stun our critical faculties by burying us in code. Furthermore, this artfully designed and generally well-edited tome (despite a few typos and few code samples that suffer slightly in legibility from the narrow page format) has been kept quite inexpensive for such a masterful treatise.
A good horse runs at the mere shadow of the whip; XML: A Primer is aimed at those for whom the acquisition of yet another professional skill is a matter of routine. There are more comprehensive treatments available, but few so enjoyably readable as this one.
Electronic Review of Computer Books
Read an Excerpt
Chapter 1: Let Data Be Data
XML promises to transform the basic structure of the Web, moving beyond HTML and replacing it with a stronger, more extensible architecture. It promises to return the Web to content-based structures instead of the format-based structures imposed by designers frustrated by the immaturity of Web-design tools. It may also free the Web from the tyranny of browser developers by ending their monopoly on element development and implementation. At the same time, XML promises application developers, whether or not they work on the Web, an extremely convenient format for storing many different kinds of information.
The World Wide Web Consortium - or W3C - at (http : / / www.w3. org) moved far ahead of the commercial browser developers with a very promising new approach to markup. XML, the Extensible Markup Language, makes it possible for developers to create their own mutually interoperable dialects of markup languages, including but not limited to HTML. The use of XML might bring about a cease-fire in the browser wars between Netscape and Microsoft as added features shift to a component model rather than a single bloated program, and may even encourage the appearance of new browsing technologies. More immediately, it allows developers to create markup structures based on logical content rather than formatting. This will make it easier for humans and computers to search for specific content-based information within a document instead of just searching the entire text of a page. XML, in concert with style technologies, will allow authors to create beautiful pages that are easily managed, and give developers a new level of control over their information combined with enormous flexibility.
The WYSIWYG Disaster
The first word processor I used was a very simple text editor. I thought it was really amazing how the screen could move around my cursor point to make my 40-column screen display most of an 80-column page, but for the most part it was only good for doing homework and writing other similarly boring documents that I printed out on my lovely dot-matrix printer. After working with computers for a few years, programming them and cursing them, I gave up and bought an electric typewriter. It let me do some pretty fancy things, like underline text without having to enter bizarre escape codes. There wasn't a good way to type boldface text, but I didn't have to worry about wasting acres of paper because of a typo in a strange code. The typewriter gave me what-you-see-is-what-you-get (WYSIWYG) in a classical ink-on-paper kind of way.
I stuck with my typewriter for a couple of years until I discovered the Macintosh. I hated the Mac when it first came out, because every magazine I got covered an expensive machine I didn't own. It didn't even have a decent programming package. But when I encountered the Mac again about four years later, I was thrilled. It was actually fun to write papers, because I could toggle all the style information, write in multiple columns, and even use 72-point type once in a while. It didn't look very good on my ImageWriter, but it was pretty amazing compared to my old dot-matrix computer text. I turned in papers with headlines, bibliographies that used proper italics, multiple columns, and even a picture or two. Writing wasn't just about spewing out sentences anymore. I could create headlines, subheads, tables, footnotes, and use all kinds of other formatting to give even a short paper a set of structures that made it look smart...