| Introduction |
|
1 | (1) |
|
|
|
1 | (1) |
|
Conventions Used in This Book |
|
|
2 | (1) |
|
|
|
3 | (1) |
|
How This Book Is Organized |
|
|
4 | (3) |
|
|
|
4 | (1) |
|
|
|
4 | (1) |
|
Part III: Building in Validation with DTDs and Schemas |
|
|
5 | (1) |
|
Part IV: Transforming and Processing XML |
|
|
6 | (1) |
|
Part V: XML Application Development |
|
|
6 | (1) |
|
Part VI: The Part of Tens |
|
|
7 | (1) |
|
|
|
7 | (1) |
|
|
|
7 | (1) |
|
|
|
8 | (1) |
|
|
|
9 | (36) |
|
|
|
11 | (12) |
|
|
|
12 | (2) |
|
Mocking up your own markup |
|
|
12 | (1) |
|
Separating data and context |
|
|
12 | (1) |
|
Making information portable |
|
|
13 | (1) |
|
|
|
13 | (1) |
|
Figuring Out What XML Is Good For |
|
|
14 | (4) |
|
|
|
14 | (1) |
|
Enforcing rules on your data |
|
|
15 | (1) |
|
Outputting information in a variety of ways |
|
|
16 | (1) |
|
Using the same data across platforms |
|
|
17 | (1) |
|
Beyond the Hype: What XML Isn't |
|
|
18 | (3) |
|
It's not just for Web pages anymore |
|
|
19 | (1) |
|
|
|
20 | (1) |
|
It's not a programming language |
|
|
20 | (1) |
|
|
|
21 | (2) |
|
Using XML for Many Purposes |
|
|
23 | (10) |
|
Moving Legacy Data to XML |
|
|
23 | (1) |
|
|
|
24 | (7) |
|
Creating XML-enabled Web pages |
|
|
24 | (1) |
|
Print publishing with XML |
|
|
25 | (3) |
|
Using XML for business forms |
|
|
28 | (1) |
|
Incorporating XML into business processes |
|
|
29 | (2) |
|
Serving up XML from a database |
|
|
31 | (1) |
|
Alphabet Soup: Even More XML |
|
|
31 | (2) |
|
Slicing and Dicing Data Categories: The Art of Taxonomy |
|
|
33 | (12) |
|
Taking Stock of Your Data |
|
|
33 | (4) |
|
Looking at business practices and partners |
|
|
34 | (1) |
|
|
|
34 | (1) |
|
Checking whether a DTD or schema already exists |
|
|
35 | (1) |
|
Searching for a schema repository |
|
|
36 | (1) |
|
Breaking Down Data in Different Ways |
|
|
37 | (2) |
|
Winnowing out the wheat from the chaff |
|
|
38 | (1) |
|
Types of data that can be stored in XML |
|
|
39 | (1) |
|
|
|
39 | (2) |
|
|
|
41 | (2) |
|
Using trial and error for the best fit |
|
|
41 | (1) |
|
Testing your content analysis |
|
|
42 | (1) |
|
Looking Ahead to Validation |
|
|
43 | (2) |
|
|
|
45 | (64) |
|
|
|
47 | (18) |
|
|
|
47 | (3) |
|
|
|
48 | (1) |
|
|
|
49 | (1) |
|
|
|
50 | (4) |
|
Using XML to describe data |
|
|
51 | (2) |
|
The benefits of using HTML |
|
|
53 | (1) |
|
The benefits of using XML |
|
|
53 | (1) |
|
XHTML Makes the Move to XML Syntax |
|
|
54 | (5) |
|
|
|
55 | (1) |
|
Every element must be closed |
|
|
56 | (1) |
|
Empty elements must be formatted correctly |
|
|
56 | (1) |
|
Tags must be properly nested |
|
|
57 | (1) |
|
|
|
57 | (1) |
|
Attribute values are in quotation marks |
|
|
58 | (1) |
|
Converting a document from HTML to XHTML |
|
|
59 | (3) |
|
The Role of DOCTYPE Declarations |
|
|
62 | (3) |
|
Putting Together an XML File |
|
|
65 | (18) |
|
|
|
65 | (9) |
|
|
|
67 | (1) |
|
|
|
68 | (6) |
|
Playing by the Rules: Well-Formed Documents |
|
|
74 | (2) |
|
|
|
76 | (2) |
|
Seeking Validation with DTD and XML Schema |
|
|
78 | (5) |
|
Why describe XML documents? |
|
|
79 | (1) |
|
Choosing between DTD and XML Schema |
|
|
80 | (3) |
|
Adding Character(s) to XML |
|
|
83 | (12) |
|
About Character Encodings |
|
|
84 | (1) |
|
|
|
85 | (2) |
|
Character Sets, Fonts, Scripts, and Glyphs |
|
|
87 | (1) |
|
For Each Character, a Code |
|
|
88 | (1) |
|
|
|
89 | (2) |
|
|
|
91 | (2) |
|
Finding Character Entity Information |
|
|
93 | (2) |
|
Handling Formatting with CSS |
|
|
95 | (14) |
|
Viewing XML on the Web with CSS |
|
|
96 | (1) |
|
Basic CSS Formatting: CSS1 |
|
|
97 | (1) |
|
The Icing on the Cake: CSS2 |
|
|
98 | (1) |
|
Building a CSS Stylesheet |
|
|
98 | (1) |
|
|
|
99 | (8) |
|
A simple CSS stylesheet for XML |
|
|
101 | (1) |
|
Dissecting a simple CSS stylesheet |
|
|
102 | (4) |
|
|
|
106 | (1) |
|
|
|
107 | (2) |
|
Part III: Building In Validation with DTDs and Schemas |
|
|
109 | (86) |
|
Understanding and Using DTDs |
|
|
111 | (24) |
|
|
|
112 | (2) |
|
|
|
113 | (1) |
|
|
|
113 | (1) |
|
Inspecting the XML Prolog |
|
|
114 | (4) |
|
Examining the XML declaration |
|
|
115 | (1) |
|
|
|
116 | (1) |
|
|
|
116 | (1) |
|
|
|
117 | (1) |
|
How about that white space? |
|
|
117 | (1) |
|
|
|
118 | (1) |
|
Using Element Declarations |
|
|
119 | (4) |
|
Using the Empty element type and the Any element type |
|
|
120 | (1) |
|
|
|
121 | (1) |
|
Using element content models |
|
|
122 | (1) |
|
|
|
123 | (2) |
|
|
|
125 | (5) |
|
|
|
126 | (2) |
|
|
|
128 | (2) |
|
|
|
130 | (1) |
|
|
|
131 | (4) |
|
|
|
131 | (1) |
|
|
|
132 | (1) |
|
When to use an internal or external DTD |
|
|
133 | (2) |
|
Understanding and Using XML Schema |
|
|
135 | (22) |
|
|
|
136 | (2) |
|
So Many Datatypes, So Little Time |
|
|
138 | (1) |
|
|
|
139 | (2) |
|
|
|
141 | (7) |
|
|
|
141 | (3) |
|
</confirmOrder> Attribute declarations |
|
|
144 | (1) |
|
|
|
144 | (1) |
|
What about that white space? |
|
|
145 | (3) |
|
|
|
148 | (2) |
|
|
|
148 | (1) |
|
|
|
149 | (1) |
|
Defining constraints and value checks |
|
|
149 | (1) |
|
Dealing with Entities, Notations, and More |
|
|
150 | (1) |
|
|
|
151 | (1) |
|
Deciding When to Use a Schema |
|
|
152 | (1) |
|
Referencing XML Schema Documents |
|
|
153 | (2) |
|
The inside view: Referencing a schema in an XML document |
|
|
153 | (1) |
|
Calling for outside support: Referencing external schemas in your schema |
|
|
153 | (2) |
|
Double-Checking Your Schemas and Documents |
|
|
155 | (2) |
|
Building a Custom XML Schema |
|
|
157 | (16) |
|
|
|
157 | (2) |
|
Step 1: Understanding Your Data |
|
|
159 | (1) |
|
Step 2: Being the Root of All Structure: Elements |
|
|
159 | (2) |
|
Step 3: Building Content Models |
|
|
161 | (2) |
|
Step 4: Using Attributes to Shed Light on Data Structure |
|
|
163 | (1) |
|
Step 5: Using Datatype Declarations to Define What's What |
|
|
164 | (3) |
|
|
|
167 | (1) |
|
|
|
168 | (2) |
|
Using a Schema with an XML File in Word 2003 |
|
|
170 | (3) |
|
Modifying an Existing Schema |
|
|
173 | (22) |
|
Trading Control for Flexibility |
|
|
174 | (1) |
|
Eliciting Markup from an XML Schema |
|
|
174 | (2) |
|
|
|
176 | (1) |
|
Using Datatypes Effectively |
|
|
177 | (3) |
|
Using datatypes with data-intensive content |
|
|
177 | (2) |
|
Using datatypes with text-intensive content |
|
|
179 | (1) |
|
Making Elements Work Wisely and Well |
|
|
180 | (3) |
|
Creating crafty content models |
|
|
180 | (1) |
|
|
|
181 | (2) |
|
|
|
183 | (1) |
|
|
|
183 | (2) |
|
When XML Schemas Collide: Namespaces |
|
|
185 | (3) |
|
|
|
188 | (1) |
|
Including/Excluding Document Content |
|
|
188 | (2) |
|
Converting DTDs to Schemas |
|
|
190 | (5) |
|
Part IV: Transforming and Processing XML |
|
|
195 | (50) |
|
Handling Transformations with XSL |
|
|
197 | (18) |
|
|
|
198 | (3) |
|
|
|
198 | (2) |
|
|
|
200 | (1) |
|
XSL Stylesheets Are XML Documents |
|
|
201 | (1) |
|
A Simple Transformation Using XSLT |
|
|
202 | (1) |
|
An XSLT Stylesheet for Converting XML to HTML |
|
|
202 | (8) |
|
The pieces of the stylesheet puzzle |
|
|
205 | (2) |
|
Processing element content |
|
|
207 | (2) |
|
Dealing with repeating elements |
|
|
209 | (1) |
|
Creating an XSLT Stylesheet with XSLT Editors |
|
|
210 | (5) |
|
|
|
215 | (20) |
|
Why Do You Need Directions? |
|
|
216 | (4) |
|
|
|
217 | (1) |
|
Understanding XPath nodes |
|
|
218 | (2) |
|
XPath Directions and Destinations |
|
|
220 | (1) |
|
|
|
221 | (5) |
|
Some simple location paths |
|
|
222 | (1) |
|
|
|
223 | (1) |
|
Taking steps along the XPath |
|
|
223 | (1) |
|
|
|
224 | (1) |
|
|
|
224 | (1) |
|
|
|
225 | (1) |
|
|
|
225 | (1) |
|
Getting back to your roots |
|
|
226 | (1) |
|
|
|
226 | (1) |
|
|
|
226 | (2) |
|
|
|
228 | (3) |
|
|
|
229 | (1) |
|
Attribute-axis abbreviation |
|
|
229 | (1) |
|
Predicate and expression abbreviations |
|
|
229 | (1) |
|
|
|
230 | (1) |
|
|
|
231 | (2) |
|
|
|
233 | (2) |
|
|
|
235 | (10) |
|
Frankly, My Dear, I Don't Give a DOM |
|
|
235 | (5) |
|
Keeping in touch with the family |
|
|
238 | (1) |
|
Understanding DOM structure |
|
|
238 | (2) |
|
What Goes In Must Come Out: Processing XML |
|
|
240 | (5) |
|
So many processors, so little time |
|
|
242 | (1) |
|
Which processor is right for you? |
|
|
243 | (2) |
|
Part V: XML Application Development |
|
|
245 | (54) |
|
Using XML with Web Services |
|
|
247 | (12) |
|
What's Up with Web Services? |
|
|
248 | (3) |
|
A Web Services Architecture |
|
|
251 | (5) |
|
Transport: Moving XML messages |
|
|
252 | (1) |
|
Packaging/Extensions: Managing information exchange |
|
|
253 | (1) |
|
Description: Specifying services and related components |
|
|
254 | (1) |
|
Discovery: Finding what's available |
|
|
255 | (1) |
|
Where Will Web Services Lead? |
|
|
256 | (3) |
|
|
|
259 | (12) |
|
Collecting Information with Forms: The Basics |
|
|
260 | (1) |
|
|
|
260 | (1) |
|
|
|
261 | (10) |
|
|
|
261 | (6) |
|
|
|
267 | (4) |
|
Serving Up the Data: XML and Databases |
|
|
271 | (14) |
|
|
|
272 | (1) |
|
|
|
272 | (1) |
|
|
|
273 | (1) |
|
Creating XML from Database Files |
|
|
273 | (8) |
|
|
|
274 | (1) |
|
|
|
275 | (3) |
|
|
|
278 | (3) |
|
Using XML with Access 2003 |
|
|
281 | (4) |
|
|
|
285 | (14) |
|
|
|
286 | (1) |
|
|
|
286 | (9) |
|
|
|
287 | (3) |
|
|
|
290 | (1) |
|
|
|
291 | (4) |
|
|
|
295 | (1) |
|
|
|
296 | (1) |
|
|
|
297 | (1) |
|
|
|
298 | (1) |
|
Part VI: The Part of Tens |
|
|
299 | (30) |
|
XML Tools and Technologies |
|
|
301 | (12) |
|
Creating Documents with Authoring Tools |
|
|
301 | (3) |
|
|
|
302 | (1) |
|
|
|
303 | (1) |
|
|
|
303 | (1) |
|
|
|
303 | (1) |
|
|
|
304 | (1) |
|
Checking Documents with Parser Tools |
|
|
304 | (3) |
|
|
|
305 | (1) |
|
|
|
306 | (1) |
|
|
|
306 | (1) |
|
Viewing with XML Browsers |
|
|
307 | (2) |
|
|
|
307 | (1) |
|
|
|
307 | (1) |
|
|
|
308 | (1) |
|
|
|
308 | (1) |
|
|
|
308 | (1) |
|
Using XML Parsers and Engines |
|
|
309 | (2) |
|
|
|
309 | (1) |
|
|
|
310 | (1) |
|
|
|
310 | (1) |
|
Employing Conversion Tools |
|
|
311 | (1) |
|
|
|
311 | (1) |
|
Extensible Programming Script (XPS) |
|
|
311 | (1) |
|
The Ultimate XML Grab Bag and Goodie Box |
|
|
312 | (1) |
|
|
|
312 | (1) |
|
webMethods automates XML excellence |
|
|
312 | (1) |
|
|
|
313 | (8) |
|
|
|
314 | (1) |
|
XML Style Is a Matter of Application |
|
|
314 | (1) |
|
Wireless Markup Language (WML) |
|
|
314 | (1) |
|
|
|
315 | (1) |
|
Mathematical Markup Language (MathML) |
|
|
315 | (1) |
|
Scalable Vector Graphics (SVG) |
|
|
316 | (1) |
|
Resource Description Framework (RDF) |
|
|
316 | (1) |
|
Synchronized Multimedia Integration Language (SMIL) |
|
|
317 | (1) |
|
|
|
317 | (1) |
|
|
|
318 | (1) |
|
Create XML Applications with Zope |
|
|
319 | (2) |
|
Ten Ultimate XML Resources |
|
|
321 | (8) |
|
XML's Many and Marvelous Specs |
|
|
321 | (1) |
|
|
|
322 | (1) |
|
|
|
322 | (1) |
|
|
|
323 | (1) |
|
Excellent XML Examples at zvon.org |
|
|
323 | (1) |
|
|
|
323 | (1) |
|
|
|
324 | (1) |
|
Building a Bodacious XML Bookshelf |
|
|
325 | (1) |
|
Studying XML for Certification |
|
|
326 | (1) |
|
Serious Searches Lead to Success |
|
|
327 | (2) |
| Glossary |
|
329 | (18) |
| Index |
|
347 | |