Introduction

Of all the software technologies that have come and gone in the relatively short time since we all plugged in to the Web, few have been as far-reaching yet misunderstood as XML. Even with its catchy name that conjures up images of extreme sports, the true nature of XML continues to elude many technical people. The reason has to do with the fact that XML is very much a behind-the-scenes technology that helps to ensure that data is structured in an orderly fashion. There are very few situations where an end-user can see XML at work in a practical application. In this way, XML is a lot like residential building codes. When a house is built, thousands of building codes are used to guide contractors so that the house goes up safe and sound. As a homeowner, it’s difficult to look at a finished house and grasp how all these building codes impacted the wood, shingles, and brick that you can see and feel. The building codes are abstract in a sense that you can’t touch them, but they play a critical role in the construction process all the same. XML plays a similar role in software, including web sites, operating systems, and distributed applications.

I often hear people describe XML as “the new HTML,” which sounds good but is not very accurate. XML, unlike HTML, is an extremely broad data-structuring standard that has implications far beyond web pages. For example, consider this question: HTML is to web pages as XML is to what? This is a difficult question to answer because XML isn’t really geared toward any one solution. Instead, XML provides the framework for creating customized solutions to a wide range of problems. This is made possible through XML-based markup languages, which are custom markup languages that you create using XML. If you want to chart the statistics of your child’s baseball team, you could create your own Little League Markup Language, or LLML, which includes custom tags and attributes for keeping up with important stats such as hits, runs, errors, and parental outbursts. The high degree of structure in your Little League data would allow it to be easily sorted, manipulated, and displayed according to your needs; the data would have the mathematical flexibility of a spreadsheet along with the visual accessibility of a web page. XML makes all this possible.

Maybe you have bigger plans for your XML knowledge than just tracking stats for a Little League team. If so, you’ll be glad to know that XML is the enabling technology behind all kinds of interesting software applications. Practically all of the big Internet players have invested heavily in XML. As an example, Amazon.com uses XML to expose its product data so that developers can build custom shopping applications. Another interesting application of XML that has caused quite a stir recently is Google Maps, which is Google’s innovative online mapping application. Google Maps relies on XML for map data. In fact, in Hour 15 of this book, “Using XML to Hack Google Maps,” you learn how to “hack” Google Maps to use your own XML-based maps. One last example of how XML may have sneakily entered your life already is iTunes, Apple’s incredibly popular online music store. iTunes uses XML to store information about your music library locally on your computer. With a little bit of effort, you can access your iTunes music library via XML and view or manipulate it any way you choose. This task is covered in Hour 13, “Access Your iTunes Music Library via XML.”

XML is worth learning because it is an excellent back-end technology for storing and sharing data in a highly structured manner. Another reason for learning XML has to do much more directly with the web: XML is very much shaping the future of HTML. As you may know, HTML is somewhat unstructured in the sense that web developers take great liberties with how they use HTML code. Although this isn’t entirely HTML’s fault, HTML shares a considerable amount of the blame because it doesn’t have the structured set of rules that are part of XML. In an attempt to add structure and consistency to the Web, a reformulated version of HTML known as XHTML was created that adds the structure of XML to HTML. It may still be quite a while before XHTML fully unseats HTML, but web developers are busy making the move to a more structured Web thanks to XHTML.

This book, in many ways, is a testament to the fact that XML is a technology for both the present and the future. The majority of the book focuses on XML in the present and how it can be used to do interesting things today. My goal was to strike a careful balance between giving you practical knowledge for the present along with some foreshadowing of what might lie ahead for XML.

How This Book Is Structured

As the title suggests, this book is organized into 24 lessons that are intended to take about an hour each to digest. Don’t worry, there are no penalties if you take more than an hour to finish a given lesson, and there are no special prizes if you speed through them faster! The hours themselves are grouped together into five parts, each of which tackles a different facet of XML:

  • Part I, “XML Essentials”—In this part, you get to know the XML language and what it has to offer in terms of structuring data. You also learn how to create XML documents.

  • Part II, “Defining XML Data”—In this part, you will find out how to define the structure of XML documents using schemas. You learn about the two major types of schemas (DTDs and XSDs), as well as how to use namespaces and how to validate XML documents. You even learn about a real XML language, SVG, along with how to use it to create vector graphics for the web.

  • Part III, “Formatting and Displaying XML Documents”—In this part, you will learn how to format XML content with style sheets so that it can be displayed. XML formatting is explored using several different style sheet technologies—CSS, XSLT, and XSL-FO. This part of the book also guides you through some interesting practical applications, including how to access your iTunes music library using XML and how to create your own XML-based maps for Google Maps.

  • Part IV, “Processing and Managing XML Data”—In this part, you will find out how to process XML documents and manipulate their contents using the Document Object Model (DOM), which provides access to the inner workings of XML documents. You will also learn about SAX, which is a popular programming interface used to access XML documents. Databases are also tackled, including how to access data from a database via XML. And finally, this part of the book shows you how to use XML to mine Google for information.

  • Part V, “XML’s Impact on HTML”—In this part, you will explore XML’s relationship to HTML and the Web. You will learn about XHTML, which is the merger of XML and HTML, along with advanced XML linking technologies. You will also learn how XML is being used to provide a means of creating web pages for wireless devices via a language called WML, as well as how to syndicate the web using RSS news feeds.

What You’ll Need

This book assumes you have some familiarity with a markup language, such as HTML. You don’t have to be an HTML guru by any means, but it definitely helps if you understand the difference between a tag and an attribute. Even if you don’t, you should be able to tackle XML without too much trouble. It will also help if you have experience using a web browser. Even though there are aspects of XML that reach beyond the web, this book focuses a great deal on using web browsers to view and test XML code. For this reason, I encourage you to download and install the latest release of a major web browser such as Internet Explorer, Mozilla Firefox, Opera, or Safari.

In addition to web browsers, there are a few other tools mentioned throughout the book that you may consider downloading or purchasing based upon your individual needs. At the very least, you’ll need a good text editor to edit XML documents. Windows Notepad is sufficient if you’re working in a Windows environment, and I’m sure you can find a suitable equivalent for other environments. If you want to check into a more full-featured XML editor, it certainly won’t hurt you. I mention several editors to consider in Hour 2 of the book, “Creating XML Documents.” That’s really all you need; a web browser and a trusty editor will carry you a long way toward becoming proficient in XML.

How to Use This Book

In code listings, line numbers have been added for reference purposes. These line numbers aren’t part of the code. The code used in this book is also on this book’s web site at http://www.samspublishing.com.

This book uses different typefaces to differentiate between code and regular English. Text that you type and text that appears on your screen is presented in monospace type.

It will look like this to mimic the way text looks on your screen.

Placeholders for variables and expressions appear in monospace italic font. You should replace the placeholder with the specific value it represents.

In addition, the following elements appear throughout the book:

By the Way

Notes provide you with comments and asides about the topic at hand.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.138.202