Building Applications, Not Hype | p. xix |
Examining XML's Potential | p. 1 |
Solving Problems | p. 3 |
Why XML? | p. 4 |
XML's History | p. 9 |
XML's Future | p. 11 |
Why Java for XML? | p. 12 |
SGML, HTML, XML, and the Web | p. 15 |
Basic Markup | p. 16 |
SGML Markup and Hyperlinking Before (and After) the Web | p. 19 |
HTML and HTTP: Building the Web | p. 21 |
Markup and Style Sheets | p. 23 |
XML and the Web | p. 24 |
XML and Other Distributed Application Technologies | p. 27 |
XML Documents and HTTP | p. 28 |
Processing XML on the Server | p. 32 |
XML and Relational Databases | p. 33 |
XML and Object Databases | p. 36 |
XML and the Document Object Model | p. 37 |
XML and Middleware | p. 40 |
XML and File Systems | p. 41 |
XML and Serialized Objects | p. 44 |
XML as a Foundation for Standards | p. 46 |
Chemical Markup Language (CML) | p. 46 |
Encoded Archival Description (EAD) | p. 47 |
Extensible Log Format (XLF) | p. 48 |
GedML | p. 48 |
MathML | p. 48 |
Newspaper Association of America--Classified Ads Format | p. 49 |
Open Financial Exchange (OFX) | p. 49 |
Open Trading Protocol | p. 50 |
Real Estate Listing Markup Language (RELML) | p. 51 |
P3P | p. 51 |
Precision Graphics Markup Language (PGML) | p. 52 |
Resource Description Framework (RDF) | p. 52 |
Synchronized Multimedia Integration Language (SMIL) | p. 53 |
Vector Markup Language (VML) | p. 53 |
Virtual Hyperglossary (VHG) | p. 54 |
Weather Observation Markup Format | p. 54 |
XML/EDI | p. 54 |
XML and Distributed Applications | p. 55 |
Introduction to XML Syntax | p. 57 |
Creating Simple XML Documents | p. 59 |
Data and Markup | p. 60 |
Document Foundations | p. 61 |
The XML Declaration | p. 61 |
Version Information | p. 62 |
The Encoding Declaration | p. 62 |
The Standalone Declaration | p. 63 |
Comments | p. 64 |
Document Content | p. 65 |
Elements | p. 65 |
Attributes | p. 68 |
Built-in and Character Entities | p. 69 |
Building XML Documents | p. 70 |
Complex Well-Formed Documents: Processing Instruction, CDATA, and General Entities | p. 75 |
Well-Formed and Valid Documents | p. 76 |
Processing Instructions: Talking to the Application | p. 76 |
CDATA Sections: Hiding from the Parser | p. 78 |
Using the Document Type Declaration | p. 79 |
General Entities: Tools for Content Inclusion | p. 82 |
Internal Parsed Entities | p. 82 |
External Parsed Entities | p. 84 |
Well-Formedness Checking and Entities | p. 85 |
Language and White Space | p. 86 |
Building Valid Documents | p. 89 |
What is This Crazy Validation? | p. 90 |
Validation and Documents | p. 90 |
Validation and Data | p. 90 |
Validation and Application Architectures | p. 91 |
Building Document Type Definitions | p. 92 |
Element Declarations | p. 92 |
Attribute Declarations | p. 98 |
Notation Declarations | p. 104 |
Building and Using DTDs | p. 104 |
Beyond Validation: Schemas | p. 106 |
Syntactical Issues and Schemas | p. 107 |
Data Typing and Schemas | p. 107 |
The Eventual Place of Schemas | p. 108 |
DTD Power Tools | p. 109 |
Parameter Entities: Tools for Declaration Inclusion | p. 110 |
Conditional Sections: INCLUDE and IGNORE | p. 122 |
External Unparsed Entities | p. 124 |
Styles: Presenting Information | p. 127 |
Basic Concepts | p. 128 |
Connecting Style Sheets to Documents | p. 129 |
The CSS Model | p. 130 |
The XSL Model | p. 139 |
CSS and XSL? | p. 142 |
Implications | p. 143 |
Namespaces: A Brief Introduction | p. 149 |
The Problem of Names | p. 150 |
Transformations as Solution | p. 150 |
Namespaces as Solution | p. 151 |
XPointers: Referencing Fragments | p. 155 |
Basic Concepts | p. 156 |
XPointer Syntax | p. 159 |
Absolute Location Terms | p. 159 |
Relative Location Terms | p. 161 |
Other Locations | p. 167 |
Implications | p. 168 |
XLink: Building Connections | p. 171 |
Basic Concepts | p. 172 |
Building Simple Links | p. 174 |
Building Extended Links | p. 177 |
Building Extended Link Groups | p. 180 |
Implications | p. 183 |
Building XML Applications | p. 187 |
Overview of Java XML Parsers | p. 189 |
Introduction | p. 189 |
Types of Parsers | p. 191 |
Validating v. Non-Validating Parsers | p. 191 |
Tree-Based v. Event-Driven Interfaces | p. 191 |
Tree-Based Interfaces | p. 191 |
Listing 12.1 Chapter.xml: Sample XML Document | p. 192 |
About the Document Object Model (DOM) | p. 194 |
Event-Driven Interfaces | p. 195 |
About the Simple API for XML (SAX) | p. 197 |
Parser Profiles | p. 198 |
AElfred XML Parser | p. 199 |
DataChannel XML Parser (DXP) | p. 199 |
IBM XML for Java | p. 200 |
Lark | p. 201 |
Microsoft XML Parser (MS-XML) | p. 201 |
XML Parser in Java (XP) | p. 202 |
The AElfred XML Parser | p. 203 |
Assessing AElfred | p. 204 |
Overview of API | p. 206 |
The XmlHandler Interface | p. 206 |
The XmlParser Class | p. 212 |
Basic Examples | p. 214 |
Installing AElfred | p. 215 |
Example: Basic Event Handling | p. 216 |
Example: The HandlerBase Convenience Class | p. 220 |
Example: Creating an XML Summary Document | p. 224 |
Example: Searching an XML Document | p. 228 |
Event to Object Mapping | p. 234 |
Example: Mapping Events to Objects | p. 236 |
Example: Working with Attributes | p. 243 |
The Microsoft XML Parser | p. 253 |
Introduction to MS-XML | p. 253 |
Installing MS-XML | p. 255 |
Using the MS-XML Command Line Program | p. 255 |
Working with MS-XML | p. 259 |
The Document Class | p. 259 |
The Element Interface | p. 264 |
Traversing the MS-XML Tree Structure | p. 266 |
Creating an XML Summary Document | p. 273 |
Searching an XML Document | p. 280 |
Remapping MS-XML Tree Data | p. 285 |
Modifying XML Documents | p. 295 |
Creating New Elements | p. 295 |
Editing/Deleting Elements | p. 297 |
Saving Modified XML Documents | p. 298 |
Creating an XML Database | p. 299 |
The Simple API for XML (SAX) | p. 313 |
SAX Defined | p. 313 |
Origins of SAX | p. 315 |
SAX-Compliant Parsers | p. 315 |
Working with SAX | p. 315 |
Anatomy of a SAX Parsing Session | p. 316 |
Installing SAX | p. 321 |
Hello, SAX! | p. 322 |
Hello, SAX! Version 2.0 | p. 330 |
Error Handling | p. 334 |
Working with InputSources | p. 339 |
Working with Attributes | p. 343 |
Building a SAX Tree Utility | p. 346 |
Building an XML Browser | p. 356 |
Example XML Applications | p. 367 |
The Weather Reporter Applet | p. 369 |
Description | p. 370 |
Important Concepts | p. 370 |
Technical Specification | p. 371 |
XML Specification | p. 371 |
Software Architecture | p. 373 |
The Code | p. 373 |
The CDF Site Map Applet | p. 389 |
Description | p. 389 |
Technical Specification | p. 391 |
XML Specification | p. 391 |
Introduction to the Channel Definition Format (CDF) | p. 391 |
The CDF Subset | p. 397 |
Software Arhitecture | p. 398 |
The Code | p. 399 |
Node.java | p. 399 |
Handler.java | p. 401 |
SiteMap.java | p. 405 |
PGML Viewer Application | p. 413 |
Description | p. 413 |
Technical Specification | p. 414 |
Introduction to PGML | p. 414 |
Basic PGML | p. 414 |
Predefined Shapes | p. 415 |
Graphics State Attributes | p. 415 |
Text | p. 417 |
The PGML Subset | p. 418 |
The Code | p. 419 |
Building an XLink Applet | p. 431 |
Rebuilding Image Maps to a New Model | p. 432 |
Starting Simple: Creating Maps with Simple Links | p. 433 |
Moving Up: Creating Maps with Extended Links | p. 444 |
Preferences: Storing and Retrieving | p. 461 |
Changeable Information | p. 461 |
Growing and Exploring Trees | p. 462 |
Requirements | p. 464 |
Building an Application that Uses an XML Preferences File | p. 465 |
Opening the Preferences File | p. 466 |
Reading a Preference Item | p. 467 |
Changing or Creating a Preference Item | p. 469 |
Writing the Preferences File | p. 471 |
Testing the Preferences File from the Command Line | p. 472 |
Using the Preferences File in a Program | p. 474 |
E-Commerce Product Catalog | p. 479 |
Description | p. 479 |
Technical Specification | p. 480 |
XML Specification | p. 481 |
The Code | p. 484 |
Servlet Programming | p. 484 |
XML to HTML Transformation | p. 485 |
The Future of Server-Side XML | p. 492 |
Data Aggregation | p. 492 |
E-Commerce Shopping Agents | p. 493 |
Quick Reference Guides | p. 497 |
The AElfred API Quick Reference Guide | p. 499 |
XML Package (Package com.microstar.xml) | p. 500 |
Class HandlerBase | p. 500 |
Class XmlException | p. 501 |
Interface XmlHandler | p. 502 |
Class XmlParser | p. 504 |
The MS-XML Quick Reference Guide | p. 509 |
About this Quick Reference Guide | p. 509 |
XML Object Model (Package com.ms.xml.om) | p. 510 |
Class Document | p. 510 |
Interface Element | p. 513 |
Class ElementCollection | p. 514 |
Class ElementDeclEnumeration | p. 515 |
Class ElementEnumeration | p. 516 |
Interface ElementFactory | p. 516 |
Class ElementFactorylmpl | p. 517 |
Class Elementlmpl | p. 518 |
Class SiblingEnumeration | p. 519 |
Class TreeEnumeration | p. 520 |
XML Utilities (Package com.ms.xml.util) | p. 520 |
Class Name | p. 521 |
Class XMLOutputStream | p. 522 |
The SAX API Quick Reference Guide | p. 523 |
SAX (Package org.xml.sax) | p. 524 |
Interface AttributeList | p. 524 |
Interface DTDHandler | p. 525 |
Interface DocumentHandler | p. 526 |
Interface EntityResolver | p. 527 |
Interface ErrorHandler | p. 528 |
Class HandlerBase | p. 528 |
Class InputSource | p. 530 |
Interface Locator | p. 531 |
Interface Parser | p. 532 |
Class SAXException | p. 532 |
Class SAXParseException | p. 533 |
Helpers (Package org.xml.sax.helpers) | p. 534 |
Class AttributeListlmpl | p. 534 |
Class Locatorlmpl | p. 535 |
Class ParserFactory | p. 536 |
Index | p. 539 |
Table of Contents provided by Syndetics. All Rights Reserved. |