XML IE5 is a Programmer's Reference book published by Wrox. The author Alex Homer has written a very compact but detailed book on XML and XML support in Internet Explorer 5, covering XML, XSL and the XML Document Object Model.
The book contains eight chapters and a further seven appendices. As is normal with reference books, there is plenty of information covered in the appendices, including references on ADO Recordsets, CSS Properties, XSL and XML Behaviors.
The first chapter "What is XML?", describes XML from a high level view point. It covers XML, its components and its future, by describing SGML and DTD's, the differences between XML syntax and HTML syntax, explaining element nesting, closing tags (although it doesn't mention the pros and cons of using <HR></HR> or <HR /> - although this is briefly discussed late in chapter 7), single tag elements, double quoting properties and case sensitivity. The chapter then goes on to explain why you might want to use XML, and the future of XML. The chapter covers in some detail the actual support of XML in Internet Explorer 5, showing some examples that can be used in IE5 now - all of which are available from the books online support site - which can be downloaded or used online. The chapter rounds off by describing how XML support fits into the big picture: universal data formats and XML-based applications using the complete range: server side, network and client side XML.
"Creating XML Documents" - chapter 2 - discusses how XML fits into other related technologies (DTD, XML Schema and Data Types, XSL, XQL and CSS, XLink and XPointer, XML Data Exchange and Storage), how XML can be "well-formed" and "valid", and how XML documents are built up (using elements, elements attributes and data structures). The chapter also discusses XML Namespaces (fully supported in IE5), and details how to to create and use DTDs, the syntax, the different elements, suffix characters (+, *, ? and |), the different character data types (#PCDATA and CDATA), the different entity types, how to use Notations and Processing Instructions. This compact chapter succinctly describes the foundations of XML. If you know XML then you could skip this chapter, otherwise its a good beginner level entry into the basics of XML.
The third chapter "XML Schemas, Links and Pointers" covers Internet Explorers "Technology Preview", i.e. due to the recommendations not being issued by W3C prior to IE5 being released, how Microsoft interprets the planned implementation of Schemas, XLink and XPointer - none of which have been released by W3C at the time of writing this book review. This is one reason why any book on the subject of XML will be "unfinished" until the full set of recommendations have been released by W3C - until that time this book covers what is currently available in IE5. This chapter does point out where IE5's implementation of the XML Schemas technology differs from the W3C proposed recommendation (but not which version.) Although "at the moment, IE5 offers no support for XLink and Xpointer", a discussion of this yet to emerge technology is included in this chapter.
At this point, the one minor criticism of the book should be mentioned - which is also aimed at other similar internet technology oriented books - the lack of declaration of which standards, recommendations, references that the book has been written to in an easily accessible list. The only clue is the publishing date: 1999, but even that offers limited information. Which month of 1999, January, December? It would be hard for anyone browsing potential book purchases, to compare like with like.
The book does quote the following references in ad hoc locations:
Chapter four "Using XML in HTML Documents" gets down to details with remote data access, data source objects, data binding and client-side scripting, the first three of which are propriety Microsoft extensions to the browser, and unlikely to be support by any other browser vendor. This is where care must be taken by developers when making use of such propriety extensions, otherwise web sites may become navigable by only the latest version of IE. However, this chapter may be one of the reasons why you might buy this book: to understand how IE5 can be used to work with XML beyond the basic XML recommendation from W3C. Remote Data Access, introduced in IE4, is enhanced in IE5, and the chapter discusses how to make use the Microsoft Java XML Data Source Object (DSO) which can be downloaded separately from IE5 (from Microsoft's web site) to create "Data Islands" within a HTML document. The chapter describes how to make use of DSO record sets to filter and sort XML data and how to use table data binding events and scripting to dynamically manipulate XML data on the client browser.
Chapter five "The XML Document Object Model" covers the XML Document Object Model supported in IE5. This chapter (unlike the Document Object Model chapter in the other Wrox title "IE5 Dynamic HTML" goes into some detail on how to manipulate an XML document, including some sample applications (available online) to manipulate XML data. In my opinion this is one of the most important chapters of the whole book. It describes what can be done now in IE5 using XML and the client browser, without resorting to any propriety technologies. Extensions to the DOM are present in IE5, however, these are poorly identified by the author - careful reading is recommended. The extensive tables of information could perhaps have been improved by a column to indicate propriety IE5 extension - as done in the extensive Appendix A "IE5 XML Document Object Model". Despite this, the chapter offers a lot of information to those new to the XML DOM. The only thing missing is a description of how to detect whether the browser has support for the XML DOM, so as to avoid your scripts choking on other browsers.
Chapter six "Using the Document Object Model", unlike chapter five, shows more practical uses of manipulating XML using the DOM, in the words of the author: 'However, reading lists of properties and methods can be tiresome, and often doesn't provide that, "Oh, now I get it..." factor that comes from seeing the code at work.' Well this chapter provides the ability to "get it" - showing several examples that find values of elements, parse a document using recursion, iterating the attribute list, adding line indents to output, a tool to list XML document node properties and a tool to edit XML document content. If at the end of this chapter you still cannot "get it" - give up, as XML is surely not for you.
Chapter seven "Using CSS and XLS with XML" makes no reference to the current Style Sheets with XML from W3C but only to the working draft, therefore one must assume that IE5 and this chapter were written before the current recommendation were released by W3C. Therefore both must be based on Microsoft's understanding of the direction that XSL was likely to take back when Microsoft were coding IE5. That said, the chapter covers the CSS and XSL differences, an introduction to XSL, creating and using XSL style sheets, and XQL. The section on CSS offers nothing new to people familiar with CSS. Adding CSS style to XML is intuitive, i.e. if you create your own tags in XML, then expect style to be added to them as if they were normal HTML tags. This chapter discusses applying XSL templates and patterns to XML documents, describes IE5's XLS path operators and filer operations, discusses the different XSL elements, how XML can be used to create nodes in the output, and how XSL can can be used to transform XML into XML! Also discussed is W3C's proposals on XML Query Language (XQL), which is already supported in IE5 using
Chapter eight "IE5 Default and Custom Behaviors", describes what behaviors (DHTML Behaviors, HTML Components, HTC) are, the different types and how they are used, describing custom and default behaviors. This chapter has many examples which are available online for you to use and copy, although there isn't much in the way of XML and Behaviors. This chapter seems to have just been tacked onto the end of book about XML, without much thought about how to use it with XML.
The book also includes the following appendices:
All in all a good book on XML support in IE5 - information possibly not available from any other source. If you have internet access then download the online material to work with alongside the book. If you don't have online access then the value of the book will be reduced slightly, as you'll not be able to appreciate the examples throughout the book.