Wednesday, April 25, 2007

Pro .NET 2.0 XML By Bipin Joshi



Title: Pro .NET 2.0 XML
Author: Bipin Joshi
ISBN: 1590598253
Pages: 499 pp.
Published: Apr 2007


XML is the de facto language for communication within and between distributed applications, whether they’re on the Internet or a corporate network. XML is successful because of two strengths: it has a highly-structured human readable format and it can be transmitted as pure text. No matter how disparate applications and their architectures may be, text files can always be read, and therefore can accept XML data. This makes XML-based solutions advantageous over rival technologies like remoting.

Pro .NET 2.0 XML is the first book to provide a complete solution to XML on the .NET Framework 2.0 including the new .NET 3.0 extensions that are being released in January 2007. It provides you with everything you need to know to take advantage of XML in every aspect of your job—including integration with Windows Communication Foundation.

This is the first book that describes how XML interacts with Windows Communication Foundation (part of the new .NET 3.0 extensions).
Author Bipin Joshi is a Microsoft Certified Trainer who regularly teaches classes on XML. He provides the kind of clear, precise guidance that you need.
This will be the most complete book on .NET 2.0 XML available. It covers everything you need to use XML effectively.



Author Information
Bipin Joshi
Bipin Joshi has been programming since 1995 and worked on a variety of tools and technologies including C, C++, Clipper, FoxPro, VB, COM, and ASP before embracing the .NET platform in 2000. He is the web master of two popular web sites, www.dotnetbips.com and www.binaryintellect.net. And he is the coauthor of several well received .NET 1.1 and .NET 2.0 titles. Bipin is also a Microsoft MVP and has MCT and MCAD certification.



Table Of Contents
CHAPTER 1 Introducing XML and theNET Framework. 1
What Is XML? 1
Benefits of XML. 2
XML Is an Industry Standard 2
XML Is Self-Describing. 2
XML Is Extensible 3
XML Can Be Processed Easily. 3
XML Can Be Used to Easily Exchange Data 3
XML Can Be Used to Easily Share Data. 3
XML Can Be Used to Create Specialized Vocabularies 3
XML-Driven Applications 3
Rules of XML Grammar 5
XML Markup Is Case Sensitive 7
The XML Document Must Have One and Only One
Root Element 7
The Start Tag Must Have an End Tag 7
The Start and End Tags Must Be Properly Nested. 7
The Attribute Values Must Be Enclosed in Quotes. 8
DTDs and XML Schemas. 8
Parsing XML Documents 8
XSLT 10
XPath. 10
TheNET Framework 11
.NET and XML 12
Assemblies and Namespaces 13
The XML Parsing Model in theNET Framework 14
.NET Configuration Files. 14
ADO.NET 17
ASP.NET Server Controls 17
XML Serialization. 18
Remoting 19
Web Services 19
XML Documentation 20
SQL Server XML Features 21
Working with Visual Studio 21
Creating Windows Applications 22
Creating Class Libraries 26
Summary 29


CHAPTER 2 Manipulating XML Documents by Using the Document Object Model. 31
Using the DOM Parser 31
Knowing When to Use DOM 34
A Sample XML Document 34
Opening an Existing XML Document for Parsing. 35
Navigating Through an XML Document 37
Looking for Specific Elements and Nodes 39
Retrieving Specific Elements by Using the
GetElementByTagName() Method 40
Retrieving Specific Elements by Using the
GetElementById() Method 41
Selecting Specific Nodes by Using the SelectNodes() Method 45
Selecting a Single Specific Node by Using the
SelectSingleNode() Method 47
Modifying XML Documents 48
Navigating Between Various Nodes 49
Modifying Existing Content 51
Deleting Existing Content. 52
Adding New Content 53
Using Helper Methods 55
Dealing with White Space 56
Dealing with Namespaces. 59
Understanding Events of the XmlDocument Class 61
Summary 64


