The Promise of XML

The Internet can be described as a massive system of interconnected computers that send millions of documents every second. These documents could be web pages, e-mail, news postings, advanced information documents, and more. The Internet exists as it does today because of a document format called HTML that offers an easy way to transfer information between computers of all types.

Even though HTML has been so successful, the technology is aging. It does not have the ability to define exactly what type of information is contained in a document. This makes the Internet a very unorganized technology, with billions of virtually undefined documents just waiting for someone to find them, often by chance. With the Internet in an obvious need of a better information infrastructure, a new format called XML has been developed to improve the data definition problems. XML has the potential to change the Internet into a much more efficient medium.

The Origin of the Markup Languages

To understand these document formats, and how they compare, it is useful to understand their relationships. HTML and XML are related formats; in fact, HTML can be defined as a subset of XML. A third format called SGML is a very complex superset of XML, with GML being the predecessor of SGML. GML was the initial format of this family, called the markup languages.

GML is an abbreviation for Generalized Markup Language, and IBM first developed it under the name Text Description Language with the explicit purpose of storing law office documentation. IBM quickly realized how universally useful this format was, and began to test it on other computer applications. However, using different document types on a computer in the early 1970’s was no small task, as computers at that time were very specialized. GML was useful because it was easily portable to different types of computers, rather than building a whole new computer system to use it.

An example of GML is demonstrated here:

.ce
Centered Title
.ll 39
.ss

This is a paragraph that is single spaced with a line length of 39 characters.

A document created as such would then be saved as plain text. A computer reading this document with GML capability would then process the information and display it on the monitor or printer like this:

Centered Title

This is a paragraph that is single
spaced with a line length of 39
characters.

This example has shown how a non-intensive GML document can be created to produce a simple, formatted document, with a title and a defined paragraph. However, GML was also adapted for use with repetitive types of data, such as lists. This application let GML be defined as a raw data storage format, which does not happen again for a markup language until XML is developed.

SGML is the second iteration of the markup language, an it dates back to its conception in 1974 by Charles Goldfarb, a co-developer of GML at IBM. SGML stands for Standard Generalized Markup Language, and it has become an internationally used document standard.

The major goal of SGML was to be useful for electronic manuscripts and documentation. These applications for SGML are still widely used today in a much more advanced state.

Goldfarb wanted SGML to become a standardized format to ensure its usefulness and compatibility between computers:

SGML is designed to make your information last longer than the computer systems that created it. Such longevity also implies immunity to short-term changes – such as a change from one application to another – so SGML is also inherently designed for re-purposing and portability. [. . .] But the real key to SGML’s success – both politically and technically – is the fact that SGML is a bona fide International Standard, not the creation of a dominant vendor or a consortium. I say "politically" because large users feel they can safely invest millions to convert to SGML because the SGML specification is stable and is maintained by a neutral organization.

SGML also introduced a new syntax that was much easier to read, more versatile, and less prone to error when compared to GML. This syntax has also been carried from SGML to HTML and XML. The best way to explain the concept is by comparison:

"This is a statement."

The statement is defined as a quotation because of double-quotes before and after it. You can also notice that there is a difference in the double-quotes, with a beginning and ending type.

Taking this quotation, and putting it in an arbitrary SGML format, it would look like this:

<quotation>This is a statement.</quotation>

There is a beginning and ending of what are called tags, and these tags have replaced the double-quotes. However, the statement is still defined as a quotation because of the tags surrounding it.

There can be multiple tags encapsulating a statement, or any type of marked up data. By doing this, the data can be better defined. For example, if we wanted to define a statement as both a quotation, and referring to Goldfarb, we could do this:

<goldfarb>
    <quotation>This is a statement.</quotation>
</goldfarb>

As shown above, the tags can be placed in any manner, however, it is the sequence of the tags that defines the document. For readability, all marked-up documents should be well organized.

The full SGML specification of today is extremely complex. For example, not only do tags define the data; the tags are also defined by something called a Document Type Definition, or DTD, resulting in a full definition language with specific rules.

Since SGML can be so complex, computer programs have been written to aid in the creation of SGML documents, therefore reducing errors, and increasing production speed dramatically.

The Rise of HTML

With SGML being a very large specification, it is only suitable for industrial and professional applications where data integrity is a priority. With the creation of the Internet, it was obvious that SGML would not be suited for Internet applications, so a new subset language had to be created.

