XML, the Extensible Markup Language, is a W3C endorsed standard for document markup. Because of its ability to deliver portable data, XML is positioned to be a key web application technology.Given the complexity and incredible potential of this powerful markup language, it is clear that every serious developer using XML for data or text formatting and transformation will need a comprehensive, easy-to- access desktop reference in order to take advantage of XML's full potential. XML in a Nutshell will assist developers in formatting files and data structures correctly for use in XML documents.XML defines a basic syntax used to mark up data with simple, human-readable tags, and provides a standard format for computer documents. This format is flexible enough to be customized for transforming data between applications as diverse as web sites, electronic data inter-change, voice mail systems, and wireless devices, to name a few.Developers can either write their own programs that interact with, massage, and manipulate the data in XML documents, or they can use off-the-shelf software like web browsers and text editors to work with XML documents. Either choice gives them access to a wide range of free libraries in a variety of languages that can read and write XML.The XML specification defines the exact syntax this markup must follow: how elements are delimited by tags, what a tag looks like, what names are acceptable for elements, where attributes are placed, and so forth. XML doesn't have a fixed set of tags and elements that are supposed to work for everybody in all areas of interest for all time. It allows developers and writers to define the elements they need as they need them.Although XML is quite flexible in the elements it allows to be defined, it is quite strict in many other respects. XML in a Nutshell covers the fundamental rules that all XML documents and authors must adhere to, detailing the grammar that specifies where tags may be placed, what they must look like, which element names are legal, how attributes attach to elements, and much more.
Continuing in the tradition of the Nutshell series,
XML in a Nutshell provides a dense tutorial on its subject, as well as a useful day-to-day reference. While the reader isn't expected to have prior expertise in XML, this book is most effective as an add-on to a more introductory tutorial because of its relatively fast pace.
The authors set out to systematically--and rapidly--cover the basics of XML first, namely the history of the markup language and the various languages and technologies that compose the standard. In this first section, they discuss the basics of XML markup, Document Type Definitions (DTDs), namespaces, and Unicode. From there, the authors move into "narrative-centric documents" in a section that appropriately focuses on the application of XML to books, articles, Web pages and other readable content.
This book definitely presupposes in the reader an aptitude for picking up concepts quickly and for rapidly building cumulative knowledge. Code examples are used--only to illustrate the particular point in question--but not in excess. The book gets into "data-centric" XML, exploring the difference between the object-driven Document Object Model (DOM) and the event-driven Simple API for XML (SAX). However, these areas are a little underpowered and offer a bit less detail about this key area than the reader will expect.
At the core of any Nutshell book is the reference section, and the installment found inside this text is no exception. Here, the XML 1.0 standard, XPath, XSLT, DOM, SAX, and character sets are covered. Some material that is covered earlier in the book--such as Cascading Style Sheets (CSS)--is not re-articulated, however. XML in a Nutshell is not the only book on XML you should have, but it is definitely one that no XML coder should be without. --Stephen W. Plain
Topics covered:
- XML history
- Document Type Definitions (DTDs)
- Namespaces
- Internationalization
- XML-based data formats
- XHTML
- XSL
- XPath
- XLink
- XPointer
- Cascading Style Sheets (CSS)
- XSL-FO
- Document Object Model (DOM)
- Simple API for XML (SAX)