You are previewing Real World XML.
O'Reilly logo
Real World XML

Book Description

Steven Holzner's friendly, easy-to-read style has turned this book (formerly known as Inside XML) into the leading reference on XML. Unlike other XML books, this one is packed with hundreds of real-world examples, fully tested and ready to use!

Holzner teaches you XML like no other author can, covering every major XML topic today and detailing the ways XML is used now--connecting XML to databases (both locally and on web servers), stying XML for viewing in today's web browsers, reading and parsing XML documents in browsers, writing and using XML schemas, creating graphical XML browsers, working with the Simple Object Access Protocol (SOAP), and a great deal more. Real World XML is designed to be the standard in XML coverage--more complete, and more accessible, than any other.

"The author's approach is definitely bottom up, written in a highly personable tone. He makes efficient use of example code, which sets this book apart from many I have read in the past. His examples bring to life the code without overwhelming the reader, and he does not present any examples for which the reader has not been prepared. In addition, no prior knowledge of XML is assumed. As such, this is an excellent book for both beginners and intermediate level web designers and programmers. Experts, too, will find this book of value, due to its emphasis on real world applicability. Overall, this book will benefit all web developers and programmers, with a special emphasis on beginner and intermediate developers."--Donna A. Dulo, MS, MA, Senior Systems Engineer, U.S. Department of Defense

"This book will provide a brilliant basis for anyone wishing to keep up to speed with the new XML developments."--Mr. Andrew Madden, Department of Computer Science, University of Wales

"I found this book's strengths to be: its exhaustive specification reference for the conscientious developer; access to the official specs, which is key; the wide variety of choices provided for all aspects of XML; several alternatives provided for each editor, browser, parser, stylesheet transform engine, and programming language; and working examples that show the power of the tools used."--Jaime Ryan, Software Developer/Documentation Manager, Blue Titan Software