This new specification was called HTML, or HyperText Markup Language, and was first established in 1992. The World Wide Web Consortium, or W3C, was then a newly formed Internet standards organization that developed the HTML specification as a simple language. The HTML tags were predefined by a standard DTD to be used by all HTML documents. The tags that were defined focused mostly on defining such items as titles, paragraphs and their properties, much like the GML example. However, simplified syntax was borrowed from SGML for the use of embedded images and hyperlinks, therefore making it more useful as an Internet medium.

An HTML web page is displayed on a computer using a web browser. The web browser reads HTML sent to the computer across the Internet by a server. A server is a computer that has the task of talking to other computers by sending and receiving data. In order to receive an HTML document, you have to go out and request it by typing in a web address, or clicking on a link in a web page. The two processes are exactly the same type of request, even though they seem very different in their use.

HTML makes creating a basic web page easy because it is such a simple format. However, making a complex web page becomes tedious because not all web browsers read HTML the same, understand all the same tags, and conform to the standards. This is the type of fragmentation that Goldfarb was able to avoid by setting up a strict standards system for SGML. Even though HTML is a standard, intense competition in the Internet software industry have been the cause of fragmentation.

A basic HTML document can be shown by example:

<html>
  
<body>
    
<img src="johnsphoto.jpg"/>
     <b><font color="red">John Doe. </font></b>
     <a href="resume.html">Link to my Resume.</a>
   </body>
</html>

This document would display a photo with a bold, red "John Doe" next to it. Next would be a link to his resume, which is a separate HTML document. Even with a handful of HTML, a web page can be made that proves useful.

The Need for a New Language

A drawback of HTML is that it cannot define the data within it. The tags in HTML do not say anything about the data, therefore making it ambiguous. Searching HTML data can return inaccurate results, resulting in a loss of time by manually sorting data.

This drawback of HTML can be shown by example. For instance, we have an HTML document with some items for sale:

<html>
   <body>
      <p>Red chair for sale, $40.</p>
      <p>Blue table for sale, $60.</p>
   </body>
</html>

Imagine that you are a buyer looking for a red table. In your search, you are going to get the above example document in your search results because it contains both the words "red" and "table". However, this document does not contain a red table for sale, and time was lost looking at this irrelevant page.

What if we could combine the precise data definition of SGML and the Internet capabilities of HTML? Such a language would have likely saved us time in our search for a red table. There is such a language, and it is XML. With XML, it is even possible to tell what is contained in a document without actually looking at the content, just the tags. If we rewrite the above example in XML, we could have something like this:

<?xml version="1.0"?>
  <sale>
    <red>
      <chair>Red chair for sale, $40.</chair>
    </red>
    <blue>
      <table>Blue table for sale, $60.</table>
    </blue>
  </sale>

The sole <table> tag is defined inside of <blue>, therefore defining that table as blue. There is not a <table> tag inside of <red>, but if the seller had another table that was red, it would go there.

Since there is not an item defined as a red table, we would not get this document in our search results, therefore saving time. For applications like this, the benefits of XML can be seen in making the Internet more useful and reliable.

The Rise of XML

XML is the newest markup language, with the final specification released by the W3C in February of 1998. XML is short for Extensible Markup Language, and extensible implies that the language can be used for many different types of format applications without breaking the specification. Another advantage of XML is the addition of Unicode, an encoding standard for international characters. With this new support, XML will be able to proliferate into environments where western characters are not used.

Since the primary application of XML is the Internet, it is quickly being adopted. With Internet documents constantly being updated and upgraded, changing to XML data is just another upgrade. Areas like e-commerce and news have benefited the most so far, with other sectors making plans to move to XML.

With lessons learned from HTML, the primary specification for XML is strict, similar to the SGML specification. However, XML is also extensible enough that organizations can differentiate their XML implementations without breaking the specification. It is also mandatory that XML applications do not accept incorrect XML data, in contrast to web browsers accepting any HTML code given to it.

XML also makes the gathering of data from different locations possible, and combining that data into one useable document. This data can even be processed to arrange it in a particular order, and much more.

For example, there could be a website has the capability to get prices from several different online stores. The data could be sorted from lowest to highest price, list shipping information, retailer information, and even retailer ratings from a third party website. Such a page would easily let you make the best choice on where to purchase the product, while saving a significant amount of time.

