| |
| |
Introduction | |
| |
| |
About This Book | |
| |
| |
Conventions Used in This Book | |
| |
| |
Foolish Assumptions | |
| |
| |
How This Book Is Organized | |
| |
| |
Icons Used in This Book | |
| |
| |
Where to Go from Here | |
| |
| |
| |
Why XML is "eXtreMely cooL" | |
| |
| |
| |
What Is XML and Why Should You Care? | |
| |
| |
A Wee Bit of Background | |
| |
| |
XML Suits Many Applications | |
| |
| |
XML for ducuments | |
| |
| |
XML for data exchange | |
| |
| |
If You Know HTML, You Know XML | |
| |
| |
Marking Up Is Hard to Do--Not! | |
| |
| |
Break out that text editor! | |
| |
| |
XML editors: More power, more convenience | |
| |
| |
The Power of XML | |
| |
| |
More meaningful names in your documents | |
| |
| |
XML defines new languages | |
| |
| |
Web Pages before--and after--XML | |
| |
| |
XML: One document, many different outputs | |
| |
| |
XML for data--HTML for display | |
| |
| |
Better post-processing | |
| |
| |
| |
The Beginnings of XML | |
| |
| |
What HTML Does Best, and Where Its Limits Lie | |
| |
| |
XML and HTML Compared and Contrasted | |
| |
| |
The benefits of using HTML | |
| |
| |
The benefits of using XML | |
| |
| |
Making the Switch: HTML to XML | |
| |
| |
All elements have a start tag and an end tag | |
| |
| |
Tags are nested correctly | |
| |
| |
All attribute values are quoted | |
| |
| |
Empty elements are formatted correctly | |
| |
| |
XHTML 1.0: Best of Both Worlds | |
| |
| |
Cool Tools for Building XML Documents | |
| |
| |
Building XML Documents by Hand | |
| |
| |
| |
Making an XML declaration | |
| |
| |
| |
Creating a root element | |
| |
| |
| |
Creating XML code | |
| |
| |
| |
Checking your document | |
| |
| |
| |
Shake Hands with XML! | |
| |
| |
A Truly Simple XML Document | |
| |
| |
The Least You Need to Know: Basic Rules for XML Markup | |
| |
| |
Style Sheets, Document Type Definitions, and Documentation | |
| |
| |
Free at last, free at last: Data independent of context | |
| |
| |
With style comes context | |
| |
| |
DTDs and context | |
| |
| |
Ready to Roll Your Own XML? | |
| |
| |
XML by Excellent Example | |
| |
| |
Exchanging business data with XML/EDI | |
| |
| |
Using OFX to describe financial data | |
| |
| |
Tracking ancestry with GedML | |
| |
| |
XML for Everyone | |
| |
| |
| |
Structuring XML Documents | |
| |
| |
| |
Understanding XML Document Structure | |
| |
| |
Mastering the Basics: Pieces and Parts | |
| |
| |
A well-formed road is a good road | |
| |
| |
Seeking validation | |
| |
| |
Preambles and Definitions Start the Game | |
| |
| |
Declare yourself! | |
| |
| |
Document it | |
| |
| |
Good Bodies Make for Good Reading | |
| |
| |
The root of the matter | |
| |
| |
It's elementary, my dear | |
| |
| |
Attributes add information | |
| |
| |
The Virtues of Completeness | |
| |
| |
Making XML Well-Formed | |
| |
| |
Checking Your Work | |
| |
| |
| |
Understanding and Using DTDs | |
| |
| |
What's a DTD? | |
| |
| |
Reading a Simple DTD | |
| |
| |
XML prolog | |
| |
| |
XML declaration | |
| |
| |
Document type declaration | |
| |
| |
Comments | |
| |
| |
Processing instructions | |
| |
| |
What about that white space? | |
| |
| |
Element Declarations | |
| |
| |
Any or empty can do the trick | |
| |
| |
Mixed content mixes it up | |
| |
| |
Element content keeps your children in line | |
| |
| |
Attribute List Declarations | |
| |
| |
Entity Declarations | |
| |
| |
Notation Declarations | |
| |
| |
Deciding Whether to Have a DTD | |
| |
| |
Ways to Include DTDs or Definitions | |
| |
| |
The inside view: Internal DTD subsets | |
| |
| |
Calling for outside support: Referencing external DTDs | |
| |
| |
Two is sometimes better than one | |
| |
| |
How Documents Digest DTDs | |
| |
| |
| |
Building DTDs | |
| |
| |
Quick Recap | |
| |
| |
| |
Understanding Your Data | |
| |
| |
| |
Capturing Data Elements in Code | |
| |
| |
Elements are the root of all structure | |
| |
| |
Attributes shed some light | |
| |
| |
| |
Developing and Defining Your Elements | |
| |
| |
Elements content can mix it up, too | |
| |
| |
| |
What about Attributes? | |
| |
| |
| |
Creating Shortcuts with Entities | |
| |
| |
Internalize it | |
| |
| |
External entities save time | |
| |
| |
| |
Calling Your DTD | |
| |
| |
Internal subset | |
| |
| |
External subset | |
| |
| |
Tricks of the Trade | |
| |
| |
Creating a Simple External DTD | |
| |
| |
| |
Building XML Documents | |
| |
| |
| |
Attributes Add Flexibility to XML | |
| |
| |
The Truth about Attributes | |
| |
| |
Appropriate Use of Attributes | |
| |
| |
Common HTML 4.0 attributes: The plus side | |
| |
| |
Common HTML 4.0 attributes: The minus side | |
| |
| |
Adding Attributes to DTDs | |
| |
| |
The ten types of attributes in DTDs | |
| |
| |
Attributes and their defaults | |
| |
| |
Predefined XML Attributes | |
| |
| |
| |
Putting Your DTD to Work | |
| |
| |
Eliciting Markup from the DTD | |
| |
| |
Understanding the implications | |
| |
| |
Trading flexibility against structure | |
| |
| |
Add levels to simplify structure | |
| |
| |
A matter of selection | |
| |
| |
Mixing up the order | |
| |
| |
Mixing Up Your Content Models | |
| |
| |
Trading Control for Flexibility | |
| |
| |
| |
Combining Multiple DTDs | |
| |
| |
Working with Entities in DTDs | |
| |
| |
Parameter Entities Work in DTDs | |
| |
| |
Calling All DTDs! | |
| |
| |
When DTD Definitions Collide | |
| |
| |
Wandering outside XML's Boundaries | |
| |
| |
Turning DTD Content On or Off | |
| |
| |
| |
Adding Character to XML | |
| |
| |
About Character Encodings | |
| |
| |
Introducing Unicode | |
| |
| |
Of Character Sets, Fonts, Scripts, and Glyphs | |
| |
| |
For Each Character, a Code | |
| |
| |
Key Character Sets | |
| |
| |
Using Unicode Characters | |
| |
| |
Finding Character Entity Information | |
| |
| |
| |
The Sense of Style for XML | |
| |
| |
| |
How Style Really Works | |
| |
| |
Stylin' XML and HTML | |
| |
| |
Adding form to function | |
| |
| |
One document, many uses | |
| |
| |
When Style Sheets Cascade | |
| |
| |
CSS1: The original master of Web style | |
| |
| |
CSS2: The current style master | |
| |
| |
What does cascading mean? | |
| |
| |
The Basics of CSS | |
| |
| |
A truly simple cascading style sheet for XML | |
| |
| |
Dissecting a simple cascading style sheet | |
| |
| |
Linking CSS to HTML and XML | |
| |
| |
The Best of CSS on the Web | |
| |
| |
Meet XSL | |
| |
| |
| |
The Building Blocks of CSS | |
| |
| |
CSS: Today's Style of Choice | |
| |
| |
The realities of the Web must intrude | |
| |
| |
CSS is easy to use | |
| |
| |
Style sheets for tomorrow | |
| |
| |
XSL and CSS pack a powerful 1-2 punch | |
| |
| |
All about CSS Properties and Values | |
| |
| |
Units of measure in CSS | |
| |
| |
Decoding property value definitions | |
| |
| |
Styling and formatting text | |
| |
| |
Defining display | |
| |
| |
Setting margins | |
| |
| |
Applying backgrounds and borders | |
| |
| |
Padding the box | |
| |
| |
Controlling layout | |
| |
| |
Other cool CSS properties | |
| |
| |
From CSS to XSL | |
| |
| |
| |
Applying Style to XML with XSL | |
| |
| |
The Two Faces of XSL | |
| |
| |
XSL | |
| |
| |
XSLT | |
| |
| |
XSL style sheets are XML documents | |
| |
| |
A Simple Transformation Using XSLT | |
| |
| |
The bean burrito recipe | |
| |
| |
Describing the bean burrito recipe with HTML | |
| |
| |
An XSL style sheet for converting XML to HTML | |
| |
| |
An XSLT Style Sheet in Detail | |
| |
| |
Templates | |
| |
| |
Patterns | |
| |
| |
Results | |
| |
| |
Processing element content | |
| |
| |
Just the text, please | |
| |
| |
Dealing with repeating elements | |
| |
| |
A Different Approach | |
| |
| |
Just the Tip of the Iceberg | |
| |
| |
| |
Special Topics on XML Style | |
| |
| |
Objectifying XML | |
| |
| |
Of parents, children, and siblings | |
| |
| |
A forest of trees and nodes | |
| |
| |
The DOM and style sheets | |
| |
| |
Web browsers and the DOM | |
| |
| |
Combining Style Sheets | |
| |
| |
Importing one style sheet into another | |
| |
| |
Including one style sheet within another | |
| |
| |
Embedding a style sheet directly in an XML document | |
| |
| |
| |
XML's Lovely Linking Languages | |
| |
| |
| |
The XML Linking Language | |
| |
| |
XLink Explored and Explained | |
| |
| |
Using Namespaces | |
| |
| |
Linking Elements in XLink | |
| |
| |
The XLink namespace | |
| |
| |
Types of linking elements | |
| |
| |
[xlink:simple] Links | |
| |
| |
What can we show you? | |
| |
| |
Describing local and remote links | |
| |
| |
Extending Basic Linking Behaviors | |
| |
| |
The [xlink:extended] element | |
| |
| |
The [xlink:locator] element | |
| |
| |
When Links Get Out of Line | |
| |
| |
Creating Link Groups | |
| |
| |
Creating Link Elements in DTDs | |
| |
| |
XHTML versus XLink | |
| |
| |
| |
The XML Path Language | |
| |
| |
Where Do XPaths Lead? | |
| |
| |
Why do you need directions? | |
| |
| |
The paths and waystations of XML | |
| |
| |
XPath Directions and Destinations | |
| |
| |
LocationPaths: Describing the Journey | |
| |
| |
Some simple location paths | |
| |
| |
Adding expressions | |
| |
| |
Taking steps | |
| |
| |
More on adding expressions | |
| |
| |
Looking at attributes | |
| |
| |
May I see your ID? | |
| |
| |
Going backwards | |
| |
| |
Reversing direction | |
| |
| |
Null results | |
| |
| |
Getting to the root of things | |
| |
| |
The Axes of XPath | |
| |
| |
The Short Version | |
| |
| |
Client axis abbreviations | |
| |
| |
Attribute axis abbreviation | |
| |
| |
Predicate and expression abbreviations | |
| |
| |
Some more abbreviations | |
| |
| |
Using XPath with XPointer and XSL | |
| |
| |
Where Now? | |
| |
| |
| |
The XML Pointer Language | |
| |
| |
Anchors (and Fragments) Away | |
| |
| |
Why Do We Need XPointers? | |
| |
| |
The Promise of XPointers | |
| |
| |
How Do XPointers Work? | |
| |
| |
Show me your ID | |
| |
| |
Please step me through this! | |
| |
| |
Show me the path | |
| |
| |
Where do I start? | |
| |
| |
What if I don't have my ID? | |
| |
| |
How much can I get you? | |
| |
| |
Other XPointer methods and functions | |
| |
| |
| |
Sampling XML Applications | |
| |
| |
| |
XML Can Channel from Many Sources | |
| |
| |
What Is a Channel? | |
| |
| |
Smart pull and push | |
| |
| |
Where does XML fit in? | |
| |
| |
Subscribing to channels | |
| |
| |
Setting a schedule to download content | |
| |
| |
Building Channels with Basic CDF | |
| |
| |
CDF Unleashed | |
| |
| |
Scheduling channel updates | |
| |
| |
Controlling Web page retrieval | |
| |
| |
Defining sections within your channel | |
| |
| |
Identify your channels with logos | |
| |
| |
Logging channel user activities | |
| |
| |
Adding a Channel to Your Home Page Step by Step | |
| |
| |
First things first--the right server setup | |
| |
| |
Deploying your channel | |
| |
| |
Microsoft's plethora of CDF resources and tools | |
| |
| |
| |
The Mathematical Markup Language | |
| |
| |
MathML Explored | |
| |
| |
For more on MathML | |
| |
| |
MathML markup | |
| |
| |
MathML Presentation Markup | |
| |
| |
A token form of presentation | |
| |
| |
MathML's layout schemata | |
| |
| |
MathML Content Markup | |
| |
| |
Arithmetic and algebraic elements | |
| |
| |
Basic content elements | |
| |
| |
Linear algebra | |
| |
| |
Relations | |
| |
| |
Sequences and series | |
| |
| |
Set theory | |
| |
| |
Statistics | |
| |
| |
Trigonometry | |
| |
| |
Logarithms and calculus | |
| |
| |
Mixing Markup: Presentation and Content | |
| |
| |
Basic MathML Design Guidelines | |
| |
| |
Using MathML in HTML Documents | |
| |
| |
MathML Tools and More | |
| |
| |
| |
DocBook for XML | |
| |
| |
What Is DocBook? | |
| |
| |
Booking it | |
| |
| |
Get in line! | |
| |
| |
How Is DocBook Organized? | |
| |
| |
Getting classy | |
| |
| |
Mixing it up | |
| |
| |
Modularizing DocBook | |
| |
| |
The Structure of DocBook | |
| |
| |
What's on top? | |
| |
| |
What's in the middle? | |
| |
| |
What's down below? | |
| |
| |
DocBook goes into details | |
| |
| |
A DocBook Example | |
| |
| |
What's So Great about DocBook? | |
| |
| |
DocBook is a living DTD | |
| |
| |
DocBook is stable | |
| |
| |
DocBook is versatile | |
| |
| |
DocBook is extensible | |
| |
| |
When Not to Use DocBook | |
| |
| |
Reading DocBook's DTD | |
| |
| |
Parameter entities | |
| |
| |
Are you ignoring me? | |
| |
| |
Modularization | |
| |
| |
SGML versus XML | |
| |
| |
Differences in documents | |
| |
| |
Differences in DTDs | |
| |
| |
The DocBook DTD | |
| |
| |
DocBook lite | |
| |
| |
Adding to DocBook | |
| |
| |
Taking away from DocBook | |
| |
| |
| |
Cool XML Technologies Rule! | |
| |
| |
| |
Cool Tools | |
| |
| |
To the Point | |
| |
| |
If You Build It, They Will Come | |
| |
| |
Adept Editor v9.0 | |
| |
| |
Clip! XML Editor v1.5 | |
| |
| |
XMetaL | |
| |
| |
XML Authority v1.1 | |
| |
| |
XML Pro v2.0 | |
| |
| |
Valid and Well-Formed Documents Always Get Along | |
| |
| |
AElfred v1.2a | |
| |
| |
SP v1.3 and expat v1.1 | |
| |
| |
IBM's XML4J | |
| |
| |
Tim Bray's Lark | |
| |
| |
View It with a Browser | |
| |
| |
Amaya | |
| |
| |
Internet Explorer 5 | |
| |
| |
Jumbo | |
| |
| |
Mozilla | |
| |
| |
The Ultimate XML grab bag and goodie box | |
| |
| |
POET Software | |
| |
| |
Microsoft Does XML Too! | |
| |
| |
Automating XML excellence | |
| |
| |
| |
Ultimate XML Resources Online | |
| |
| |
Specifications | |
| |
| |
General Information | |
| |
| |
Tutorials | |
| |
| |
Mailing Lists | |
| |
| |
| |
The Part of Tens | |
| |
| |
| |
Ten Reasons to Enjoy XML--Really! | |
| |
| |
Save Time--Use ENTITY | |
| |
| |
Create Your Own Rules | |
| |
| |
Add Style the Easy Way | |
| |
| |
XML Complements HTML | |
| |
| |
Searching for Something? | |
| |
| |
Rich Links Enrich Functionality | |
| |
| |
Well-Formed XML Guarantees Readability | |
| |
| |
MathML Captures Mathematical Requirements | |
| |
| |
CDF Brings Channels to the Web | |
| |
| |
But Wait, There's More... | |
| |
| |
| |
Ten Stylish XML Extensions | |
| |
| |
Add Tables with HTML | |
| |
| |
Use CSS for Easy Formatting | |
| |
| |
Combine Those Sheets | |
| |
| |
Combine XSL and CSS | |
| |
| |
Display It Again, Sam! | |
| |
| |
Add Variables with XSL | |
| |
| |
Attribute Value Templates | |
| |
| |
Find Style with XHTML | |
| |
| |
Create Style the Easy Way | |
| |
| |
Let Companies Talk to Each Other | |
| |
| |
| |
Ten Top XML Applications | |
| |
| |
Channel Definition Format (CDF) | |
| |
| |
DocBook, Anyone? | |
| |
| |
Mathematical Markup Language (MathML) | |
| |
| |
Scalable Vector Graphics (SVG) | |
| |
| |
Resource Description Framework (RDF) | |
| |
| |
Synchronized Multimedia Integration Language (SMIL) | |
| |
| |
Web Interface Definition Language (WIDL) | |
| |
| |
XML-Data | |
| |
| |
Extensible HyperText Markup Language (XHTML) | |
| |
| |
Create XML Applications with Zope | |
| |
| |
| |
About the CD | |
| |
| |
System Requirements | |
| |
| |
Using the CD with Microsoft Windows | |
| |
| |
Using the CD with the Mac OS | |
| |
| |
What You'll Find | |
| |
| |
Book-related CD Content | |
| |
| |
If You Have Problems of the CD Kind | |
| |
| |
Glossary | |
| |
| |
Index | |
| |
| |
IDG Books Worldwide End-User License Agreement | |
| |
| |
Installation Instructions | |
| |
| |
Book Registration Information | |