An Overview of XML | p. 1 |
Learning Objectives | p. 1 |
Learning the History: The Many Incarnations of SGML into XML | p. 1 |
Creating One Document for Multiple Platforms and Devices | p. 5 |
Using XML for Data Exchange | p. 8 |
Content Sharing with XML | p. 10 |
Comparing HTML, XHTML, and XML | p. 19 |
Learning Objectives | p. 19 |
From HyperText to XHTML | p. 19 |
The Limitations of HTML | p. 20 |
The Emergence of XML | p. 21 |
Taking the Mid-Road with XHTML | p. 23 |
Creating an XHTML Document | p. 24 |
XML Declarations | p. 26 |
DOCTYPE Declaration and Document Type Definition (DTD) | p. 26 |
XML Namespaces | p. 27 |
Reformulating an HTML Document into XML | p. 28 |
Choosing to Use XHTML or XML | p. 31 |
Going Further with Namespaces | p. 31 |
Data and Metadata | p. 34 |
Understanding How XML Works: The Fundamentals | p. 41 |
Learning Objectives | p. 41 |
Well-Formed and Valid XML | p. 43 |
Well Formed | p. 43 |
Valid | p. 44 |
Tagging an XML Document | p. 45 |
Very First Example | p. 46 |
Character References | p. 47 |
Thinking Through XML | p. 48 |
Understanding the Tree Structure of a Document | p. 49 |
Creating a Root Element | p. 51 |
Comments | p. 52 |
Elements | p. 52 |
Empty Element Tags | p. 53 |
#PCDATA | p. 54 |
CDATA | p. 55 |
Attributes (#!ATTLIST) | p. 56 |
Entities | p. 57 |
How to Decide: Attribute versus !ELEMENT | p. 57 |
Creating Document Type Definitions (DTDs) | p. 63 |
Learning Objectives | p. 63 |
Introducing DTDs | p. 64 |
Imposing Grammar and Structure | p. 64 |
Checking for Validation | p. 64 |
Using DTD Syntax | p. 67 |
Writing Element Declarations | p. 67 |
Model Groups | p. 69 |
Free Text | p. 72 |
Writing Attribute List Declarations | p. 73 |
Attribute Name | p. 73 |
Attribute Type | p. 73 |
Required or Default Values | p. 74 |
Writing Parameter Entity Declarations | p. 76 |
Writing Notation Declarations | p. 77 |
Referencing DTDs | p. 78 |
Creating External DTD Subsets | p. 81 |
Using Internal DTD Subsets | p. 81 |
Using Conditional Sections with Entities | p. 82 |
Schemas | p. 89 |
Learning Objectives | p. 89 |
DTDs versus Schemas | p. 90 |
Some Problems with DTDs | p. 91 |
Thinking of Speed | p. 91 |
Developing Schemas | p. 92 |
Namespaces | p. 92 |
Elements and Attributes | p. 93 |
Simple and Complex | p. 93 |
A Little Schema | p. 94 |
Thinking About Validation | p. 94 |
Complex Types | p. 99 |
Deep Schema | p. 103 |
Grouping | p. 106 |
Making a Choice | p. 108 |
Importing Elements | p. 109 |
Using XML Parsers and Unicode | p. 117 |
Learning Objectives | p. 117 |
Parsers | p. 118 |
Difference between an XML Parser and an HTMl Parser | p. 119 |
The Basic Microsoft Parser | p. 119 |
Creating your Own Valid Document | p. 123 |
A Word about Errors | p. 125 |
Using XML Spy | p. 126 |
Other XML Editors | p. 129 |
What Is Unicode: The Development of a Global Standard | p. 130 |
xml: lang Attribute | p. 131 |
UTF-8 and Beyond | p. 132 |
Character Sets and Typeface | p. 133 |
Applying Cascading Style Sheets | p. 139 |
Learning Objectives | p. 139 |
Developing XML Styles | p. 140 |
How CSS Has Evolved | p. 141 |
CSS1 | p. 141 |
CSS2 | p. 141 |
CSS3 | p. 142 |
Introducing CSS Syntax | p. 142 |
Properties and Values | p. 142 |
Getting Literal: Display, List, and Whitespace Properties | p. 143 |
More Basic CSS Formatting | p. 149 |
Backgrounds | p. 149 |
Text | p. 150 |
Fonts | p. 154 |
Borders | p. 155 |
Margins | p. 157 |
Padding | p. 158 |
Advanced CSS Formatting | p. 159 |
Dimension | p. 160 |
Classification | p. 160 |
Positioning | p. 162 |
Comparing CSS to XSL | p. 163 |
Ensuring your CSS Is Valid | p. 165 |
Applying eXtensible Style Sheets (XSL) | p. 169 |
Learning Objectives | p. 169 |
Understanding XSL | p. 170 |
Using XSLT to Transform XML Documents with XSL | p. 171 |
Learning the Details of XSL Stylesheets | p. 172 |
Using XSLT to Transform an XML Document | p. 173 |
How XSL Uses Templates | p. 175 |
Filtering | p. 177 |
Sorting | p. 177 |
Creating Conditional Statements | p. 178 |
Styling the Appearance of XML Elements with XSL | p. 182 |
Debugging XSLT | p. 183 |
XSL Element References | p. 184 |
Linking XML Documents | p. 201 |
Learning Objectives | p. 201 |
Introducing XML Linking Language (XLink) | p. 202 |
Writing an XLink Statement | p. 208 |
Simple Links | p. 208 |
Extended Links | p. 209 |
Creating XLinks in DTDs | p. 213 |
Introducing XPointer | p. 217 |
Scripting with the DOM | p. 225 |
Learning Objectives | p. 225 |
An Overview of the DOM | p. 226 |
DOM-Based Parsers | p. 226 |
DOM-Based Parsing versus SAX-Based Parsing | p. 228 |
The DOM's Design Levels | p. 228 |
The Node Interface | p. 229 |
Parsing the DOM | p. 232 |
Browser Support for the DOM | p. 239 |
Scalable Vector Graphics (SVG) | p. 247 |
Learning Objectives | p. 247 |
Advantages of SVG | p. 248 |
SVG versus Flash | p. 249 |
SVG Versions | p. 250 |
SVG Viewer | p. 250 |
Introducing SVG Syntax | p. 251 |
The SVG Viewport | p. 253 |
Basic Shapes | p. 262 |
More Element Shapes: Circle Element | p. 268 |
SVG and CSS Stylesheets | p. 269 |
Ensuring your SVG Is Valid | p. 271 |
SMIL | p. 279 |
Learning Objectives | p. 279 |
A Brief History of SMIL | p. 281 |
SMIL 1.0 | p. 281 |
SMIL 2.0 | p. 281 |
How to SMIL | p. 282 |
Other Ways to SMIL | p. 283 |
Another Way to View SMIL | p. 283 |
Basic SMIL | p. 283 |
Core Elements | p. 283 |
Media Elements | p. 284 |
The [left angle bracket]layout[right angle bracket] Module | p. 289 |
The [left angle bracket]body[right angle bracket] Element | p. 292 |
Linking Module | p. 295 |
Integrating Databases with XML | p. 305 |
Learning Objectives | p. 305 |
An Introduction to Using Databases with XML | p. 306 |
Data-Centric XML | p. 306 |
Document-Centric XML | p. 308 |
Going from Data and Documents to Databases | p. 309 |
Transferring Information between Traditional Databases and XML | p. 311 |
Relational Databases | p. 311 |
A Brief Introduction to SQL | p. 312 |
What's Next: Mapping and Querying | p. 314 |
Mapping Document Schemas to Database Schemas | p. 315 |
Querying XML Documents to Transfer Data to Databases | p. 320 |
Directly Transferring Data to Databases | p. 321 |
Transferring Information between Native XML Databases and XML Documents | p. 322 |
Database Vendors | p. 322 |
Using XML with Oracle | p. 323 |
Using XML with Microsoft's SQL Server 2000 | p. 323 |
Using XML with IBM's DB2 | p. 323 |
Table of Contents provided by Ingram. All Rights Reserved. |