Netscape Communications has been using XML for its Channel Definition format, which is used mostly for news listings on its user page called Netcenter. Netcenter allows users to customize their page by checking off news websites that interest them. Their Netcenter page will then be updated with news feeds coming in from all the websites that were checked off. This saves time because it is no longer necessary to go to the several websites to get the same news items that are on the customized Netcenter page.

The Netscape Netcenter website is possible because news sites produce an XML file containing their news in the Netscape Channel Definition format, which is just an XML sub-specification. The Netscape servers then retrieve the XML file and process it. When a user requests the Netcenter page, all of the XML information is put together and sent to back to the user’s web browser as an HTML web page. Netscape’s servers that handle this process have to be very fast because of the complex data retrieval and manipulation that occurs, combined with the fact that users do not like to wait.

The example of the Netscape Netcenter shows the current drawback of XML, servers have to process the XML and turn it into HTML for users to be able to get the data through their web browsers. However, this can be considered temporary because of changes coming in the consumer software industry.

New XML Implementations

Web browsers are beginning to support the reading of XML files directly, allowing the bypass of complex server operations like Netscape’s. When an XML-compliant web browser reads an XML file, it can work with the data directly instead of relying on a server to translate it. By doing this, the user can manipulate the XML data, and reloading the page is not necessary to see the changes.

An example of this would be viewing a large inventory list. Once loaded, you would be able to search and sort the whole file all you want without having to reload anything from the Internet.

Many other benefits can come out of reading XML files directly, such as advanced linking options, better integration of a website’s design and its content, integrated data from other websites similar to Netcenter, and much more. An XML web page has the potential to be much more informative, easier to use, better looking, faster loading, and less error prone than a comparable HTML page.

When will users be able to regularly start using XML directly on the Internet? Today, the web browser Microsoft Internet Explorer supports XML, but in a manner that is not compatible with all the standards. This will be fixed in 2000 with an upcoming version. A new Netscape Communicator will be released in 2000 with full XML support and standards compliance. Users will really start benefiting from XML directly when they upgrade their browsers, and web designers are ready to support XML pages.

Businesses will also benefit from XML increasingly with the release of the new web browsers. They are likely to start switching their internal information to XML format to be used across their computer networks. By retooling their websites to use XML, they will present more useful and informative information in a better format, therefore improving customer relations.

XML Industry Sub-Standards in Development

XML is not only going to improve basic website information, but it is also being adapted for alternative uses. When XML was created, it was intended that the language would be useful in areas where a markup language has never been used before. By using XML sub-specifications, data that previously had no relation to the Internet could be easily shared by people all around the world.

A drawback of current sub-specification models is that different businesses and consortiums propose them, and as a result, there is competition. However, many of these models have such similar designs, that it is likely that some will be merged, or at the very least, be interoperable using software that supports the different sub-specifications.

XSL, or Extensible Style Language, is a sub-specification currently in approval by the W3C. The purpose of XSL is that it would be used in conjunction with XML web pages, and provides a styling mechanism for those pages. XSL is aiming to replace Cascading Style Sheets, also called CSS, which is a non-XML format. However, there is debate on whether XSL is necessary, especially since current standards use CSS. For example, Microsoft has been adopting XSL into its Internet Explorer product, even before the specification has been set. Yet, Netscape’s upcoming Communicator products will be 100% compliant of current specifications, and not support XSL. Until XSL matures, it is likely that CSS will still be used by most websites, since it provides the highest level of compatibility.

The XML-based User Interface Language, or XUL (pronounced "Zuul"), is an implementation of XML used for the graphical components of a computer program. A GUI is most everything you see on modern computer screens, such as buttons, tabs, menus, sliders, windows, file listings, and more. The significance of XUL is that it allows rapid GUI development and a high level of customization possibility.

XUL was developed by Netscape Communications, and will be used throughout their upcoming Communicator product. With the entire GUI of Communicator written in XUL, it can actually become part of the web browsing experience. One possible implementation would be that Internet service providers could modify the Communicator GUI to integrate with their services to a great extent, and add their logo and themes to the product.

Websites could also dynamically modify the XUL GUI as you browse, offering a more integrated experience. An example could be a website map temporarily displayed in tabbed-window as part of the web browser.

It is impossible to tell if others in the software industry will adopt XUL, as it is only a specification currently in use by Netscape and affiliates. However, XUL is a very good example of XML being used beyond an Internet web page.

