1.1 Introduction

The world of XML is one that, to those who are unfamiliar with XML, may seem like an unexplored phenomenon. What is XML? Is it a programming language? Is it a data structure? Is it a web markup language? You will find as you learn XML that it is none of these things, all of these things, and more besides that.

One thing for sure is that XML is definitely important. Google, Inc. has launched dozens of new sites within the past few years running new applications. If you are reading this, the odds are good that at least once you have used one of these new services from Google. At the heart of Google Maps, one of the better known tools, lies an XML database which delivers map data to the user in real-time. These tools function as well as executable applications running on one's PC, directly from the web. Some call this movement toward a more powerful web is referred to as Web 2.0, and XML is a huge part of this movement.

Microsoft has also taken note of this change, as has Yahoo. Both have announced new online applications that use XML to be released shortly, so they may compete with Google. Also, after a five-year hiatus, Microsoft is finally updating its Internet Explorer browser to version 7 to include the clamored-for XML feature, RSS syndication. RSS syndication is one of the factors that led to a 25% decline in market share for the Internet Explorer browser in favor of RSS capable competing browsers, such as Mozilla Firefox.

As XML becomes more important to companies, developers who are familiar with XML have become in higher demand. Although there may always be a place somewhere for those who know how to program mainframes and work in DOS, there is a bold progression being made towards the free, standardized, and infinitely expandable format known as Extensible Markup Language. (This is the correct capitalization, but often users will emphasize the aptness of the acronym XML by capitalizing it as eXtensible Markup Language.)

This book will focus on the XML applications which these companies will want most. It would be physically impossible for a one-volume book to cover every use of XML in the world, even without accounting for the research involved. An important thing to note is that for every public format of XML that exists in the industry, there may be several more private or "system" formats that are used in a specific application.

1.2 About the format of this book

As you must have noticed by now, (unless someone has reproduced this book without my permission,) this entire book is available for free online at http://xmlbook.info. There are many reasons behind this. First of all, the information in this book is formatted to be used in the technology setting of today, and I know that technology can change dramatically over just a couple of years. By the time this book was published, it would be obsolete. Second, today's student pays an exorbitant price for textbooks, particularly textbooks for computer science and programming language reference. If I were to publish this book in print, for the sake of convenience to those who prefer a hard copy, it would have to be done without diminishing the free online version of the book. Third, internet access is very convenient and an online book can never be lost or stolen from a student. Finally, thanks to the versatile Word document format (hey, even today, there are some things XML does not do right 100% of the time), I have posted a version of this book that can be printed out. Please direct any comments about the book, or about this book's format, to me at <XML-Host-51 .at. xmlbook.info>.