Table of Contents

  1. Copyright
  2. Reviewers Praise Real World XML
  3. Comments from the Previous Edition
  4. About the Author
  5. About the Technical Reviewers
  6. Acknowledgments
  7. Preface
  8. Essential XML
    1. Markup Languages
    2. What Does XML Look Like?
    3. What Does XML Look Like in a Browser?
    4. What's So Great About XML?
    5. Well-Formed XML Documents
    6. Valid XML Documents
    7. Parsing XML Yourself
    8. XML Resources
    9. XML Editors
    10. XML Browsers
    11. XML Parsers
    12. XML Validators
    13. CSS and XSL
    14. XLinks and XPointers
    15. URLs Versus URIs
    16. ASCII, Unicode, and the Universal Character System
    17. XML Applications
  9. Creating Well-Formed XML Documents
    1. The World Wide Web Consortium
    2. What Is a Well-Formed XML Document?
    3. Markup and Character Data
    4. The Prolog
    5. The XML Declaration
    7. Processing Instructions
    8. Tags and Elements
    9. The Root Element
    10. Attributes
    11. Building Well-Formed Document Structure
    12. CDATA Sections
    13. XML Namespaces
    14. Infosets
    15. Canonical XML
  10. Valid Documents: Creating Document Type Definitions
    1. Valid XML Documents
    2. Creating Document Type Declarations
    3. Creating Document Type Definitions
    4. Validating Against a DTD
    5. Element Declarations
    6. ANY
    7. Child Element Lists
    8. #PCDATA
    9. Creating Subsequences with Parentheses
    10. Choices
    11. Mixed Content
    12. Empty Elements
    13. DTD Comments
    14. A DTD Example
    15. External DTDs
    16. Using Document Type Definitions with URLs
    17. Public Document Type Definitions
    18. Using Both Internal and External DTDs
    19. Namespaces and DTDs
  11. DTDs: Entities and Attributes
    1. Entities
    2. Attributes
    3. Creating Internal General Entities
    4. Creating External General Entities
    5. Building a Document from Pieces
    6. Predefined General Entity References
    7. Creating Internal Parameter Entities
    8. External Parameter Entities
    9. Using INCLUDE and IGNORE
    10. All About Attributes
    11. Declaring Attributes in DTDs
    12. Setting Default Values for Attributes
    13. Attribute Types
    14. Embedding Non-XML Data in a Document
    15. Embedding Multiple Unparsed Entities in a Document
  12. Creating XML Schemas
    1. Using XML Schemas in Internet Explorer
    2. Writing XML Schemas
    3. What Elements Can You Use in Schemas?
    4. Declaring Types and Elements
    5. Specifying How Often Elements Can Occur
    6. Specifying Default Values for Elements
    7. Specifying Attribute Constraints and Defaults
    8. Creating Simple Types
    9. Creating Simple Types Using Facets
    10. Using Anonymous Type Definitions
    11. Creating Empty Elements
    12. Creating Mixed-Content Elements
    13. Annotating Schemas
    14. Creating Choices
    15. Creating Element Groups
    16. Creating Attribute Groups
    17. Creating all Groups
    18. Schemas and Namespaces
  13. Understanding JavaScript
    1. What Is JavaScript?
    2. JavaScript Is Object-Based
    3. Using Object Properties and Methods in JavaScript
    4. Using Events in JavaScript
    5. Programming in JavaScript
    6. Working with Data in JavaScript
    7. Commenting Your JavaScript
    8. Working with JavaScript Operators
    9. Creating JavaScript if Statements
    10. Creating JavaScript if…else Statements
    11. Creating switch Statements
    12. Creating JavaScript for Loop Statements
    13. Creating while Loop Statements
    14. Creating do…while Loops
    15. Creating Functions in JavaScript
    16. Passing Values to Functions
    17. Creating Objects in JavaScript
    18. Using String Objects in JavaScript
    19. Using the Array Class to Create Arrays
    20. Working with Events
    21. Getting Event Information
    22. Handling Mouse Events
  14. Handling XML Documents with JavaScript
    1. The W3C DOM
    2. The XML DOM Objects
    3. The DOMDocument Object
    4. The XMLDOMNode Object
    5. The XMLDOMNodeList Object
    6. The XMLDOMNamedNodeMap Object
    7. The XMLDOMParseError Object
    8. The XMLDOMAttribute Object
    9. The XMLDOMElement Object
    10. The XMLDOMText Object
    11. Loading XML Documents
    12. Using XML Data Islands
    13. Getting Elements by Name
    14. Getting Attribute Values from XML Elements
    15. Parsing XML Documents in Code
    16. Parsing an XML Document to Display Node Type and Content
    17. Parsing an XML Document to Display Attribute Values
    18. Handling Events While Loading XML Documents
    19. Validating XML Documents with DTDs in Internet Explorer
    20. Scripting XML Elements
    21. Editing XML Documents with Internet Explorer
  15. XML and Data Binding
    1. Data Binding in Internet Explorer
    2. Using Data Source Objects
    3. Binding Data to HTML Elements
    4. Using Data Binding with XML
    5. XML Single-Record Binding Using XML Data Islands
    6. The Properties, Methods, and Events of XML DSOs
    7. Tabular Data Binding and XML
    8. Single-Record Data Binding with the XML DSO
    9. Tabular Data Binding with the XML DSO
    10. XML and Hierarchical Data
    11. Handling Variable-Size Hierarchical Data in XML Documents
    12. Searching XML Data
  16. Cascading Style Sheets
    1. Attaching Stylesheets to XML Documents
    2. Selecting Elements in Stylesheet Rules
    3. Grouping Elements in Selectors
    4. Creating Pseudo-Elements
    5. Classes
    6. Creating Pseudo-Classes
    7. Selecting by ID
    8. Using Contextual Selectors
    9. Using Inline Styles
    10. Using Inheritance
    11. Understanding Cascades
    12. Creating Style Rules
    13. Creating Block Elements
    14. Styling Text
    15. Setting Colors and Backgrounds
    16. Margins, Indentations, and Alignments
    17. Applying Styles to Lists
    18. Creating Borders
    19. Displaying Images
    20. Absolute Positioning
    21. Relative Positioning
    22. The Formal Style Property Specifications
    23. Text Properties
    24. Font Properties
    25. Background and Color Properties
    26. Table Properties
    27. Positioning and Block Properties
    28. Box Properties
    29. Visual Effects Properties
    30. List Properties
  17. Understanding Java
    1. Java Resources
    2. Writing Java Programs
    3. Java Is Object-Oriented from the Ground Up
    4. Getting the Java SDK
    5. Creating Java Files
    6. Writing Code: Creating an Application
    7. Compiling Code
    8. Running Java Applications
    9. Commenting Your Code
    10. Importing Java Packages and Classes
    11. Creating Variables in Java
    12. Creating Arrays in Java
    13. Creating Strings in Java
    14. Java Operators
    15. Java Conditional Statements: if, if…else, switch
    16. Java Loops: for, while, do…while
    17. Declaring and Creating Objects
    18. Creating Methods in Java
    19. Creating Java Classes
  18. Java and the XML DOM
    1. Creating a Parser
    2. Displaying an Entire Document
    3. Filtering XML Documents
    4. Creating a Windowed Browser
    5. Creating a Graphical Browser
    6. Navigating in XML Documents
    7. Modifying XML Documents
  19. Java and SAX
    1. Working with SAX
    2. Displaying an Entire Document
    3. Filtering XML Documents
    4. Creating a Windowed Browser
    5. Creating a Graphical Browser
    6. Navigating in XML Documents
    7. Modifying XML Documents
  20. XSL Transformations
    1. Using XSLT Stylesheets in XML Documents
    2. XSL Stylesheets
    3. Making a Transformation Happen
    4. Creating XSLT Stylesheets
    5. The xsl:apply-templates Element
    6. Getting the Value of Nodes with xsl:value-of
    7. Handling Multiple Selections with xsl:for-each
    8. Specifying Patterns for the match Attribute
    9. Specifying Patterns for the select Attribute
    10. Understanding XPath
    11. The Default XSLT Rules
    12. Altering Document Structure Based on Input
    13. Creating New Attributes
    14. Generating Comments with xsl:comment
    15. Copying Nodes
    16. Sorting Elements
    17. Using xsl:if
    18. Using xsl:choose
    19. Controlling Output Type
  21. XSL Formatting Objects
    1. Formatting an XML Document
    2. Creating the XSLT Stylesheet
    3. Transforming a Document into Formatting Object Form
    4. Creating a Formatted Document
    5. The XSL Formatting Objects
    6. The XSL Formatting Properties
    7. Working with Formatting Objects
    8. The Document Root: fo:root
    9. The Master Set Layout: fo:layout-master-set
    10. Using a Page Master: fo:simple-page-master
    11. Creating Regions
    12. Creating Page Sequences: fo:page-sequence
    13. Creating Flows: fo:flow
    14. Creating Block-level Content: fo:block
    15. Inline-Level Formatting Objects
    16. Creating Page Numbers: fo:page-number
    17. Creating Tables
    18. fo:table
    19. Creating Lists
  22. XLinks and XPointers
    1. XLinks
    2. XPointers
    3. All About XLinks
    4. Declaring the XLink Attributes
    5. The xlink:type Attribute
    6. Locating Resources with xlink:href
    7. Describing Resources: xlink:role and xlink:title
    8. The xlink:show Attribute
    9. The xlink:actuate Attribute
    10. The xlink:arcrole and xlink:label Attributes
    11. Extended Links
    12. Creating Arcs with the xlink:from and xlink:to Attributes
    13. Inline Versus Out-of-Line Links
    14. All About XPointers
    15. XPointer Axes
    16. XPointer Node Tests
    17. XPointer Predicates
    18. XPointer Location Set Functions
    19. Using XPointer Points
    20. Using XPointer Ranges
    21. XPointer Abbreviations
  23. Essential XHTML
    1. XHTML Version 1.0
    2. XHTML Version 1.1
    3. XHTML Version 2.0
    4. XHTML Basic
    5. XHTML Checklist
    6. Differences Between XHTML and HTML
    7. Automatic Conversion from HTML to XHTML
    8. Validating Your XHTML Document
    9. <html>—The Document Element
    10. <head>—Creating a Web Page's Head
    11. <title>—The Document's Title
    12. <body>—The Document's Body
    13. <!- -> Comments
    14. Headings: <h1> Through <h6>
    15. Text Handling
    16. <b>—Making Text Bold
    17. <i>—Making Text Italic
    18. <u>—Underlining Text
    19. <font>—Specifying a Text Font
    20. <br>—Creating Line Breaks
    21. <p>—Organizing Text into Paragraphs
    22. <hr>—Creating Horizontal Rules
    23. <center>—Centering Displayed Text
    24. <div>—Formatting Text Blocks
    25. <span>—Formatting Text Inline
  24. XHTML at Work
    1. <img>—Displaying an Image
    2. <a>—Creating a Hyperlink or Anchor
    3. <link>—Setting Link Information
    4. <table>—Creating Tables
    5. <tr>—Creating Table Rows
    6. <th>—Creating Table Headings
    7. <td>—Creating Table Data
    8. <frameset>—Creating Documents with Frames
    9. <frame>—Creating Individual Frames
    10. Using Stylesheets in XHTML
    11. <style>—Creating Embedded Stylesheets in XHTML
    12. Using Inline Styles in XHTML
    13. <script>—Using Script Programming
    14. <form>—Creating XHTML Forms
    15. <input type = “button”>—Creating Controls
    16. <input type=”text”>—Creating Text Fields
    17. Extending XHTML—Creating New Elements and Attributes
    18. Extending Public XHTML DTDs
    19. Extending XHTML with a Driver DTD
    20. All About XHTML 1.1 Modules
    21. Modifying XHTML Content Models
  25. SOAP and RDF
    1. SOAP
    2. A SOAP Example Using Java
    3. RDF
    4. RDF Syntax
    5. RDF Root Element
    6. RDF Namespace
    7. RDF Description Element
    8. RDF Property Elements
    9. Dublin Core
    10. Describing Multiple Properties
    11. Describing Multiple Resources
    12. Nesting Resources
    13. Referring to Resources by Reference
    14. Using XML in Property Elements
    15. Using Abbreviated RDF Syntax
    16. RDF Containers
    17. Using the Bag Container
    18. Using the Seq Container
    19. Using the Alt Container
    20. Making Statements About Containers
    21. Making Statements About the Items in a Container
    22. Selecting Container Items by Prefix
    23. Creating RDF Schemas
  26. Vector Markup Language
    1. Creating VML Documents
    2. The VML Elements
    3. The <shape> Element
    4. Using Predefined Shapes
    5. Coloring Shapes
    6. Scaling Shapes
    7. Positioning Shapes
    8. The absolute Position Style
    9. The <shadow> Element
    10. The <fill> Element
    11. Using the <shapetype> Element
    12. More Advanced VML
  27. WML, ASP, JSP, Servlets, and Perl
    1. XML and ASP
    2. XML and Java Servlets
    3. JSP
    4. XML and Perl
    5. WML
    6. Getting Starting with WML
    7. Setting Text Alignment
    8. Basic Text Styling
    9. The <do> Element
    10. The <prev> Element
    11. Hyperlinks
    12. Tables
    13. Text Input
    14. Select Elements
    15. Timers
    16. Connecting to the Server
    17. Images
  28. The XML 1.0 Recommendation (Second Edition)
    1. Extensible Markup Language (XML) 1.0 (Second Edition)
    2. Abstract
    3. Status of this Document
    4. Table of Contents
    5. Introduction
    6. Documents
    7. Logical Structures
    8. Physical Structures
    9. Conformance
    10. Notation
    11. References
    12. Character Classes
    13. XML and SGML (Non-Normative)
    14. Expansion of Entity and Character References (Non-Normative)
    15. Deterministic Content Models (Non-Normative)
    16. Autodetection of Character Encodings (Non-Normative)
    17. W3C XML Working Group (Non-Normative)
    18. W3C XML Core Group (Non-Normative)
    19. Production Notes (Non-Normative)
  29. Index