One of the most frustrating parts of the Internet experience is the ubiquitous ad banners. They are usually advertising a product or service that you would have no interest in, therefore it is a worthless ad, and the user has lost time waiting for the ad to load along with the web page.

The Ad Markup Language offers a new way to exchange advertising information among advertisers, website publishers, and users. Using AML, ad data can be easily exchanged among these groups, resulting in better ad targeting based on user interest from certain types of web sites. These improvements increase both advertisers’ ad value, and users’ Internet experience. Ideally for users, ads would not exist, but better ad targeting might decrease the need for high ad volume in an attempt to reach interested customers. Advertisers would be comfortable in paying a higher price for fewer ads if they know that targeted customers are viewing the ads.

For storing advertising data, a computer system might use Extensible Log Format. XLF is a sub-specification for logging data created by computers. Instead of computers outputting undefined and overwhelmingly long data files, XLF log would be able to be "mined", as some in the computer industry call it, for meaningful data that can be reprocessed.

A possible use would be for web server logs of visiting users. A web server can find out much about a user, such as their Internet service provider (which can translate to location), computer type, what website they came from, and much more. Using this data, it could be processed, with the useful information being outputted as AML, and used for advertising information.

An important aspect of any XML sub-specification is that by using computers to do low intensity sorting and translating of XML, we can easily use the output for other purposes. In fact, there is a proposed extension of XSL call XSLT that would be used as a reference for such translations. Using XUL, any of this data could be used in a computer program, and be embedded inside of menus, windows, listings and more, creating a useful application in understanding a problem, or realizing a goal. With the relationships between types of XML explained, it is more obvious on how they can be applied by using computers to sort out the data and put it in a visual format that is useful to people.

There also exists XML that is able to control these XML-sorting applications and it is called Resource Description Framework. RDF is a way for XML data to be used for automated processing of web resources. RDF can be more simply described as instructions and rules for computer applications that process any sort of XML data. With a boom in the volume of XML data likely, RDF will play a big role in allowing computers to manage that data effectively.

For managing commerce, there is FinXML, a standard developed to exchange data between capitol markets. The advantage of FinXML is that it allows complex financial transactions to be made using computers in confidence. E-commerce is the primary application of this language, and allows direct communication between financial institutions, vendors, and consumers.

The FinXML language has tags defined for different types of transactions, such as; basic financial transactions, reference data, market data, payments, settlements and confirmations. FinXML also supports a wide variety of financial products including interest rate, foreign exchange, bonds, money markets, loans, deposits, and trading futures.

Consumers may see service fees drop over time for financial transactions if FinXML, or some alternative is adopted. In addition to lower costs, a higher level of financial options may be offered, such as highly customized investments and loans.

Institutions may have better access to data exchanges, with transactions possible between two previously incompatible entities. In addition, FinXML is compatible with outside industry standards, which also support e-commerce. With broader money markets, FinXML could make the world economy much more efficient, and using Unicode, offers understandable XML data to non-western countries.

For sensitive information like commerce, there is an XML format called P3P, which is short for Platform for Privacy Preference Project. It enables Web sites to express their privacy practices in a standard format that can be retrieved automatically and interpreted easily by users’ web browsers. P3P compatible software will allow users to be informed of site practices and to transparently adhere to these practices, so users need not read the privacy policies at every site they visit.

The goal of P3P is to provide greater security when transferring sensitive information, and setting rules on what kind of information can be transferred between a web browser and a server.

For displaying complex mathematical and scientific expressions: MathML was created, and is currently in its second iteration. Previously, math expressions have been created using graphics, but MathML makes the process much easier.

One implementation of MathML is in Netscape’s upcoming Communicator product, allowing MathML to be embedded into web pages. Another goal of the product is to offer MathML expression editing in Communicator’s web page composer.

Other possible implementations are computer algebra systems, print typesetters, and voice synthesizers making Math data available to the blind. Also, plug-ins and enhancements are being developed to let existing web browsers view MathML.

Here is a simple algebra expression:

x2 + 4x + 4 = 0

This expression in MathML would be written like this:

<mrow>
   <mrow>
      <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo>
      <mrow>
        <mn>4</mn> <mo>&invisibletimes;</mo> <mi>x</mi>
      </mrow>
     <mo>+</mo> <mn>4</mn>
   </mrow>
   <mo>=</mo> <mn>0</mn>
