This will not be a comprehensive guide for XML ... but I will probably put a complete tutorial later on the web site. This introduction will introduce students on what XML is and how to do simple XML application. Since XML is changing all the time, there is no end to the learning of it ... (Aug 23, 1999)
XML is eXtensible Markup Language
XML is in the process of turning the Web into the world's commerical and finanical hub
XML and HTML are similar because both are based on SGML which is the International Standard for structured information
XML allow "data" to say what the data means ... and this smart data (meta data) is powering the electronic commerce revolution
XML buzz includes "web business transaction", "open financil exchange", and "open trading protocol"
There are three parts in a document:
Data content - the words/content of the document
Structure - the document type and the organization of its elements (ordered by rules). Rules on what kind of elements it can contain and in what order they can occur
Presentation - the way the information is presented to the reader, on a piece of paper, a browser screen or via MPEG, etc. Also, what kind of fonts and effects are used, etc
XML preserve the meaning of data. These meta data can be used to allow computers to be more intelligent about what they do with our data
Compare HTML with XML documents
HTML:
<h1>Invoice</h1> <p>From: Richard Sinn <p>To: Robert Liu <p>Item: Tekken 3 <p>Description: Playstation Game <p>Amount: $30.00XML:
<!-- XML doc --> <Invoice> <From>Richard Sinn</From> <to>Robert Liu</to> <item type='Playstation' >Tekken 3</item> <Amount currency = 'US'>30.00</Amount> </Invoice>In different fields, people use different standard of XML grammer.
XML thus provides a standard approach for describing, capturing, processing and publishing information
XML does not have fixed tag (compared with HTML), it provides a standardized framework with which to define your own, or to use those defined by others that best fit your needs
Short Name | Full Name | Description |
DTD | Document Type Definitions | A set of rules (element types) serves to define types of documents. (E.g. CDF DTD, OTP DTD, MML DTD, etc) |
XSL | XML Style Language | It is used to capture details ab0out how the various elements in a document should look and then to store them in a separate document (XSL). So, the main document contains data + meaning but not formatting. (Other e.g. Cascading Style Sheets (CCS) for HTML) |
XLL | eXtensible Link Language | XML does not predefine any elements, so it uses XLL to define hyperlinks ... XLL captures hypertext information to this subsidiary standard |
By keeping meta data information (meaning of data), you can achieve the following:
Big users of XML:
- Microsoft
- Netscape
- Sun Microsystems
- Adobe
- IBM
- Corel
- Hewlett-Packard
Big XML applications:
- Online Banking
- Push Technology
- Web Automation
- Database Publishing
- Software Distribution
Push Technology with Microsoft Active Channels
Pull Publishing:
Customer request a piece of information
Information source provides the info
Customer request another piece
Information source provides another piece of info ...
Push Publishing:
Customer subscribes to information source
Information source send out info to customer (according to preference ... once a day, etc)
To achieve push technology, we need an open data representation
And XML comes in handy
Browse will follow CDF (Channel Definition Format) standard to allow users to browse/subscribe to interesting channels
A document likes like the following will be sent:
<CHANNEL> <TITLE>OpenLoop News Channel</TITLE> <LOGO HERF = "www.openloop.com/logo.gif"/> <ABSTRACT>Software Engineering News</ABSTRACT> <SCHEDULE> <INTERVALTIME DAY = "1"/> </SCHEDULE> </CHANNEL>
Logic Flows:
Web Browsers subscribe to Web Site with Channels
Channel site send back CDF file with Channel Content
Web Browsers check for "changes"
Changed Content send back from Channel Site to Browser
...
Online Banking
We need an interchange data representation for financial data
Users want to purchase goods anywhere on the web with funds drawn from institutions anywhere on the web ... how does the bank talk to the vendors and to the customers ?
Use XML !
A statement request might looks as follows:
<StatementRequest> <BankAccount> <BankID>1234567</BankID> <AccountID>9999</AccountID> <AccountType>CHECKING</AccountType> </BankAccount> </StatementRequest>
The standard used is called OFX (Open Financial Exchange) specification developed by Microsoft, Intuit, and Checkfree (Used in Microsoft Money)