BOOK REVIEW

Professional XML for .NET Developers

Wrox

Dalvi, et al.

ISBN 1861005318

 

Category

Rating

LEGEND:

5=Excellent

4=Good

3=Standard

2=Fair

1=Poor

 

Overall recommendation

4

Quality of organization

4

Easy to read and navigate

4

Sufficient quantity of examples

4

Examples are error free

4

Reuse for reference

5

Quality of index

5

 

Summary Review 

 Solid introduction to XML in .NET.  The text covers a lot of ground in 700+ pages.  Starting with an introduction to the .NET Framework, it moves through the requisite areas of reading & writing XML, navigating the DOM, transforming, validating and serializing XML, and then on to XML-centric introductions to ADO.NET, ASP.NET, SOAP and Web Services.  Two case studies are thrown in as well.

 

Instead of just listing features, it goes the extra, more important step of actually explaining why features are important or useful and how they can be of practical benefit.  For example, in Chapter 3:

 

                "The main difference between the XmlNodeReader and XmlTextReader is in the constructor - XmlNodeReader allows access to the contents of XML nodes obtained in some other way, such as part of an XPath resolution or an XmlDocument parse.  For example, we can select XML document fragments using XPath document manipulation methods, then iterate through the fragments to extract their content using XmlNodeReader objects.  By using a combination of these technologies, we can simplify our code while keeping memory consumption to a minimum."

 

On the down side, the quality varies from chapter to chapter, as can be expected from a book with multiple authors.  For the most part, both VB.NET and C# examples are included, though occasionally, and for no apparent reason, only one or the other is shown (examples of both are included in the downloads available on the Wrox site).

 

Like many of the Wrox Professional books, it tells you more than you might need or care to know at the given moment, but because of that breadth and depth of content, it serves as an excellent reference.

Detailed Comments 

 "Professional XML for .NET Developers" was published while the .NET Framework was still in Beta 2, so there are some anomalies that show up.  Wrox has updated code samples and errata available for download on their site.

 

Chapter 1 has the requisite, though satisfying, introduction to the .NET Framework.  There's an enlightening discussion of the Common Language Specification (CLS) and the Common Type System and how, in practical terms, they contribute to cross language interoperability.

 

Chapter 2, among other things, has a lucid and very helpful explanation of the various config files and their relationship to each other.

 

Chapter 3 contains a thorough explanation of the objects that allow forward-only reading and writing of XML, a discussion of lesser known objects such as the Stack and NameTable objects, as well as a more complicated example at the end of the chapter that brings it all together.

 

Chapter 7 gives a quick intro to serialization, how to do it and why it's useful, then covers dealing with unexpected XML content via three of the Serializer object's specific events.  Also goes into serializing complex objects, composite objects as well as fine-tuning serialization using .NET Framework attributes.  There was an enlightening and useful explanation of the XSD Generator Tool which allows you to generate an XSD schema from a class and vice versa.

 

Chapter 9 contains a curious departure/case study extending the XmlReader and XmlWriter to communicate with Word and Visio as target applications.

 

Chapter 10 packs a respectable, XML-centric introduction to ADO.NET into 50 pages, focusing largely on datasets and how they interact with schemas.

 

Chapter 11 gives a quick intro to ASP.NET, some of the basic Web Controls, and a discussion of the web.config file's most important sections.

 

Chapter 13 has a brief, very basic description of Web Services, SOAP and UDDI.  I'd highly recommend "Professional ASP.NET Web Services" for a thorough, in-depth treatment on the subject.

 

Reviewer:

Lee Carter

Date:

9/18/02