This powerful new edition provides developers with a comprehensive guide to the rapidly evolving XML space. Serious users of XML will find topics on just about everything they need, from fundamental syntax rules, to details of DTD and XML Schema creation, to XSLT transformations, to APIs used for processing XML documents. Simply put, this is the only reference of its kind among XML books.Whether you're a Web designer using SVG to add vector graphics to web pages, or a C++ programmer using SOAP to serialize objects into a remote database, XML in a Nutshell thoroughly explains the basic rules that all XML documents -- and all XML document creators -- must adhere to, including:
- Essentials of the core XML standards: With this book, you can develop an understanding of well-formed XML, DTDs, namespaces, Unicode, and W3C XML Schema quickly.
- Key technologies used mainly for narrative XML documents such as web pages, books, and articles: You'll gain a working knowledge of XSLT, Xpath, Xlink, Xpointer, CSS, and XSL-FO.
- Technologies for building data-intensive XML applications, and for processing XML documents of any kind: One of the most unexpected developments in XML has been its enthusiastic adoption for structured documents used for storing, and exchanging used by a wide variety of programs. This book will help you understand the tools and APIs needed to write software that processes XML, including the event-based Simple API for XML (SAX2) and the tree-oriented Document Object Model (DOM).
Quick-reference chapters also detail syntax rules and usage examples for the core XML technologies, including XML, DTDs, Xpath, XSLT, SAX, and DOM. If you need explanation of how a technology works, or just need to quickly find the precise syntax for a particular piece, this up-to-date edition is ready with the information.
XML in a Nutshell is an essential guide for developers who need to create XML-based file formats and data structures for use in XML documents. This is one book you'll want to close at hand as you delve into XML.
Preface; What This Book Covers; What’s New in the Second Edition; Organization of the Book; Conventions Used in This Book; Request for Comments; Acknowledgments; XML Concepts; Chapter 1: Introducing XML; 1.1 The Benefits of XML; 1.2 Portable Data; 1.3 How XML Works; 1.4 The Evolution of XML; Chapter 2: XML Fundamentals; 2.1 XML Documents and XML Files; 2.2 Elements, Tags, and Character Data; 2.3 Attributes; 2.4 XML Names; 2.5 Entity References; 2.6 CDATA Sections; 2.7 Comments; 2.8 Processing Instructions; 2.9 The XML Declaration; 2.10 Checking Documents for Well-Formedness; Chapter 3: Document Type Definitions (DTDs); 3.1 Validation; 3.2 Element Declarations; 3.3 Attribute Declarations; 3.4 General Entity Declarations; 3.5 External Parsed General Entities; 3.6 External Unparsed Entities and Notations; 3.7 Parameter Entities; 3.8 Conditional Inclusion; 3.9 Two DTD Examples; 3.10 Locating Standard DTDs; Chapter 4: Namespaces; 4.1 The Need for Namespaces; 4.2 Namespace Syntax; 4.3 How Parsers Handle Namespaces; 4.4 Namespaces and DTDs; Chapter 5: Internationalization; 5.1 Character-Set Metadata; 5.2 The Encoding Declaration; 5.3 Text Declarations; 5.4 XML-Defined Character Sets; 5.5 Unicode; 5.6 ISO Character Sets; 5.7 Platform-Dependent Character Sets; 5.8 Converting Between Character Sets; 5.9 The Default Character Set for XML Documents; 5.10 Character References; 5.11 xml:lang; Narrative-Centric Documents; Chapter 6: XML as a Document Format; 6.1 SGML’s Legacy; 6.2 Narrative Document Structures; 6.3 TEI; 6.4 DocBook; 6.5 Document Permanence; 6.6 Transformation and Presentation; Chapter 7: XML on the Web; 7.1 XHTML; 7.2 Direct Display of XML in Browsers; 7.3 Authoring Compound Documents with Modular XHTML; 7.4 Prospects for Improved Web-Search Methods; Chapter 8: XSL Transformations (XSLT); 8.1 An Example Input Document; 8.2 xsl:stylesheet and xsl:transform; 8.3 Stylesheet Processors; 8.4 Templates and Template Rules; 8.5 Calculating the Value of an Element with xsl:value-of; 8.6 Applying Templates with xsl:apply-templates; 8.7 The Built-in Template Rules; 8.8 Modes; 8.9 Attribute Value Templates; 8.10 XSLT and Namespaces; 8.11 Other XSLT Elements; Chapter 9: XPath; 9.1 The Tree Structure of an XML Document; 9.2 Location Paths; 9.3 Compound Location Paths; 9.4 Predicates; 9.5 Unabbreviated Location Paths; 9.6 General XPath Expressions; 9.7 XPath Functions; Chapter 10: XLinks; 10.1 Simple Links; 10.2 Link Behavior; 10.3 Link Semantics; 10.4 Extended Links; 10.5 Linkbases; 10.6 DTDs for XLinks; Chapter 11: XPointers; 11.1 XPointers on URLs; 11.2 XPointers in Links; 11.3 Bare Names; 11.4 Child Sequences; 11.5 Namespaces; 11.6 Points; 11.7 Ranges; Chapter 12: Cascading Style Sheets (CSS); 12.1 The Three Levels of CSS; 12.2 CSS Syntax; 12.3 Associating Stylesheets with XML Documents; 12.4 Selectors; 12.5 The Display Property; 12.6 Pixels, Points, Picas, and Other Units of Length; 12.7 Font Properties; 12.8 Text Properties; 12.9 Colors; Chapter 13: XSL Formatting Objects (XSL-FO); 13.1 XSL Formatting Objects; 13.2 The Structure of an XSL-FO Document; 13.3 Laying Out the Master Pages; 13.4 XSL-FO Properties; 13.5 Choosing Between CSS and XSL-FO; Chapter 14: Resource Directory Description Language (RDDL); 14.1 What’s at the End of a Namespace URL?; 14.2 RDDL Syntax; 14.3 Natures; 14.4 Purposes; Data-Centric XML; Chapter 15: XML as a Data Format; 15.1 Why Use XML for Data?; 15.2 Developing Data-Oriented XML Formats; 15.3 Sharing Your XML format; Chapter 16: XML Schemas; 16.1 Overview; 16.2 Schema Basics; 16.3 Working with Namespaces; 16.4 Complex Types; 16.5 Empty Elements; 16.6 Simple Content; 16.7 Mixed Content; 16.8 Allowing Any Content; 16.9 Controlling Type Derivation; Chapter 17: Programming Models; 17.1 Common XML Processing Models; 17.2 Common XML Processing Issues; Chapter 18: Document Object Model (DOM); 18.1 DOM Foundations; 18.2 Structure of the DOM Core; 18.3 Node and Other Generic Interfaces; 18.4 Specific Node-Type Interfaces; 18.5 The DOMImplementation Interface; 18.6 Parsing a Document with DOM; 18.7 A Simple DOM Application; Chapter 19: Simple API for XML (SAX); 19.1 The ContentHandler Interface; 19.2 SAX Features and Properties; 19.3 Filters; Reference; Chapter 20: XML 1.0 Reference; 20.1 How to Use This Reference; 20.2 Annotated Sample Documents; 20.3 XML Syntax; 20.4 Constraints; 20.5 XML Document Grammar; Chapter 21: Schemas Reference; 21.1 The Schema Namespaces; 21.2 Schema Elements; 21.3 Primitive Types; 21.4 Instance Document Attributes; Chapter 22: XPath Reference; 22.1 The XPath Data Model; 22.2 Data Types; 22.3 Location Paths; 22.4 Predicates; 22.5 XPath Functions; Chapter 23: XSLT Reference; 23.1 The XSLT Namespace; 23.2 XSLT Elements; 23.3 XSLT Functions; 23.4 TrAX; Chapter 24: DOM Reference; 24.1 Object Hierarchy; 24.2 Object Reference; Chapter 25: SAX Reference; 25.1 The org.xml.sax Package; 25.2 The org.xml.sax.helpers Package; 25.3 SAX Features and Properties; 25.4 The org.xml.sax.ext Package; Chapter 26: Character Sets; 26.1 Character Tables; 26.2 HTML4 Entity Sets; 26.3 Other Unicode Blocks; Colophon;