</mrow>

As you can see, MathML is not easy to follow, however, MathML is intended for an editing program, therefore making the creation process much easier.

For medical institutions, there is an XML sub-specification called the Patient Record Architecture, or PRA, is a proposed method of allowing easy clinical document transactions over the Internet.

XML use for medical applications has not been standardized, but a coming standard is predictable, and it may well be the PRA. A consortium has been formed to discuss a specification with the goal of allowing the transfer of complex medical documentation over the Internet. A standard would allow hospitals, doctors, pharmacies, and others universal access to the documentation.

However, a difficult part of the process will be setting security standards for institutions sending and receiving documents, and security features could possibly be integrated into the language itself. Another option may be some form of P3P.

Setting a standard for XML data exchange may be easy for many industries, but external factors can hold back progress, as evidenced by requirements of the medical community.

However, once a standard is set and adopted, it can offer benefits to patients, such as better care with fewer mistakes, and could even save lives in emergency situations, because of quick document access over the Internet.

Moving from saving lives to researching the past, there is GedML, a specification intended for genealogy research on the Internet. Genealogy has grown very popular among retired Internet users. Currently, genealogy research on the Internet involves a lot of searching and contacting people through e-mail. People can compare their known family history with other people, and find out if they are related in some manner.

An example of a GedML snippet is shown here:

   <INDI ID="I01"> <NAME>Michael Howard <S>KING</S></NAME>
<SEX>M</SEX>
<EVEN EV='BIRT'>
   <DATE>11 May 1953</DATE>
   <PLAC>Hannover, Germany</PLAC>
</EVEN>
<WIFE REF="I02"/>
<FAMS REF="F1"/>
   </INDI>

Most of this code is self-explanatory, except for the last two tags with the "ref" attribute. These are pointers to a family or person they are related to in some way that are also in that file. A computer program then reading this file could then assemble a family tree or outline of relationships.

Computer programs have also been developed to translate existing Genealogy data into GedML. It is likely that GedML will be supported in XML web browsers, at least as outlines, with plug-ins offering more advanced features, such as family tree diagrams. With these options, GedML may make online genealogy less painstaking.

Another data type that can be time-consuming to sort through is classified ads. Referring to the red table example, we have seen how XML can improve search results. The Newspaper Association of America is proposing Classified Ads Format to be used by newspapers for posting on their websites. The format would include tags to identify the basic data for each type of ad. The automobile data, for example, might include make, model, year, price, ZIP code and contact phone number. Eventually, the group wants the format to be used for printing, porting ads across publishing platforms, and making classified ads on the Internet much more accessible.

The Real Estate industry can also benefit from XML. A proposed standard is Real Estate Listing Markup Language, or just RELML. Great benefits can be imagined for a buyer looking for the ideal purchase, especially when compared with the red table example.

Definitions have been established for commercial, vacant land, working land, and residential listings, with subsets for each sector. With real estate poised to benefit highly from the Internet, RELML will save users time in sorting through listings.

Real Estate firms should also befit from an organized XML data structure, allowing listings to go directly to either the Internet, or to print without translation, similar to the Classified Ads Format.

Upcoming XML content, such as real estate, will make heavy use of graphical information. More interesting is the fact that the graphics themselves can also be XML data, which is read by a web browser, or other software, and interpreted into an image.

By doing this, loading a graphics intensive page can become much swifter, yet still be more interactive. However, photographs and other detailed imaging would not be able to be saved as XML, as the best way to describe them is still native computer format.

Precision Graphics Markup Language is the XML equal of Adobe’s PostScript format. Adobe is a leader in the software industry when it comes to computer graphic applications, and Postscript is often used for complex, graphics intensive documents. In fact, the PGML specification is being developed by Adobe, and they are developing the language so Postscript documents can be easily translated into PGML. "We think this is totally valid, as Adobe has more graphics expertise than any other company," says said Jon Ferraiolo, a senior computer scientist at Adobe.

In fact, PGML goes beyond Postscript in some areas by offering new features, such as transparency, integration with web server functions, and animation.

To draw a green rectangle, just one PGML tag is needed:

<rectangle fillcolor="green"
 x="100" y="100" width="500" height="500"/>

