The arrival of support for XML--the Extensible Markup Language--in browsers and authoring tools has followed a long period of intense hype. Major databases, authoring tools (including Microsoft's Office 2000), and browsers are committed to XML support. Many content creators and programmers for the Web and other media are left wondering, "What can XML and its associated standards really do for me?" Getting the most from XML requires being able to tag and transform XML documents so they can be processed by web browsers, databases, mobile phones, printers, XML processors, voice response systems, and LDAP directories, just to name a few targets.In Learning XML, the author explains XML and its capabilities succinctly and professionally, with references to real-life projects and other cogent examples. Learning XML shows the purpose of XML markup itself, the CSS and XSL styling languages, and the XLink and XPointer specifications for creating rich link structures.The basic advantages of XML over HTML are that XML lets a web designer define tags that are meaningful for the particular documents or database output to be used, and that it enforces an unambiguous structure that supports error-checking. XML supports enhanced styling and linking standards (allowing, for instance, simultaneous linking to the same document in multiple languages) and a range of new applications.For writers producing XML documents, this book demystifies files and the process of creating them with the appropriate structure and format. Designers will learn what parts of XML are most helpful to their team and will get started on creating Document Type Definitions. For programmers, the book makes syntax and structures clear It also discusses the stylesheets needed for viewing documents in the next generation of browsers, databases, and other devices.

Chapter 1 Introduction

What Is XML?

Origins of XML

Goals of XML

XML Today

Creating Documents

Viewing XML

Testing XML

Transformation

Chapter 2 Markup and CoreConcepts

The Anatomy of a Document

Elements: The Building Blocks of XML

Attributes: More Muscle for Elements

Namespaces: ExpandingYour Vocabulary

Entities: Placeholders for Content

Miscellaneous Markup

Well-Formed Documents

Getting the Most out of Markup

XML Application: DocBook

Chapter 3 Connecting Resourceswith Links

Introduction

Specifying Resources

XPointer: An XML Tree Climber

An Introduction to XLinks

XML Application: XHTML

Chapter 4 Presentation: Creatingthe End Product

Why Stylesheets?

An Overview of CSS

Rules

Properties

A Practical Example

Chapter 5 Document Models:A Higher Levelof Control

Modeling Documents

DTD Syntax

Example: A Checkbook

Tips for Designing and Customizing DTDs

Example: Barebones DocBook

XML Schema: An Alternative to DTDs

Chapter 6 Transformation: Repurposing Documents

Transformation Basics

Selecting Nodes

Fine-Tuning Templates

Sorting

Example: Checkbook

Advanced Techniques

Example: Barebones DocBook

Chapter 7 Internationalization

Character Sets and Encodings

Taking Language into Account

Chapter 8 Programmingfor XML

XML Programming Overview

SAX: An Event-Based API

Tree-Based Processing

Conclusion

Appendix Resources

Online

Books

Standards Organizations

Tools

Miscellaneous

Appendix A Taxonomy of Standards

Markup and Structure

Linking

Searching

Style and Transformation

Programming

Publishing

Hypertext

Descriptive/Procedural

Multimedia

Science

Glossary

Colophon

Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Learning XML is a hatching chick. Chickens have been around for at least 3,000 years. A hen typically lays one egg at a time and will sit on the egg, keeping it warm, until it hatches. The incubation period for a chicken egg is approximately 21 days from fertilization to hatching. Before hatching, the chick absorbs the egg yolk, which can sustain it for the first three days of its life. The most popular laying chicken in North America is the leghorn, which can produce eggs from five months of age until about a year and a half. Colleen Gorman was the production editor, and Emily Quill was the copyeditor for Learning XML. Madeleine Newell and Ellie Cutler provided quality control. Linley Dolby, Matt Hutchinson, Molly Shangraw, and Rachel Wheeler provided production support. Ellen Troutman-Zaig wrote the index.Ellie Volckhausen designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.David Futato designed the interior layout based on a series design by Nancy Priest. The print version of this book was created by translating the DocBook XML markup of its source files into a set of gtroff macros using a filter developed at O'Reilly & Associates by Norman Walsh. Steve Talbott designed and wrote the underlying macro set on the basis of the GNU troff –gs macros; Lenny Muellner adapted them to XML and implemented the book design. The GNU groff text formatter Version 1.11.1 was used to generate PostScript output. The text and heading fonts are ITC Garamond Light and Garamond Book; the code font is Constant Willison. The illustrations that appear in the book were produced by Robert Romano using Macromedia FreeHand 8 and Adobe Photoshop 5. This colophon was written by Nicole Arigo.

This is a very good introduction to XML but is also plagued with errors. The author provides good background explanations for the topics that need it and uses many good analogies and examples. Unfortunately there are many errors that are serious and obscure enough to confuse the intended audience. Do yourself a favor - buy this book then visit the errata page listed in the preface. Make sure to read both the confirmed and unconfirmed pages. The proof readers need to be taken outside and pelted with donuts.

I've been working my way through this book for the past couple of weeks. It has taught me some things I didn't know but, in some cases, has left me more confused. It doesn't usually take me this long to get through a book and with O'Reilly books, I'm usually thrilled with the book ... not this time though!

One of the biggest frustrations is that I've been unable to get a couple of the examples to work:

The example on page 136 for embedding counters and content just seems to get ignored when I include it in my DocBook style sheet.

I downloaded the examples 0401.xml and 0402.css, renamed the style1.css href in 0401.xml to point to 0402.css and get nothing but one big blob of text.

So, unless there is something to explain the issues later in the book, or the version of IE I'm using can't handle the XHTML/CSS combo, I don't get any benefit from example 0402.xml if it doesn't even work!

I won't repeat the mostly negative reviews that are already posted here. There is way too much prose, and not enough information. This book is not targeted for O'Reilly's core audience, but the technical amateur. I feel I have wasted my money.

I must agree with Mr. Wolf. I never even look to buy books from publisher other than O'Reilly. I especially love Learning VBScript. This book, however, leaves a dry taste in my mouth. I originally bought this book after reading a few online tutorials from different sites. After reading the first 45 pages, I returned to the sites to complete my XML education. I'm considering buying a book from another publisher for reference. The first two chapters of this book were an advertisement for the rest of the book. By the time I reached page 40 I was still seeing, "we'll discuss this in further detail in chapter 7, 3, etc." Why? You should have me hooked by now, and unfortunatly, I was not.

I must say, I did not like the author's style of teaching, the "I'll get to this later" method is fine, but not 5 chapters later. Why tease me now then?

"Learning XML" is good as computer books go but doesn't match expectations as O'Reilly books go. Take the discussion of XML name spaces, for example. The author describes the basic idea and syntax, which is fine. He then notes that the URI associated with the name space doesn't even have to point anywhere, which is also fine in that it's true, but most definitely not fine in that it leaves you wondering "What's up with that?" and forces you to go to a web site such as www.xml.com/lpt/a/2000/03/08/namespaces/index.html to read the "myths" article by Ronald Bourret, who explains the point clearly and succinctly in about three paragraphs. I expect O'Reilly books to contain those three paragraphs, and not leave me dangling conceptually. It's a good book by an author who's obviously trying, but it lacks the O'Reilly magic.

The book was fairly easy to read (from the perspective of someone who hasn't used XML before) and is handy as a reference. I read it before writing an XML-based B2B system, and it covered everything I needed to create the DTD's for the different transactions - though I had to look elsewhere for info on reading the XML files from Java.

I'd like to see more info on schemas if there is another edition. I think the section about programming with XML is uneccesary, better left for other books that can address the subject in more detail.

Another review mentioned the lack of thorough examples, I'd like to note that I appreciate that lack. Other XML books I skimmed were bloated with examples that I couldn't care less about. Learning XML had the right mix of info and examples, imho.

Alhtough well written and even thorough (well mostly), I find the title a bit misleading. XML and DTD's and all that jazz is well covered, but the approach brings in mind an school text book, not hands on manual. General reading, if you like.

I've been a devoted fan of O'Reilly publications ever since the nutshell books were small, and bound with 2 staples. The reason for my longstanding loyalty to them is their loyalty to me, the technical audience. Their books are well written, entertaining, factual, accurate, and easily absorbed.

This book (although probably better than most on the market) does not measure up to the high standards I normally associate with books from O'Reilly and Associates. Although I am only a beginner (the target for the book), I found numerous syntax and logic errors in the examples. But more importantly, in a book that's about transforming an input tree into an output tree, the trees are often notably lacking. All that's presented is the transformation(XSLT). That doesn't work as a training example. It's like a diet commercial that shows only the pill, but no "before" or "after" pictures. Yeah, the pill (in this analogy, XSLT) is interesting, but since it's a translator from input to output, I'm left imagining what they look like. Having them as easy references would have been extremely helpful to me as I worked through the transformation.

Furthermore (and I'll agree that this is an ill-defined issue) the text seemed too text-y and prone to discussion. What I liked about previous O'Reilly books (Perl especialy) is that the _discussion_ is wrapped around good _examples_ of the language. The *examples* are the point, and the discussion supports them. Not so in this XML book. In this book, the discussions were often not supported by examples. Again, I have to create a picture in my own mind rather than absorbing the example that should have been placed in the book. Because there were more discussions than actual examples, I felt that I had to work really hard to understand the concepts. In contrast, the examples from other books seemed to make it more cranio-available (i.e. readily absorbed) to me. I can't exactly put my finger on the source of this difficulty, but the symptom for me is that I was more tired and less confident of my skills when I put this book down than when I've put other books down. That feeling - easily absorbed material instilling confidence - is why I've loved O'Reilly books in the past. This book (while it *did* help me learn XML) did *not* leave me with that O'Reilly feeling.

I'll try other XML books from O'Reilly as reference now that I've finished the tutorial, but in the mean time, I can't recommend this book. And it brings me sorrow to have to single this book out. It's the first disappointment from O'Reilly in our long relationship.