HyperText Markup Language

A Language for Transmission of Global Hyperdocuments.


The World Wide Web project involves the processing of structured hypertext documents by diverse systems around the globe. The hypertext documents are represented as marked up text.


The HyperText Markup Language is defined in terms of the ISO 8879:1986, Standard Generalized Markup Language (SGML). The SGML declaration and document type definition specify the syntax and structure of HTML.

Implementors' Guide

This is intended as an introduction to the language and a guide to implementors. It does not comprise an integral part of the HTML specification.


Text and Markup is an introduction to SGML text and markup as it applies to HTML. It should prepare you to read the DTD.

HTML by Example

The following sections describe the HyperText Markup language by example. They are organized in order of complexity, both for the human reader and the SGML processing application.

Examples of how to write HTML that won't stress the processing software. Some things can't be done this way.
Examples of all the constructs necessary to produce HTML documents.
Examples of illegal constructs that are supported for historical reasons.
Some quirks; these are legal SGML, but they are likely to break existing implementations (including the sample).
These are just plain broken. Implementors should use these to bullet-proof their code.

A Partial Implementation

The libHTML software distribution provides the primitive SGML reading functions that you can use to build a conforming implementation.

This software is written in ANSI C (with some accomodataions for K&R compilers). It supports the lexical constructs demonstrated in HTML Extremes.