CHAPTER 3 Reading and Writing XML Documents. 65
What Are XML Readers and Writers? 65
When to Use Readers and Writers 66
Reader Classes 66
The XmlTextReader Class 66
The XmlValidatingReader Class 66
The XmlNodeReader Class 67
Reading Documents by Using XmlTextReader. 67
Opening XML Documents 67
Reading Attributes, Elements, and Values 69
Improving Performance by Using Name Tables. 72
Dealing with Namespaces 73
Moving Between Elements 73
The ReadSubTree() Method. 73
The ReadToDescendant() Method 74
The ReadToFollowing() Method 74
The ReadToNextSibling() Method 75
The Skip() Method. 75
Moving Between Attributes. 76
Reading Content 77
The ReadInnerXml() Method 77
The ReadOuterXml() Method 78
The ReadString() Method 78
Writing XML Documents 78
Exporting Columns As Elements. 82
Exporting Columns As Attributes 83
Specifying Character Encoding. 83
Formatting the Output 84
Including Namespace Support 87
Dealing with Nontextual Data 89
Serializing Data 90
Unserializing Data 91
Summary 93


CHAPTER 4 Accessing XML Documents by Using the XPath Data Model. 95
Overview of XPath 95
Location Path 96
Axis 96
Node Tests 97
Predicates. 97
Putting It All Together 97
XPath Functions. 98
The XPath Data Model 99
Creating XPathNavigator 99
Navigating an XML Document by Using XPathNavigator 101
Selecting Nodes. 104
Navigating Between Attributes 108
Retrieving Inner and Outer XML 109
Getting an XmlReader from XPathNavigator. 111
Getting an XmlWriter from XPathNavigator. 114
Editing XML Documents with the XPathNavigator Class 116
Summary 122


CHAPTER 5 Validating XML Documents 123
Providing Structure for XML Documents 123
Document Type Definitions (DTDs) 124
XML Data Reduced Schemas (XDR Schemas) 124
XML Schema Definition Language Schemas (XSD Schemas) 124
Creating Structure for an XML Document 124
The Structure of Employees.xml. 125
Creating the DTD. 125
Creating the XSD Schema 127
Creating Schemas by Using the Schema Object Model (SOM) 142
The Core SOM Classes. 142
Creating an XSD Schema by Using the SOM 144
Validating XML Documents Against DTDs and XSD Schemas 152
Inline DTD 153
External DTD 153
Inline Schema 154
External Schema 154
Using the XmlReader Class to Validate XML Documents 156
Using XmlDocument to Validate XML Documents Being
Loaded 159
Using XPath Navigator to Validate XML Documents 162
Summary 162


CHAPTER 6 Transforming XML with XSLT 165
Overview of XSLT 165
Applying Templates by Using 169
Branching by Using 171
Branching by Using and . 173
Transforming Elements and Attributes 175
The XslCompiledTransform Class 178
Performing Transformations by Using XslCompiledTransform 179
Passing Arguments to a Transformation. 182
Using Script Blocks in an XSLT Style Sheet 186
Using Extension Objects. 190
Summary 191

CHAPTER 7 XML in ADO.NET 193
Overview of ADO.NET Architecture 193
Connected Data Access 193
Disconnected Data Access 194
ADO.NET Data Providers 195
Basic ADO.NET Classes 197
XML and Connected Data Access 198
Using the ExecuteXmlReader() Method 198
XML and Disconnected Data Access. 201
Understanding DataSet 201
Understanding DataAdapter 203
Working with DataSet and DataAdapter 205
Saving DataSet Contents As XML. 212
Reading XML Data into DataSet 218
Generating Menus Dynamically Based On an XML File 221
Reading Only the Schema Information 224
Creating a Typed DataSet 226
Using Visual Studio to Create a Typed DataSet 227
Using the xsd.exe Tool to Create a Typed DataSet 231
The XmlDataDocument Class 232
Using the XmlDataDocument Class 232
Converting Between DataRow and XmlElement 234
Summary 236


