Introduction |
|
1 | (1) |
|
|
2 | (1) |
|
What Does This Book Cover? |
|
|
2 | (1) |
|
What You Need to Use This Book |
|
|
3 | (1) |
|
|
3 | (1) |
|
|
4 | (5) |
|
How to Download the Sample Code for the Book |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
5 | (4) |
|
Introduction to XML Technologies |
|
|
9 | (40) |
|
|
10 | (2) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
12 | (5) |
|
The Universal Data Exchange Format |
|
|
12 | (1) |
|
|
13 | (1) |
|
Date Structures for Business |
|
|
13 | (2) |
|
Separation of Content and Presentation |
|
|
15 | (1) |
|
|
16 | (1) |
|
Content Management and Document Publishing |
|
|
16 | (1) |
|
XML and Instant Messaging |
|
|
17 | (1) |
|
|
17 | (1) |
|
XML in Vertical Industries |
|
|
17 | (1) |
|
|
17 | (6) |
|
In the Beginning: Client-Server |
|
|
18 | (1) |
|
Architecture Reaches the Web: 3-Tier |
|
|
19 | (2) |
|
|
21 | (2) |
|
|
23 | (3) |
|
|
23 | (1) |
|
|
24 | (2) |
|
|
26 | (2) |
|
|
26 | (1) |
|
The Role of XML in ASP.NET |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
27 | (1) |
|
The ADO.NET DataSet Class |
|
|
28 | (1) |
|
|
28 | (1) |
|
|
28 | (1) |
|
|
28 | (4) |
|
|
29 | (1) |
|
|
29 | (2) |
|
Likely Changes in XML 1.1 |
|
|
31 | (1) |
|
|
31 | (1) |
|
|
32 | (2) |
|
|
34 | (1) |
|
|
34 | (1) |
|
Document Object Model (DOM) |
|
|
34 | (1) |
|
|
34 | (1) |
|
XML Data Binding and XML Serialization |
|
|
35 | (1) |
|
|
36 | (1) |
|
Navigating, Transforming, and Formatting XML |
|
|
37 | (2) |
|
|
37 | (1) |
|
|
37 | (2) |
|
|
39 | (1) |
|
Other Standards in the XML Family |
|
|
39 | (2) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
|
41 | (1) |
|
XML Key Management Specification (XKMS) |
|
|
41 | (1) |
|
|
42 | (4) |
|
|
42 | (1) |
|
|
42 | (2) |
|
|
44 | (1) |
|
|
45 | (1) |
|
|
45 | (1) |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
46 | (3) |
|
|
49 | (44) |
|
|
50 | (27) |
|
|
50 | (1) |
|
|
51 | (1) |
|
XmlReader Supporting Classes |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
53 | (1) |
|
|
53 | (2) |
|
|
55 | (2) |
|
XMLCategorizer Example: Web Forms and Reading XML |
|
|
57 | (4) |
|
|
61 | (6) |
|
|
67 | (1) |
|
|
67 | (1) |
|
|
68 | (1) |
|
|
69 | (2) |
|
Catching ValidationEvents |
|
|
71 | (1) |
|
Extending the Categorizer with Validation |
|
|
72 | (5) |
|
|
77 | (13) |
|
|
77 | (1) |
|
|
78 | (1) |
|
|
79 | (1) |
|
|
80 | (5) |
|
XMLCategorizer with Log File |
|
|
85 | (5) |
|
|
90 | (3) |
|
|
93 | (42) |
|
|
94 | (1) |
|
.NET Class Hierarchy for the DOM |
|
|
95 | (1) |
|
|
96 | (11) |
|
|
96 | (1) |
|
|
97 | (1) |
|
|
97 | (3) |
|
|
100 | (3) |
|
|
103 | (1) |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
105 | (1) |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
107 | (15) |
|
|
107 | (1) |
|
|
107 | (1) |
|
|
108 | (1) |
|
|
109 | (4) |
|
|
113 | (1) |
|
Creating Document Components |
|
|
114 | (1) |
|
|
115 | (1) |
|
|
115 | (1) |
|
|
116 | (1) |
|
|
116 | (1) |
|
|
116 | (2) |
|
|
118 | (1) |
|
A Word about XmlLinkedNode |
|
|
118 | (1) |
|
|
119 | (1) |
|
|
119 | (1) |
|
|
120 | (2) |
|
Conference Schedule Sample Application |
|
|
122 | (10) |
|
User Interface and Application Lifecycle |
|
|
123 | (2) |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
126 | (2) |
|
Building a Response Document |
|
|
128 | (1) |
|
|
129 | (2) |
|
|
131 | (1) |
|
|
132 | (3) |
|
|
135 | (42) |
|
|
136 | (1) |
|
|
136 | (1) |
|
XPath and XSLT Style Sheets |
|
|
136 | (1) |
|
XPath and SQL Server 2000 |
|
|
136 | (1) |
|
XPath and Other XML Technologies |
|
|
137 | (1) |
|
Accessing Node Information |
|
|
137 | (4) |
|
Understanding the XPath Tree |
|
|
137 | (1) |
|
|
138 | (3) |
|
|
141 | (9) |
|
|
141 | (1) |
|
|
142 | (1) |
|
Structure of a Location Path |
|
|
142 | (1) |
|
|
143 | (1) |
|
|
143 | (3) |
|
|
146 | (2) |
|
|
148 | (2) |
|
|
150 | (10) |
|
|
150 | (1) |
|
|
150 | (7) |
|
Testing the XPath Web Form |
|
|
157 | (3) |
|
Using XPath Operators and Functions |
|
|
160 | (7) |
|
Node-Set Operators and Functions |
|
|
160 | (1) |
|
|
160 | (1) |
|
|
160 | (2) |
|
Boolean Operators and Functions |
|
|
162 | (1) |
|
|
162 | (1) |
|
|
163 | (1) |
|
|
163 | (1) |
|
Numeric Operators and Functions |
|
|
163 | (1) |
|
|
164 | (1) |
|
|
164 | (1) |
|
|
165 | (2) |
|
|
167 | (7) |
|
Typed Results of an XPath Expression |
|
|
167 | (1) |
|
Determining the Result Type with XPathExpression |
|
|
168 | (1) |
|
Creating the XPath2.aspx Web Form |
|
|
169 | (1) |
|
Setting Controls in Design View |
|
|
169 | (2) |
|
Executing XPath Expressions using XPathNavigator |
|
|
171 | (2) |
|
Testing the XPath2.aspx Web Form |
|
|
173 | (1) |
|
|
174 | (3) |
|
|
177 | (38) |
|
|
177 | (3) |
|
Transforming XML Documents |
|
|
178 | (1) |
|
|
178 | (1) |
|
|
179 | (1) |
|
|
180 | (1) |
|
Structure of an XSLT Style Sheet |
|
|
180 | (13) |
|
XSLT is a Declarative, Rule-Based Language |
|
|
180 | (1) |
|
|
180 | (2) |
|
Specifying the Output Type |
|
|
182 | (1) |
|
|
182 | (1) |
|
The Template Rule for the Root Node |
|
|
182 | (1) |
|
Specifying Template Rules for Other Nodes |
|
|
182 | (1) |
|
Accessing Values with <value-of> |
|
|
183 | (1) |
|
Applying Templates with <apply-templates> |
|
|
184 | (2) |
|
Applying an XSLT Style Sheet to an XML Document |
|
|
186 | (1) |
|
Applying Style Sheet Statically |
|
|
186 | (1) |
|
Applying a Style Sheet Dynamically |
|
|
187 | (2) |
|
|
189 | (1) |
|
|
190 | (1) |
|
|
191 | (2) |
|
Controlling Document Output |
|
|
193 | (9) |
|
Sorting Node-Sets with <sort> |
|
|
193 | (1) |
|
Using <sort>with <apply-templates> |
|
|
194 | (2) |
|
Performing Repetition with <for-each> |
|
|
196 | (1) |
|
|
196 | (1) |
|
Using <sort>with <for-each> |
|
|
197 | (1) |
|
Using Conditional Logic in XSLT |
|
|
198 | (1) |
|
Controlling output using <if> |
|
|
199 | (1) |
|
Controlling Output using <dhoose>..<when>..<otherwise> |
|
|
200 | (2) |
|
Understanding XSLT Functions, Variables, and Parameters |
|
|
202 | (11) |
|
Uniquely Identifying Nodes with generate-id() |
|
|
202 | (2) |
|
Accessing Nodes using <key>and key() |
|
|
204 | (1) |
|
Understanding the <key>Element |
|
|
204 | (1) |
|
Understanding the key() Function |
|
|
205 | (3) |
|
Assigning Values with <variable> |
|
|
208 | (1) |
|
Processing Multiple XML Documents with document() |
|
|
209 | (1) |
|
Creating Dynamic Output with <param> |
|
|
210 | (2) |
|
Using XsltArgumentList to Add Parameters |
|
|
212 | (1) |
|
|
213 | (2) |
|
|
215 | (30) |
|
|
215 | (4) |
|
Data Access using Managed Data Providers |
|
|
216 | (1) |
|
Core Components of the Managed Data Providers |
|
|
216 | (3) |
|
Creating the ADONET Web Application |
|
|
219 | (1) |
|
Security and ADO.NET in ASP.NET Applications |
|
|
220 | (11) |
|
Accessing Data with User ID and Password |
|
|
220 | (1) |
|
|
220 | (2) |
|
|
222 | (1) |
|
Accessing Data with Integrated Security |
|
|
223 | (1) |
|
|
223 | (7) |
|
|
230 | (1) |
|
Using DataSets in ASP.NET |
|
|
231 | (11) |
|
Filling a DataSet using DataAdapter |
|
|
231 | (1) |
|
Binding a DataSet to a DataGrid |
|
|
231 | (4) |
|
Filling a DataSet with XML Content |
|
|
235 | (2) |
|
Synchronizing a DataSet with XmlDataDocument |
|
|
237 | (1) |
|
Transformations using XmlDataDocument |
|
|
237 | (5) |
|
|
242 | (3) |
|
SQL Server 2000 and SqlXml Managed Classes |
|
|
245 | (22) |
|
SQL Server .NET Data Provider |
|
|
246 | (2) |
|
Advantages of the SQL Server .NET Data Provider |
|
|
246 | (1) |
|
|
246 | (1) |
|
|
246 | (1) |
|
Creating the SQL2000 Web Application |
|
|
246 | (1) |
|
Adding a Connection String to Web.config |
|
|
247 | (1) |
|
Understanding XML Queries |
|
|
248 | (2) |
|
Writing XML Queries using FOR XML |
|
|
248 | (1) |
|
|
248 | (1) |
|
|
249 | (1) |
|
|
250 | (1) |
|
Retrieving Schema Information with XMLDATA |
|
|
250 | (1) |
|
Retrieving XML in a .NET Client |
|
|
250 | (3) |
|
Executing XML Queries with ExecuteXmlReader |
|
|
250 | (1) |
|
Adding the XML Query to Web.config |
|
|
251 | (1) |
|
The Code Behind Categories.aspx |
|
|
251 | (2) |
|
|
253 | (12) |
|
|
253 | (1) |
|
The SQLXML Managed Classes |
|
|
254 | (1) |
|
|
255 | (1) |
|
|
256 | (1) |
|
The DisplayEmployees.aspx Web Form |
|
|
257 | (2) |
|
|
259 | (1) |
|
The ProductTotals.aspx Web Form |
|
|
259 | (6) |
|
|
265 | (1) |
|
|
265 | (2) |
|
|
267 | (34) |
|
Transacting with XML Web Services |
|
|
268 | (1) |
|
SOAP - The Backbone of Electronic Messaging |
|
|
269 | (10) |
|
SOAP Messaging Exchange Model |
|
|
269 | (1) |
|
|
270 | (2) |
|
|
272 | (1) |
|
|
273 | (1) |
|
|
274 | (1) |
|
|
274 | (1) |
|
Encoding, Serialization, and Proxies |
|
|
274 | (4) |
|
Differences between SOAP 1.1 and SOAP 1.2 |
|
|
278 | (1) |
|
Describing Web Services with WSDL |
|
|
279 | (9) |
|
|
280 | (1) |
|
|
280 | (1) |
|
|
281 | (1) |
|
Abstract Definition Elements |
|
|
282 | (1) |
|
Concrete Description Elements |
|
|
283 | (2) |
|
|
285 | (2) |
|
Using the <Import>Element |
|
|
287 | (1) |
|
Discovering Organizations and Services using UDDI |
|
|
288 | (1) |
|
How Microsoft and IBM are extending Web Services |
|
|
289 | (5) |
|
WS-Securities and WS-License |
|
|
289 | (5) |
|
Collaborative Electronic Business with ebXML |
|
|
294 | (4) |
|
|
294 | (1) |
|
|
295 | (1) |
|
|
295 | (1) |
|
The ebXML Functional Phases |
|
|
296 | (1) |
|
The ebXML Messaging Service |
|
|
297 | (1) |
|
|
298 | (3) |
|
|
301 | (24) |
|
|
301 | (21) |
|
XQuery (Human-Readable) Syntax |
|
|
303 | (2) |
|
Implementations of XQuery |
|
|
305 | (1) |
|
Microsoft's .NET Classes for XQuery |
|
|
306 | (1) |
|
A Sample ASP.NET Project using XQuery |
|
|
307 | (15) |
|
|
322 | (3) |
|
|
325 | (42) |
|
Improving ASP.NET Application Performance |
|
|
326 | (4) |
|
|
326 | (2) |
|
|
328 | (2) |
|
|
330 | (1) |
|
Performance Monitoring in ASP.NET |
|
|
330 | (12) |
|
An Aside - What is Application Performance? |
|
|
330 | (1) |
|
|
331 | (4) |
|
Measuring Performance in ASP.NET |
|
|
335 | (1) |
|
|
335 | (2) |
|
|
337 | (3) |
|
|
340 | (1) |
|
Analyzing Performance with Sampling |
|
|
341 | (1) |
|
|
342 | (1) |
|
Testing ASP.NET Web Applications with ACT |
|
|
342 | (23) |
|
|
343 | (8) |
|
|
351 | (3) |
|
The ACT_XQuerySearchEngine Project |
|
|
354 | (6) |
|
|
360 | (5) |
|
|
365 | (2) |
|
A Web Services Case Study - An E-Commerce Business Engine |
|
|
367 | (46) |
|
|
368 | (1) |
|
An E-Commerce Illustration |
|
|
368 | (1) |
|
|
369 | (4) |
|
Demonstrating the Concept |
|
|
371 | (2) |
|
|
373 | (2) |
|
|
375 | (25) |
|
|
375 | (1) |
|
|
375 | (1) |
|
Implementing the Methods of the CatalogueService |
|
|
376 | (9) |
|
Testing the CatalogueService |
|
|
385 | (3) |
|
Building a SOAP Test Harness |
|
|
388 | (2) |
|
|
390 | (1) |
|
The BasketService - Selected Code |
|
|
391 | (4) |
|
|
395 | (2) |
|
The OrderService - Selected Code |
|
|
397 | (3) |
|
The Online Shop - A Consuming Example |
|
|
400 | (10) |
|
Consuming CatalogueService |
|
|
402 | (4) |
|
|
406 | (4) |
|
|
410 | (3) |
Index |
|
413 | |