X and Y are coordinates are for the rectangles placement in the document, which can also have a defined size. Grouping is allowed for applying effects to several objects at the same time. Elements can be overlapped and color effects can be applied to make complex images using a small amount of PGML.

Vector Markup Language is very similar to PGML, but it is intended to better integrate with existing standards such as HTML and other XML applications. VML uses Cascading Style Sheets to describe how an object looks, and how it is positioned.

VML is more visibly supported by the W3C, but if Adobe chooses to integrate PGML into its widely used graphics programs, it will have a vehicle for the proliferation of PGML into a wide market.

Also relating to graphics is the Synchronized Multimedia Integration Language, or SMIL. It allows independent multimedia objects to be synchronized into a presentation. The use of SMIL can vary from a simple slide-show to a complex layout of video, graphics, web page objects, sound, and more.

One example of how SMIL could be used would be Internet broadcast news reports. Imagine that while you were viewing the broadcast, you could interact with on-screen objects to get optional information. The simplest form of this would be a link to a web page, using a graphic that is part of the presentation.

The ultimate goal of many people working with the W3C on SMIL would be to totally integrate television and Internet content. A television would also be a web browser, allowing a person to interact with the SMIL content. Also, the same exact information could be seen on both televisions and computers.

XHTML allows all types of XML data to be integrated into an HTML document. XHTML is a sub-specification of XML, and it shows how the lines between the XML types begin to blur even more.

One way to imagine XHTML is by taking a plain XML document and using an HTML DTD to define the HTML tags. Then add any other DTDs for the other integrated XML content. The advantage to XHTML is that it allows for easy creation of a simple stylized XML document without using CSS or XSL. It could even be possible to use all three style-elements to create a web page, but it would not be recommended because of complexity issues.

GML was the last markup language to be identified as an acceptable way to store raw data before XML. With the rise of e-commerce and XML, creating databases using XML seemed natural since alternatives offer a much more complex process to get information returned to users.

With XML database processing to become even simpler with the growth of XML-aware web browsers, using other forms of storing data for Internet use will likely fade away in many situations. However, XML databases tend to be relatively simple, so advances may need to be made to the language to support highly complex data.

There are even more XML implementations being developed that may stand out from the others, offer new advantages, and transparently change the Internet. Yet, the only way for innovators to succeed is to get the specification published, let others analyze it for benefits, and compare it to the alternatives. For industry insiders, it will be interesting to watch XML blossom, and observe who has the most success with the language.

The XML Language and Tomorrow

Even though the base XML specification is well defined, we have found that sub-specifications tend to blur together and be ambiguous. This was the intention of XML, to allow different data types to be brought together under a single, common language.

XML aims to make the Internet much more efficient, and has the potential to impact everyone’s life positively in many ways. Even with so much potential, an average person may never notice XML, as it works in the background to make data communication easier.

However, the speed of XML adoption depends on the software industry in creating and marketing XML-compatible programs to users and businesses. Already, this is starting to happen with the dominant web browsers offering support in 2000, and top business software also beginning to support XML in limited forms.

With the millions of HTML documents being sent every second across the Internet, the value of those might pale in comparison to XML documents of the same sort. Only time will tell if XML can change the Internet into a model of efficiency.

 

Bibliography

St. Lauret and Cerami. Building XML Applications. McGraw-Hill. 1999

Leventhal, Lewis, Fuchs. Designing XML Applications. Prentice Hall. 1998

E-Classified Standard Coming Online. Newspaper Association of America. 1998

<http://www.naa.org/technews/tn980506/p21onlin.htm>

Extensible Log Format (XLF) Initiative Base. Don Park - XLF Initiative Organizer

<http://www.docuverse.com/xlf/>

GedML: Genealogical Data in XML. Michael H. Kay. 16 February 1999

<http://home.iclweb.com/icl2/mhkay/gedml.html>

Introduction to XUL. The Mozilla Organization. 1998-1999

<http://www.mozilla.org/xpfe/xptoolkit/xulintro.html>

DeRose. The SGML FAQ Handbook. Kluwer Academic Publishers. 1997

Vector Markup Language. Seybold Publications and O'Reilly & Associates, Inc. 1998-1999

<http://xml.com/xml/pub/r/VML>

W3C Math Home Page. W3C. 26 October 1999

<http://www.w3.org/Math/>


Eric Murphy
eric@targetpc.com
99/12/14

Discuss this Review
Print this Review