Highlights of Emerging and Established Web Technologies
You're probably familiar with the Hypertext Markup Language (HTML) standards created by the World Wide Web Consortium. These standards allow you to create Web sites with a rich mix of text, graphics, and multimedia using a set of elements and entities as defined in HTML standards--HTML 2.0 1, HTML 3.2 2, and HTML 4.01 3.
While these HTML standards have remained the core language for Web implementation for years, related technologies have been developed. The purpose of this article is to highlight emerging and established technologies that Web implementors might use in conjunction with HTML pages to create Web content.
The Extensible HyperText Markup Language (XHTML) represents most current W3C recommendation for hyptertext implementation 4. XHTML merges the Extensible Markup Language (XML) technology with the HTML 4 standard to create a very flexible language that sets the framework for future Web page development. XML is a subset of Standard Generalized Markup Language (SGML), a language used to define markup languages (one such language defined by SGML is HTML). XHML is HTML expressed using XML. The old HTML standards will still work in Web browsers, but Web developers can use the new XHTML standard to write Web pages that can integrate well with other technologies defined by XML.
Cascading Style Sheets (CSS) were first introduced by the World Wide Web Consortium in 1996 5. CSS has been standardized to level 2 6 and CSS Level 3 is in development 7. Style sheets make it possible for you to specify the look and layout of your Web documents in one place, rather than using elements such as FONT in your HTML file itself But the just as the "X" idea was added to HTML, so too can the idea of extensibility be applied to style sheets. Extensible Stylesheet Language (XSL) is a language different from CSS, but sharing the same concept of working with the look and layout of a document. XSL has been developed to address the needs of large and complex publishing efforts and tasks. XSL 1.0 has been completed as a working draft 8.
Associated with XLS is a language called XSL Transformations (XSLT). XSLT is a language for transforming XML documents into other XML documents. XSLT has been defined as a recommendation 9. Another language, XML Path Language (XPath), can also be used with XSL to access particular parts of an XML document. XPath has also been defined as a recommendation 10. With XSL and related technologies, Web implementors can have a powerful way to manipulate large and complex documents published on the Web.
In 1993, the HTML FORM element was introduced into practice, allowing Web developers to create forms with a range of functionality for checkboxes, text fill-ins, selectors, and buttons. The FORM element has been standardized in HTML 2.0, 3.2, and 4.01. Efforts are now underway at the W3C to improve on the FORM element for richer functionality 11. The goal is to create the capability to have forms available by a wide range of devices--from handheld devices, to television, and of course desktop Web browsers. The standards for these forms are being developed now. XForms will integrate with XHTML as well as XSL.
Scalable Vector Graphics (SVG) is a language, currently in draft form, for expressing graphics in two-dimensions 12. For example the graphics might be a square, lines, or a complex technical chart. With SVG, you can describe vector graphics (graphics consisting of lines and curves), images, and text. SVG will allow you to make many transformations on these graphics, and SVG will be compatible with XML.
The ideal behind Synchronized Multimedia Language (SMIL, pronounced "smile") is to allow developers to create multimedia presentations to be delivered over the Web. SMIL gives authors a way to integrate streaming audio, video, text, images, or other media types into a document. SMIL has been specified as a working draft 13.
The Document Object Model (DOM) is a standard 14 for representing the structure of a document. Programmers can use the DOM to add, delete, and change parts of a document. This makes it possible to write content to be delivered on the Web that can adapt itself to any browser or platform. The DOM provides a framework for scripts to access the content, structure, or style of a document, or to perform some processing and incorporate the results back into the document.
While HTML in the latter part of the 20th century was hailed widely as a wonderful way to share information, mathematicians were shocked to discover that HTML gave no support for the symbols and formulas that make up a mathematicians' work. Mathematicians by the 1980's had a highly developed markup language called TeX (and a related language called LaTeX) that gave them everything they needed to markup the most complex mathematical formulas for computer display or printing. It has only been recently that mathematics truly has been recognized as an important part of markup languages for the Web with the MathML standard 15.
Certainly, the Java programming language introduced by Sun Microsystems 16 in 1995 has developed into a standard for interactive content on the Web. Although today's use of Java still seems to lag behind its potential, Web developers should understand Java as a principal language for use with Web content. Java is an object-oriented programming language, not a markup language like XHTML. Therefore developers should have a solid foundation in software engineering as well as object-oriented design techniques before embarking on a Java project. Java's benefit--"write once, run anywhere" still holds the promise for Java applications running on a wide range of devices, not just desktop computers.
The Virtual Reality Modeling Language (VRML) gives Web developers a way to integrate three-dimensional representations of worlds into Web pages. VRML was set as a standard in 1997 17 and today is used for a wide variety of tasks including scientific visualization, advertising, and entertainment 18.
Implications for Web developers
If this alphabet soup of new, emerging, and sometimes quite complex technologies confuses you--don't worry. Web developers can safely implement HTML pages with older technologies and still be assured that even the most modern Web browser displays the information. In fact, those who use advanced technologies should be cautious so that people using older Web browsers can view their content.
For specialist Web sites, XFORMS or MathML might be an immediate requirement. Similarly, the emerging technologies, particularly XSL, DOM and SVG, should catch the attention of specialist Web implementors involved with complex, graphics-intensive, or interactive publishing tasks.
Web developers can view all Web technologies in terms of appropriate use. When the Web was new (early 1990's), it seems that everyone could be a "renaissance person" and know everything about the Web-- HTML, technical standards, applications--and be an expert. Today, Web implementation itself is a specialty, and there are subspecialities within Web implementation focusing on markup, graphics, multimedia, and interactive content.
If you have no need for advanced forms or dynamic content, your organization might adopt the policy of using HTML 3.2 or HTML 4.01 as a standard for now, and sticking with that until a need arises for using advanced technologies. You can keep alert to new developments in these areas, explore your needs, and soberly wait until final standards have been set and good tools and practices emerge before investing too many resources.
- Berners-Lee, T. and D. Connolly, November 1995, "Hypertext Markup Language - 2.0," http://www.ietf.org/rfc/rfc1866.txt
- World Wide Web Consortium Technical Report, W3C Recommendation 14 January 1997, "HTML 3.2 Reference Specification," http://www.w3.org/TR/REC-html32
- World Wide Web Consortium Technical Report, W3C Recommendation 24 December 1999, "HTML 4.01 Specification," http://www.w3.org/TR/html401/
- World Wide Web Consortium Technical Report, W3C Recommendation 26 January 2000, "XHTML 1.0: The Extensible HyperText Markup Language," http://www.w3.org/TR/xhtml1/
- World Wide Web Consortium Technical Report, W3C Recommendation 17 Dec 1996, "Cascading Style Sheets, level 1," http://www.w3.org/TR/REC-CSS1
- World Wide Web Consortium Technical Report, W3C Recommendation 12 May 1998, "Cascading Style Sheets, level 2 CSS2 Specification," http://www.w3.org/TR/REC-CSS2
- World Wide Web Consortium Technical Report, W3C Working Draft 14 April 2000, "CSS3 introduction W3C Working Draft," http://www.w3.org/TR/css3-roadmap
- World Wide Web Consortium Technical Report, W3C Working Draft 27 March 2000, "Extensible Stylesheet Language (XSL) Version 1.0," http://www.w3.org/TR/2000/WD-xsl-20000327
- World Wide Web Consortium Technical Report W3C Recommendation 16 November 1999, "XSL Transformations (XSLT) Version 1.0," http://www.w3.org/TR/xsl
- World Wide Web Consortium Technical Report W3C Recommendation 16 November 1999, "XML Path Language (XPath) Version 1.0," http://www.w3.org/TR/xpath
- World Wide Web Consortium Technical Report W3C Working Draft 06 April 2000, "XForms 1.0: Data Model," http://www.w3.org/TR/xforms-datamodel
- World Wide Web Consortium Technical Report W3C Working Draft 03 March 2000, "Scalable Vector Graphics (SVG) 1.0 Specification," http://www.w3.org/TR/SVG
- World Wide Web Consortium Technical Report W3C Working Draft 25 February 2000 "Synchronized Multimedia Integration Language (SMIL) Boston Specification," http://www.w3.org/TR/smil-boston
- World Wide Web Consortium Technical Report W3C Candidate Recommendation 10 May 2000, "Document Object Model (DOM) Level 2 Specification Version 1.0," http://www.w3.org/TR/DOM-Level-2
- World Wide Web Consortium Technical Report W3C Recommendation, revision of 7 July 1999, "Mathematical Markup Language (MathML) 1.01 Specification," http://www.w3.org/TR/REC-MathML
- Sun Microsystems, "The Source for Java [TM] Technology," http://java.sun.com
- VRML Consortium Incorporated, "The Virtual Reality Modeling Language International Standard ISO/IEC 14772-1:1997," http://www.web3d.org/Specifications/VRML97
- Web3D Consortium, http://www.vrml.org