Preface

These are the major topics which you will become familiar with.

XML

IE5

VB

ASP

Other

Why XML?

Imagine a world where computer programs can talk to each other and discover new sources of information, and use them almost immediately.

XML can usher in a world where developers living many years apart can build programs which can exchange data between themselves.æ In this world a user can ask a program for information from new sources which have become available, on the Internet for example.

There will be companies which are ?data brokers? because all they do is provide repackaged data from websites and databases all over the world.æ Your programs will be able to understand, categorize and use that data correctly and quickly.

Does your company create programs which have many different data files?æ Do you have data storage files like Microsoft Word uses a .doc file and email systems use .pst files?æ If you are a part of a development team which defines these, listen up!

What if you defined all your data in XML and then used a formatting stylesheet (such as XSL) to display the same XML data file in different ways.æ Do you see the benefit?æ If you do it right, you could have one file showing up as a document in an editor, but also showing up as an email or even as a table in a database.

Currently we know of several companies who are designing what could be called an xGUI, or an eXtensible Graphical User Interface.æ This is where the boundaries of XML and applications will begin to blur and true document centricity will become the norm.æ Without ever leaving your current document, you can edit it in several different programs ? because underneath it all is XML with different stylesheets being applied.

And this book can show you how to get started on building that future.

These are only some of the promises of XML [Extensible Markup Language].æ As HTML [HyperText Markup Language] is a markup language which tells a web browser how to display your HTML web page, XML is a markup language which provides structure for your information.

XML can be considered a simplified dialect of SGML [Structured Generalized Markup Language].

For example let's say that you were looking for a list of all software developers who can program in Visual Basic.æ One of the options you have is to index all the relevant web pages on the Internet.æ But how do you tell if the page is listing Visual Basic programs, Visual Basic programmers, Visual Basic discussion groups or Visual Basic development companies?æ Sure, you could write an application which uses algorithms and dictionaries to try to work it out based on the context, but wouldn't it be easier if the website (or even an application!) had a way of explaining its content to your program?

Have you used a search engine and found exactly what you want the first time you asked?æ If you used a search engine to search for the resumes of all Visual Basic programmers, for example, you will get over 100,000 hits and only a few thousand would be appropriate.æ And of those few thousand hits, only a few would actually be resumes, the rest being a statement such as "email me for my resume".

We are sure search engine developers would like to see Web sites categorize themselves.æ If there was a way in which Web sites could list their content and context, your program would be massively simplified and search engines would become far more accurate.

In the broader XML scheme of things, this is the promise being made ? that XML and its derivatives will be capable of describing Metadata (complex information and relationships) in a way which is consistent and machine readable.

It is being designed in a discussion between the major interested groups and individuals at the W3C [World Wide Web Consortium].

XML enables data sharing

Let?s imagine we have a company ?News R Us? which provides news information around the world.æ This company would most likely have hundreds of thousands of customers which consume a wide variety of outputs.

Most of these consumers of information would have different needs.æ They require the information in different formats, at different times. In fact let?s add a mainframe application and UNIX programs to that mix as consumers of the news information feed.æ

We can also imagine News R Us providing the feed to their customers via a web page and also as a feed over the Internet from the business objects.

XML is an ideal data format for this type of complex situation.æ XML is not vendor-specific and doesn?t require you to have a particular operating system or hardware.æ It is only a text file.

Each of the programs distributed across the world via the Internet would not usually be able to exchange data as there may be no consistent data exchange mechanism, but with web servers on each of these systems, data can be exchanged using the HTTP protocol.æ Later in this book, we will discover how to open connections between web servers and programs.

Let?s progress our example a bit and assume that several news organizations exchange information and the consumers of the news feeds, once they have added information to it (or marked it up), send the ?enriched? data around again.

So, imagine several different businesses communicating and exchanging data between their systems.æ The types of data could financial, data, price lists or anything!æ The exchange of information could be visually shown like this:

 

XML enables direct exchange of information

But as in most systems, the trouble comes when the data file changes over time.æ As a developer you may be able to remember when your program crashed or displayed error messages.æ When you looked for the reason, you eventually found the text file your customer/colleague/etc... had given you had changed in a minute (or major!) way.æ A few spaces here, another column there or perhaps a whole new category of information.

With XML, that is not a problem.

Each of the participating systems can exchange news clippings or even billing information, provided they can understand the format of the XML document they are receiving.æ That way if the document grows, changes or evolves (as long as the format structure of the document is updated) you are safe.

So, XML has a document to do that as well!æ The computer programs which are exchanging data can each access the structure information.æ If the structure of the data and the structure listed in the document are both changed simultaneously, then no errors should occur (of course this depends on the developers having designed a flexible solution).

For more information on a News exchange format:æ http://www.xmlnews.org/