Professional in C# and Visual Basic Part 59. Building on the revolutionary release, adds several key new developer features including AJAX, LINQ, and a new CSS designer in Visual Web Developer 2008. The dramatic reduction in code that developers realized from the more than 50 new server controls in now allows developers the time to make their applications more interactive with AJAX, to work with data in their preferred language with LINQ, and to build visually attractive and consistent standards-based sites with CSS. . | Chapter 10 Working with XML and LINQ to XML Figure 10-6 There is no end to the number of places you can find and use XML files databases Web sites and services. Sometimes you will want to manipulate the XML via queries or programmatically and sometimes you will want to take the XML tree and transform it into a tree of a different form. XSLT XSLT is a tree transformation language also written in XML syntax. It s a strange hybrid of a declarative and a programmatic language and some programmers would argue that it s not a language at all. Others who use a number of XSLT scripting extensions would argue that it is a very powerful language. Regardless of the controversy XSLT transformations are very useful for changing the structure of XML files quickly and easily often using a very declarative syntax. 537 Chapter 10 Working with XML and LINQ to XML The best way to familiarize yourself with XSLT is to look at an example. Remember that the file used in this chapter is a list of books and their authors. The XSLT in Listing 10-18 takes that document and transforms it into a document that is a list of authors. Listing 10-18 XSLT xml version encoding utf-8 xsl stylesheet xmlns xsl http 1999 XSL Transform version xsl template match xsl element name Authors xsl apply-templates select book xsl element xsl template xsl template match book xsl element name Author xsl value-of select author first-name xsl text xsl text xsl value-of select author last-name xsl element xsl template xsl stylesheet Remember that XSLT is XML vocabulary in its own right so it makes sense that it has its own namespace and namespace prefix. XSLT is typically structured with a series of templates that match elements in the source document. The XSLT document doesn t describe what the result looks like as much as it declares what steps must occur for the transformation to succeed. Remembering that your goal is an XML file with a list of authors you match on the root .