CHAPTER 8 XML Serialization 237
Understanding the Flavors of Serialization. 238
Classes Involved in the Serialization Process. 238
Serializing and Deserializing Objects by Using XML Format 239
Handling Events Raised During Deserialization 243
Serializing and Deserializing Complex Types 245
Serialization and Inheritance 254
Customizing the Serialized XML 257
Serializing Data in SOAP Format 263
Customizing SOAP Serialization 267
Summary 270


CHAPTER 9 XML Web Services 271
What Are Web Services? 271
Creating and Consuming Web Services 272
Creating a Web Service 273
Creating a Proxy for a Web Service 285
Creating a Form That Consumes a Web Method 287
Calling a Web Method Asynchronously 289
Understanding SOAP 291
Using SOAP Headers. 292
Understanding the WSDL Document 297
The Messages 300
The Type Definitions 300
The Port Types. 301
The Binding 301
The Service 301
A Summary of WSDL 301
Summary 302


CHAPTER 10 XML in SQL Server 2005. 303
Using XML Extensions to the SELECT Statement 303
The FOR XML Clause 303
Using OPENXML 313
Using SQLXML Features 315
The SQLXML Managed Classes 316
The XML Data Type 331
Creating a Table with an XML Column 332
Inserting, Modifying, and Deleting XML Data 332
Methods of the XML Data Type. 334
XML Data Modification Language (XML DML) 336
XQuery Support in the XML Data Type 337
Native Web Services 337
Creating a Stored Procedure 338
Creating an HTTP Endpoint 338
Creating a Proxy for the Endpoint. 340
Consuming the Native Web Service 341
Summary 342


CHAPTER 11 Use of XML in theNET Framework. 343
Understanding Remoting. 343
Remoting Architecture 344
Object Activation 345
Channels and Formatters. 345
Flavors of Marshalling 346
Remoting Assemblies and Namespaces 346
Creating a Remoting-Enabled Application 347
Using XML in ASP.NET. 356
Web Form Code Models 357
XML and ASP.NET 357
The XML Data Source Control 367
Working with Site Maps. 375
Using a SiteMapPath Control. 378
Using a SiteMapDataSource Control 379
Using the XML Control 379
Using theNET Framework Configuration System 382
Structure of the web.config File 383
Inheritance and web.config 384
Common Configuration Tasks. 384
The ASP.NET Provider Model 388
Displaying Custom Error Pages 401
Documenting XML Code 404
Creating a Class Library 404
Generating Documentation 408
Summary 412


CHAPTER 12 Creating Services by Using Windows Communication Foundation 413
Understanding WCF Vocabulary 414
Creating and Consuming a WCF Service 415
Creating the Service 415
Hosting the Service. 421
Consuming the Service 424
Testing the Host and Client 426
Hosting a WCF Service in IIS 428
Understanding the Role of XML in WCF Services 430
Using the XmlFormatter and XmlSerializer Classes 431
Using XmlSerializer Instead of XmlFormatter 431
Summary 431


APPENDIX A Creating Custom XmlReader and XmlWriter Classes. 433
Creating a Custom Implementation of XmlReader 433
Inheriting from XmlReader. 434
Creating a TableReader Class 435
Using the TableReader Class 444
Creating a Custom XmlWriter 446
Inheriting from XmlWriter. 447
Consuming the RssWriter Class 455
Summary 456


APPENDIX B Case Study: A Web Service–Driven Shopping Cart 457
Creating the Database 457
Creating the Web Service 459
Creating the SqlHelper Class. 459
Specifying the Connection String in web.config 461
Creating the Web Methods 462
Creating the Shopping Cart. 467
Adding the Web Reference 467
Displaying the Product Catalog. 468
Creating the Shopping Cart Page 471
Testing the Website 476


APPENDIX C Resources 479
INDEX. 481




Sample Chapter: Ch. 01 - Introducing XML and the .NET Framework
Amazon link: Pro .NET 2.0 XML

No comments: