Table of Contents
list of figures xv
list of tables xvii
introduction xix
acknowledgments xxiii
about the cover illustration xxv
 
Chapter 1: Why XML?
1.1 Overview 2
1.2 XML enables data sharing 3
- Building your own markup language 5
- What else can we do with XML? 6
- Who is the W3C? (Worldwide Web Consortium) 7
Chapter 2: XML boot camp 9
2.1 Overview 10
2.2 XML and its derivatives is a huge topic 10
- Learning more about the XML syntax 11
- The X(ML) files 11
- Step 1: Discovering the structure 12
- Step 2: Building an XML file 17
- Step 3: Using style in your design 25
- RDF (Resource Description Framework) 26
Chapter 3: Why would a business use XML? 29
3.1 Overview 30
3.2 The business problem 30
3.3 User scenarios 30
- Scenario 1?andwidths and customization 30
- Scenario 2?mmediately usable data that is reliable 31
- Scenario 3?ew layouts 31
- Scenario 4?ew requirements 32
3.4 Solving the problem with XML and XSL 33
 
Chapter 4: Programming with XML 35
4.1 Overview 36
4.2 The W3C Document Object Model 36
- Understanding Nodes and child Nodes 39
4.3 Navigating the Microsoft XML DOM 39
4.4 Data Islands?etting started with XML 40
- How do Data Islands work? 42
- How do you take your HTML: DIV(ed) or SPAN(ed)? 45
- Binding other HTML elements to a Data Island recordset 46,
- Output of source code 48, Full source code 48,
- Accessing a standalone Data Island 48
- Full source code 49
- Saving your Data Island changes 49
- Limiting the number and moving through the records 49
- Output of source code 51, Full source code 51,
- Adding new records to a Data Island 52
- Output of source code 53, Full source code 54,
- Getting an ADO recordset from XML Data Islands 54
4.5 Getting the Microsoft XML objects onto your PC 55
4.6 Creating the objects 55
4.7 Loading a file synchronously 55
4.8 Loading a file asynchronously 56
- Using WithEvents in VB 56
4.9 A roundtrip on using the DOM object with a TreeView 57
- Preparing to run the example 58
- Module variables 59
- Populating the TreeView from the DOMDocument 59
4.10 Saving an XML document to a file in ASP 70
4.11 Handling errors and debugging 71
4.12 Accessing the XML with ASP 71
4.13 Sending data back to the user 71
- Creating XML on the server from your relational database 72
- Returning an ADO 2.1 recordset as XML 75
4.14 Communicating with the server from VB
using XMLHTTPRequest 78
- Receiving an XML DOMDocument object in VB 78
Chapter 5: XSL?dding style to XML 81
5.1 Overview 82
5.2 What can XSL do? 82
- What can the Microsoft XSL implementation do? 83
- Where can I see a demo of XSL? 83
5.3 Debugging your XML and XSL with IE5 84
- Connecting up your XML and XSL files 85
- XML + XSL = HTML in a browser 86
5.4 Building the HTML output 87
- xsl:for-each 90, xsl:value-of 90,
- Processing all the children 90, Full source code 91,
- Using XSL as a Data Island 92
- Switching styles with TransformNode 94
5.5 Patterns 99
- Sorting 99, Context 99,
- Pattern operators 100
- Filtering and logical operators 101
- Using patterns 102
5.6 How to make a hyperlink 105
5.7 Summary 106
 
Chapter 6: Building XML solutions 107
6.1 Overview 108
6.2 What do we want to achieve in these examples? 109
- Data brokering 109
- Communications between objects 110
- Beyond the network, into the Internet 110
- Simplifying frameworks 111
- Disconnected programs and data 111
6.3 A quick overview of the examples 112
6.4 Implements 115
6.5 Techniques for reusing business objects 117
6.6 Creating the projects 118
6.7 SimpleUI?ust the basics 118
- frmAdos and the objects 120
- frmBO and the objects 120
- How the ADO-only approach works 121
- How the business object approach works 125
- How the ASP approach works 139
6.8 XMLDemo? more complete example 146
- The code for getRecs 149
- The DOMtoBO class code?opulating the client-side business object 158
- The People and Person class 162
6.9 Summary 164
 
Chapter 7: The Microsoft DOM objects in detail 167
7.1 Overview 168
7.2 DOM objects 168
- DOMDocument 170
- XMLDOMElement 170
- XMLDOMNode 171
- XMLDOMNodeList 172
- XMLDOMNamedNodeMap 172
- XMLDOMCDATASection 173
- XMLDOMAttribute 173
- XMLDOMDocumentType 173
- XMLDOMEntity 174
- XMLDOMProcessingInstruction 175
- XMLDOMParseError 175
- XMLHTTPRequest 176
7.3 DOM object properties 176
- async 180, attributes 181,
- childNodes 183, docType 188,
- documentElement 190
- firstChild, lastChild, nextSibling, and previousSibling 191
- length 192, namespaceURI 193,
- nodeName 194, nodeType 197,
- nodeTypedValue 208, nodeTypeString 209,
- nodeValue 210, ondataavailable 212,
- ownerDocument 213, parentNode 214,
- parsed 214, parseError 215,
- prefix 216, preserveWhiteSpace 217,
- resolveExternals 218, tagName 219,
- text 219, url 220,
- validateOnParse 221, value 221,
7.4 DOM object methods 222
- abort() 224, appendChild() 225,
- cloneNode() 228
- createAttribute(), createCDATASection(), createComment(), createElement(), createEntityReference(), createProcessingInstruction(), createTextNode() 228
- createNode() 233, getAttribute() 235,
- getAttributeNode() 236
- getElementsByTagName() 236
- getNamedItem() 238, hasChildNodes() 240,
- insertBefore() 241, load() 241,
- loadXML() 242, nextNode() 242,
- nodeFromID() 244, removeAttribute() 245,
- removeAttributeNode() 246
- removeChild() 247
- removeNamedItem() 248
- replaceChild() 249, reset() 250,
- save() 250, selectNodes() 252,
- selectSingleNode() 253, send() 254
- setAttribute() 254, setAttributeNode() 255,
- setNamedItem() 256, transformNode() 257,
- transformNodeToObject() 259
Chapter 8: Schemas, BizTalk, and eCommerce 261
8.1 An introduction to eCommerce 262
8.2 Why do our systems need a Schema? 263
- Development of flexible web applications 263
- So, how does it work then? 263
8.3 Using the data types that are available 266
- Full list of Microsoft data types supported 267
- Primitive Types 268
- Supported data type conversions 269
8.4 BizTalk, where it? all happening! 270
- A BizTalk XML example 270
- Get your schemas here! 272
- Cool tools and websites 272
- How different are all the Schemas? 273
-
- 8.5 Summary 277
 
- Chapter 9: Where to go from here 279
- 9.1 The End 280
- 9.2 Check out the online glossary 280
- 9.3 Investigate future technologies 280
- 9.4 Join the http://www.vbxml.com VB, ASP, and
XML discussions 280
- 9.5 Author Online at http://www.manning.com 280
- 9.6 Newsgroups 281
- 9.7 W3C discussion groups 281
- 9.8 Links, links, and more links 281
 
index 285