The HyperText Markup Language (HTML) specification is the basis for the Internet revolution and the lingua franca of all major Web browsers. It may eventually be superceded by other specifications, like Extended Markup Language (XML) and XHTML Basic 1.0, which is HTML based on XML. Still, HTML will remain the centerpiece of the Web for many years to come.
The HTML specification is set by the World Wide Web Consortium (W3C). This group also is responsible for related technologies, such as HTTP and XML.
The latest version of HTML provides improved control over text and image layout. In addition, it provides better support for different presentation media, including audio support, allowing Web browsing with the use of such devices as cell phones. HTML interacts with a variety of standards, such as Cascading Style Sheets (CSS) for presentation and the HyperText Transport Protocol (HTTP) for delivery.
HTML is important to embedded systems design because of the plethora of embedded Web servers and the ease with which HTML pages can be designed and delivered. HTML offers a mechanism for showing the status of an embedded device, as well as for providing a basic control interface.
HTML is a subset of the Standard Generalized Markup Language (SGML). It offers a simple way to define presentation information that may be located anywhere on a network and accessed using Universal Resource Identifiers (URIs). Universal Resource Locators (URLs) are a subset of URIs.
A text-based file, HTML is typically generated using HTML editing tools. Text editors can also be employed to edit HTML files. This approach is common for Web servers with a small number of HTML pages, or when resources are restricted, as in embedded systems.
Additionally, HTML files can be generated on demand. The Common Gateway Interface (CGI) is just one Web server-based mechanism for generating HTML files. Arguments are passed to the generating system through an HTML's URL. Long arguments often lead to complex and cryptic URLs.
An HTML document consists of two major sections: the head and the body. The head contains details about the document that include optional metadata describing its contents. This information is useful for Web search robots. The body consists of any number of elements, such as text, (hyper)links, tables, and object references.
Simple HTML document construction is possible using the default style and positioning support of a Web browser. The defaults can be overridden explicitly in the HTML document, or by specifying a style document. The latter is accomplished by implementing CSS. A Web site using a common style-sheet document allows a consistent use of fonts and layout within documents delivered by the Web server.
HTML documents can support multiple media types such as scrollable display devices like PC monitors, paged devices such as printers, and aural devices like telephone-based browsers. Even braille devices can be specified. Furthermore, multiple language support is part of the HTML specification.
Forms provide a basic two-way interface between a Web browser and a server. The limited HTML form system is one reason for the XHTML Basic specification because it's based on XML, which provides a more robust interactive mechanism. Still, the HTML form system supports controls including buttons, check boxes, radio buttons, menus, and text fields that make it suitable for controlling most embedded devices.
Frames and inline frames provide a mechanism for an HTML document to incorporate other HTML documents. A typical embedded scenario using frames delivers content from multiple embedded Web servers in individual frames, with the enclosing HTML document delivered from a master Web server. Together with forms and client-side scripting, you get a flexible interface that requires few resources on the server.
World Wide Web Consortium; +44 (0)1235 445119; www.w3c.org
Cascading Style Sheets 2.0
Files based on the Cascading Style Sheet (CSS) 2.0 specification can be referenced by HTML and XML documents to define user-interface styles, including content positioning, table layout, and the use of downloadable fonts. CSS addresses internationalization as well as different media types. It also provides features that aren't found in CSS 1.0, such as automatic counters and numbering.
Style sheets offer a way to deliver consistent-looking content without using explicit style specifications in each element of a Web document. Style sheets usually define some but not all of the possible style combinations. Multiple style sheets may be used in rendering a Web document with style information being utilized from each sheet. A priority system determines which sheet to use if the same style specification is found in more than one sheet. The high-level priority order starts with the document, user preferences, and the user agent. Style sheets are of great importance to Web designers and managers dealing with larger sites. But they can also help in embedded systems by reducing the size of documents that use a common style sheet on the server.
A style sheet is a text file containing a set of rules. These rules are implemented when rendering HTML and XML documents that reference the style sheet. Style sheets can be referenced implicitly through Web-browser defaults, or explicitly through references within a document.
Rendering a document with style sheets is a six-step process: parsing the document into a document tree, identifying the media type, retrieving referenced style sheets, annotating elements of the document tree based on the style sheets, generating a formatting structure, and finally transforming the structure onto the target medium. Prior to the use of style sheets, the document tree elements were generated based on user-agent (Web-browser) defaults and explicit style information associated with an element.
Style-sheet rules are divided into two types: at-rules and rule sets. An at-rule starts with the at sign (@) character that's immediately followed by an identifier. This is followed by the at-rule definition associated with the identifier.
A rule set, often simply called a rule, begins with one or more identifiers and is followed by a declaration block. Multiple identifiers allow the declaration to apply to a number of styles. For example, the same color can be defined for multiple header styles using a single rule set.
Pattern matching is employed to match rules with styles in a document. Pattern matching serves a number of useful purposes, including the ability to select rules based on the capability of the target media and the preferences of the user. For example, a monochrome display might implement bold or underlining to highlight information versus a color display that uses different colors for highlighting.
The addition of aural support is key to having a Web page that can be presented and navigated using voice output. Using CSS makes it practical on resource-limited systems.
World Wide Web Consortium; +44 (0)1235 445119; www.w3c.org