Sunteți pe pagina 1din 44

A history of HTML

Included in this chapter is information on:


O How the World Wide Web began
O %he events and circumstances that led to the World Wide Web's current
popularity
O How H% has grown Irom its conception in the early 1990s
$ummary
H% has had a liIe-span oI roughly seven years. During that time, it has evolved Irom a simple
language with a small number oI tags to a complex system oI mark-up, enabling authors to create
all-singing-and-dancing Web pages complete with animated images, sound and all manner oI
gimmicks. %his chapter tells you something about the Web's early days, H%, and about the
people, companies and organizations who contributed to H%, H% 2, H% 3.2 and
Iinally, H% 4.
%his chapter is a short history oI H%. Its aim is to give readers some idea oI how
the H% we use today was developed Irom the prototype written by %im Berners-
ee in 1992. %he story is interesting - not least because H% has been through an
extremely bumpy ride on the road to standardization, with soItware engineers,
academics and browser companies haggling about the language like so many
inisters oI Parliament debating in the House oI Commons.
1989: Tim Berners-Lee invents the Web with HTML as its publishing language
%he World Wide Web began liIe in the place where you would least expect it: at
CERN, the European aboratory Ior Particle Physics in Geneva, Switzerland. CERN
is a meeting place Ior physicists Irom all over the world, where highly abstract and
conceptual thinkers engage in the contemplation oI complex atomic phenomena that
occur on a minuscule scale in time and space. %his is a surprising place indeed Ior the
beginnings oI a technology which would, eventually, deliver everything Irom tourist
inIormation, online shopping and advertisements, Iinancial data, weather Iorecasts and
much more to your personal computer.
%im Berners-ee is the inventor oI the Web. In 1989, %im was working in a
computing services section oI CERN when he came up with the concept; at the time
he had no idea that it would be implemented on such an enormous scale. Particle
physics research oIten involves collaboration among institutes Irom all over the world.
%im had the idea oI enabling researchers Irom remote sites in the world to organize
and pool together inIormation. But Iar Irom simply making available a large number
oI research documents as Iiles that could be downloaded to individual computers, he
suggested that you could actually link the text in the Iiles themselves.
In other words, there could be cross-reIerences Irom one research paper to another.
%his would mean that while reading one research paper, you could quickly display
part oI another paper that holds directly relevant text or diagrams. Documentation oI a
scientiIic and mathematical nature would thus be represented as a `web' oI
inIormation held in electronic Iorm on computers across the world. %his, %im thought,
could be done by using some Iorm oI hypertext, some way oI linking documents
together by using buttons on the screen, which you simply clicked on to jump Irom
one paper to another. BeIore coming to CERN, %im had already worked on document
production and text processing, and had developed his Iirst hypertext system,
`Enquire', in 1980 Ior his own personal use.
%im's prototype Web browser on the NeX% computer came out in 1990.
Through 1990: The time was ripe for Tim's invention
%he Iact that the Web was invented in the early 1990s was no coincidence.
Developments in communications technology during that time meant that, sooner or
later, something like the Web was bound to happen. For a start, hypertext was coming
into vogue and being used on computers. Also, Internet users were gaining in the
number oI users on the system: there was an increasing audience Ior distributed
inIormation. ast, but not least, the new domain name system had made it much easier
to address a machine on the Internet.
Hypertext
lthough already established as a concept by academics as early as the 1940s, it was
with the advent oI the personal computer that hypertext came out oI the cupboard. In
the late 1980s, Bill Atkinson, an exceptionally giIted programmer working Ior Apple
Computer Inc., came up with an application called ypercard Ior the acintosh.
Hypercard enabled you to construct a series oI on-screen `Iiling cards' that contained
textual and graphical inIormation. Users could navigate these by pressing on-screen
buttons, taking themselves on a tour oI the inIormation in the process.
Hypercard set the scene Ior more applications based on the Iiling card idea. %oolbook
Ior the PC was used in the early 1990s Ior constructing hypertext training courses that
had `pages' with buttons which could go Iorward or backward or jump to a new topic.
Behind the scenes, buttons would initiate little programs called scripts. %hese scripts
would control which page would be presented next; they could even run a small piece
oI animation on the screen. %he application entitled Guide was a similar application
Ior UNIX and the PC.
Hypercard and its imitators caught the popular imagination. However, these packages
still had one major limitation: hypertext jumps could only be made to Iiles on the
same computer. Jumps made to computers on the other side oI the world were still out
oI the question. Nobody yet had implemented a system involving hypertext links on a
global scale.
The domain name system
By the middle 1980s, the Internet had a new, easy-to-use system Ior naming
computers. %his involved using the idea oI the domain name. A domain name
comprises a series oI letters separated by dots, Ior example: `www.bo.com' or
`www.erb.org.uk'. %hese names are the easy-to-use alternative to the much less
manageable and cumbersome IP address numbers.
A program called Distributed Name Service (DNS) maps domain names onto IP
addresses, keeping the IP addresses `hidden'. DNS was an absolute breakthrough in
making the Internet accessible to those who were not computer nerds. As a result oI
its introduction, email addresses became simpler. Previous to DNS, email addresses
had all sorts oI hideous codes such as exclamation marks, percent signs and other
extraneous inIormation to speciIy the route to the other machine.
Choosing the right approach to create a global hypertext system
%o %im Berners-ee, global hypertext links seemed Ieasible, but it was a matter oI
Iinding the correct approach to implementing them. Using an existing hypertext
package might seem an attractive proposition, but this was impractical Ior a number oI
reasons. %o start with, any hypertext tool to be used worldwide would have to take
into account that many types oI computers existed that were linked to the Internet:
Personal Computers, acintoshes, UNIX machines and simple terminals. Also, many
desktop publishing methods were in vogue: SG, InterleaI, a%ex, icrosoIt Word,
and %roII among many others. Commercial hypertext packages were computer-
speciIic and could not easily take text Irom other sources; besides, they were Iar too
complicated and involved tedious compiling oI text into internal Iormats to create the
Iinal hypertext system.
What was needed was something very simple, at least in the beginning. %im
demonstrated a basic, but attractive way oI publishing text by developing some
soItware himselI, and also his own simple protocol - H%%P - Ior retrieving other
documents' text via hypertext links. %im's own protocol, H%%P, stands Ior Hyper%ext
%ransIer Protocol. %he text Iormat Ior H%%P was named H%, Ior Hyper%ext
ark-up anguage; %im's hypertext implementation was demonstrated on a NeX%
workstation, which provided many oI the tools he needed to develop his Iirst
prototype. By keeping things very simple, %im encouraged others to build upon his
ideas and to design Iurther soItware Ior displaying H%, and Ior setting up their
own H% documents ready Ior access.
Tim bases his HTML on an existing internationally agreed upon method of text
mark-up
%he H% that %im invented was strongly based on SG (Standard Generalized
ark-up anguage), an internationally agreed upon method Ior marking up text into
structural units such as paragraphs, headings, list items and so on. SG could be
implemented on any machine. %he idea was that the language was independent oI the
Iormatter (the browser or other viewing soItware) which actually displayed the text on
the screen. %he use oI pairs oI tags such as <TITLE and</TITLE is taken directly Irom
SG, which does exactly the same. %he SG elements used in %im's H%
included P (paragraph); H1 through H6 (heading level 1 through heading level
6); JL (ordered lists); UL (unordered lists); LI (list items) and various others. What
SG does not include, oI course, are hypertext links: the idea oI using the anchor
element with the HREF attribute was purely %im's invention, as was the now-Iamous
`www.name.name' Iormat Ior addressing machines on the Web.
Basing H% on SG was a brilliant idea: other people would have invented their
own language Irom scratch but this might have been much less reliable, as well as less
acceptable to the rest oI the Internet community. Certainly the simplicity oI H%,
and the use oI the anchor element A Ior creating hypertext links, was what made %im's
invention so useIul.
$eptember 1991: Open discussion about HTML across the Internet begins
Far Irom keeping his ideas private, %im made every attempt to discuss them openly
online across the Internet. Coming Irom a research background, this was quite a
natural thing to do. In September 1991, the WWW-talk mailing list was started, a kind
oI electronic discussion group in which enthusiasts could exchange ideas and gossip.
By 1992, a handIul oI other academics and computer researchers were showing
interest. Dave Raggett Irom Hewlett-Packard's abs in Bristol, England, was one oI
these early enthusiasts, and, Iollowing electronic discussion, Dave visited %im in
1992.
Here, in %im's tiny room in the bowels oI the sprawling buildings oI CERN, the two
engineers Iurther considered how H% might be taken Irom its current beginnings
and shaped into something more appropriate Ior mass consumption. %rying to
anticipate the kind oI Ieatures that users really would like, Dave looked through
magazines, newspapers and other printed media to get an idea oI what sort oI H%
Ieatures would be important when that same inIormation was published online. Upon
return to England, Dave sat down at his keyboard and resolutely composed H%, a
richer version oI the original H%.
Late 1992: NC$A is intrigued by the idea of the Web
eanwhile on the other side oI the world, %im's ideas had caught the eye oI Joseph
Hardin and Dave %hompson, both oI the National Center Ior Supercomputer
Applications, a research institute at the University oI Illinois at Champaign-Urbana.
%hey managed to connect to the computer at CERN and download copies oI two Iree
Web browsers. Realizing the importance oI what they saw, NCSA decided to develop
a browser oI their own to be called 48aic. Among the programmers in the NCSA
team were arc Andreessen - who later made his millions by selling Web products -
and the brilliant programmer Eric Bina - who also became rich, courtesy oI the Web.
Eric Bina was a kind oI soItware genius who reputedly could stay up three nights in
succession, typing in a reverie oI hacking at his computer.
ecember 1992: Marc Andreessen makes a brief appearance on WWW- talk
Early Web enthusiasts exchanged ideas and gossip over an electronic discussion
group called WWW-talk. %his was where Dave Raggett, %im Berners-ee, Dan
Connolly and others debated how images (photographs, diagrams, illustrations and so
on) should be inserted into H% documents. Not everyone agreed upon the way that
the relevant tag should be implemented, or even what that tag should be called.
Suddenly, arc Andreessen appeared on WWW-talk and, without Iurther to-do,
introduced an idea Ior the IMG tag by the osaic team.
It was quite plain that the others were not altogether keen on the design oI IMG, but
Andreessen was not easily redirected. %he IMG tag was implemented in the Iorm
suggested by the osaic team on its browser and remains to this day Iirmly implanted
in H%. %his was much to the chagrin oI supporters back in academia who invented
several alternatives to IMG in the years to come. Now, with the coming oI H% 4,
the JBJECT tag potentially replaces IMG, but this is, oI course, some years later.
March 1993: Lou Montulli releases the Lynx browser version 2.0a
ou ontulli was one oI the Iirst people to write a text-based browser, ynx. %he
ynx browser was a text-based browser Ior terminals and Ior computers that used
DOS without Windows. ou ontulli was later recruited to work with Netscape
Communications Corp., but nonetheless remained partially loyal to the idea oI
developing H% as an open standard, proving a real asset to the H% working
group and the H% Editorial Board in years to come. ou's enthusiasm Ior good,
expensive wine, and his knowledge oI excellent restaurants in the Silicon Valley area
were to make the standardization oI H% a much more pleasurable process.
Early 1993: ave Raggett begins to write his own browser
While Eric Bina and the NCSA osaic gang were hard at it hacking through the
night, Dave Raggett oI Hewlett-Packard abs in Bristol was working part-time on his
Arena browser, on which he hoped to demonstrate all sorts oI newly invented Ieatures
Ior H%.
April 1993: The Mosaic browser is released
In April 1993, version 1 oI the osaic browser was released Ior Sun icrosystems
Inc.'s workstation, a computer used in soItware development running the UNIX
operating system. osaic extended the Ieatures speciIied by %im Berners-ee; Ior
example, it added images, nested lists and Iill-out Iorms. Academics and soItware
engineers later would argue that many oI these extensions were very much ad hoc and
not properly designed.
Late 1993: Large companies underestimate the importance of the Web
Dave Raggett's work on the Arena browser was slow because he had to develop much
oI it single-handedly: no money was available to pay Ior a team oI developers. %his
was because Hewlett-Packard, in common with many other large computer
companies, was quite unconvinced that the Internet would be a success; indeed, the
need Ior a global hypertext system simply passed them by. For many large
corporations, the question oI whether or not any money could be made Irom the Web
was unclear Irom the outset.
%here was also a misconception that the Internet was mostly Ior academics. In some
companies, senior management was assured that the telephone companies would
provide the technology Ior global communications oI this sort, anyway. %he result
was that individuals working in research labs in the commercial sector were unable to
devote much time to Web development. %his was a bitter disappointment to some
researchers, who grateIully would have committed nearly every waking moment
toward shaping what they envisioned would be the communications system oI the
Iuture.
Dave Raggett, realizing that there were not enough working hours leIt Ior him to
succeed at what he Ielt was an immensely important task, continued writing his
browser at home. %here he would sit at a large computer that occupied a Iair portion
oI the dining room table, sharing its slightly sticky surIace with paper, crayons, ego
bricks and bits oI halI-eaten cookies leIt by the children. Dave also used the browser
to show text Ilow around images, Iorms and other aspects oI H% at the First
WWW ConIerence in Geneva in 1994. %he Arena browser was later used Ior
development work at CERN.
May 1994: NC$A assigns commercial rights for Mosaic browser to $pyglass, Inc.
In ay 1994, Spyglass, Inc. signed a multi-million dollar licensing agreement with
NCSA to distribute a commercially enhanced version oI osaic. In August oI that
same year, the University oI Illinois at Champaign-Urbana, the home oI NCSA,
assigned all Iuture commercial rights Ior NCSA osaic to Spyglass.
May 1994: The first World Wide Web conference is held in Geneva, with
HTML+ on show
Although arc Andreessen and Jim Clark had commercial interests in mind, the rest
oI the World Wide Web community had quite a diIIerent attitude: they saw
themselves as joint creators oI a wonderIul new technology, which certainly would
beneIit the world. %hey were jiggling with excitement. Even quiet and retiring
academics became animated in discussion, and many seemed evangelical about their
new-Iound god oI the Web.
At the Iirst World Wide Web conIerence organized by CERN in ay 1994, all was
merry with 380 attendees - who mostly were Irom Europe but also included many
Irom the United States. You might have thought that arc Andreessen, Jim Clark and
Eric Bina surely would be there, but they were not. For the most part, participants
were Irom the academic community, Irom institutions such as the World
eteorological Organization, the International Center Ior %heoretical Physics, the
University oI Iceland and so on. ater conIerences had much more oI a commercial
Ieel, but this one was Ior technical enthusiasts who instinctively knew that this was
the start oI something big.

At the World Wide Web conIerence in Geneva. eIt to right: Joseph Hardin Irom NCSA, Robert
Cailliau Irom CERN, %im Berners-ee Irom CERN and Dan Connolly (oI H% 2 Iame) then
working Ior Hal soItware.
During the course oI that week, awards were presented Ior notable achievements on
the Web; these awards were given to arc Andreessen, ou ontulli, Eric Bina, Rob
Hartill and Kevin Hughes. Dan Connolly, who proceeded to deIine H% 2, gave a
slide presentation entitled 3ter4perability. Why Every43e Wi38, which explained why
it was important that the Web operated with a proper H% speciIication. Strange to
think that at least three oI the people who received awards at the conIerence were later
to Ily in the Iace oI Dan's idea that adopting a cross-company uniIorm standard Ior
H% was essential.
Dave Raggett had been working on some new H% ideas, which he called H%.
At the conIerence it was agreed that the work on H% should be carried Iorward to
lead to the development oI an H% 3 standard. Dave Raggett, together with CERN,
developed Arena Iurther as a prooI-oI-concept browser Ior this work. Using Arena,
Dave Raggett, Henrik Frystyk Nielsen, Hkon ie and others demonstrated text Ilow
around a Iigure with captions, resizable tables, image backgrounds, math and other
Ieatures.

A panel discussion at the Geneva conIerence. Kevin Altis Irom Intel, Dave Raggett Irom HP
abs, Rick `Channing' Rodgers Irom the National ibrary oI edicine.
%he conIerence ended with a glorious evening cruise on board a paddle steamer
around ake Geneva with W4lfga3g a3d the Werew4lve8 providing Jazz
accompaniment.
$eptember 1994: The Internet Engineering Task Force (IETF) sets up an HTML
working group
In early 1994, an Internet Engineering %ask Force working group was set up to deal
with H%.
he Internet Engineering %ask Force is the international standards and development
body oI the Internet and is a large, open community oI network designers, operators,
vendors and researchers concerned with the evolution and smooth operation oI the
Internet architecture. %he technical work oI the IE%F is done in working groups,
which are organized by topic into several areas; Ior example, security, network
routing, and applications. %he IE%F is, in general, part oI a culture that sees the
Internet as belonging to %he People. %his was even more so in the early days oI the
Web.
he Ieelings oI the good `ole days oI early Web development are captured in the
song, %he Net Flag, which can be Iound `somewhere on the Internet'. %he Iirst verse
runs as Iollows:
%he pe4ple8 web i8 deepe8t red,
A3d 4ft it8 killed 4:r r4:ter8 dead.
B:t ere the b:g8 grew te3 day8 4ld,
%he patche8 fixed the br4ke3 c4de.
Ch4r:8.
S4 rai8e the 4pe3 8ta3dard high
Withi3 it8 c4de8 well live 4r die
%h4:gh c4ward8 fli3ch a3d Bill Gate8 83eer8
Well keep the 3et flag flyi3g here.
In keeping with normal IE%F practices, the H% working group was open to anyone
in the engineering community: any interested computer scientist could potentially
become a member and, once on its mailing list, could take part in email debate. %he
H% working group met approximately three times a year, during which time they
would enjoy a good haggle about H% Ieatures present and Iuture, be pleasantly
suIIused with coIIee and beer, striding about plush hotel lobbies sporting pony tails,
%-shirts and jeans without the slightest care.
uly 1994: HTML specification for HTML 2 is released
During 1993 and early 1994, lots oI browsers had added their own bits to H%; the
language was becoming ill-deIined. In an eIIort to make sense oI the chaos, Dan
Connolly and colleagues collected all the H% tags that were widely used and
collated them into a draIt document that deIined the breadth oI what %im Berners-ee
called H% 2. %he draIt was then circulated through the Internet community Ior
comment. With the patience oI a saint, Dan took into account numerous suggestions
Irom H% enthusiasts Iar and wide, ensuring that all would be happy with the
eventual H% 2 deIinition. He also wrote a Document %ype DeIinition Ior H%
2, a kind oI mathematically precise description oI the language.
November 1994: Netscape is formed
During 1993, arc Andreessen apparently Ielt increasingly irritated at simply
being 43 the osaic project rather than in charge oI it. Upon graduating, he decided to
leave NCSA and head Ior CaliIornia where he met Jim Clark, who was already well
known in Silicon Valley and who had money to invest. %ogether they Iormed osaic
Communications, which then became Netscape Communications Corp. in November,
1994. What they planned to do was create and market their very own browser.
%he browser they designed was immensely successIul - so much so in Iact, that Ior
some time to come, many users would mistakenly think that Netscape invented the
Web. Netscape did its best to make sure that even those who were relying on a low-
bandwidth connection - that is, even those who only had a modem-link Irom a home
personal computer - were able to access the Web eIIectively. %his was greatly to the
company's credit.
Following a predictable path, Netscape began inventing its own H% tags as it
pleased without Iirst openly discussing them with the Web community. Netscape
rarely made an appearance at the big International WWW conIerences, but it seemed
to be driving the H% standard. It was a curious situation, and one that the inner
core oI the H% community Ielt they must redress.
Late 1994: The World Wide Web Consortium forms
%he World Wide Web Consortium was Iormed in late 1994 to IulIill the potential oI
the Web through the development oI open standards. %hey had a strong interest in
H%. Just as an orchestra insists on the best musicians, so the consortium recruited
many oI the best-known names in the Web community. Headed up by %im Berners-
ee, here are just some oI the players in the band today (1997):

embers oI the World Wide Web Consortium at the I% site. From leIt to right are Henrick
Frystyk Neilsen, Anselm Baird-Smith, Jay Sekora, Rohit Khare, Dan Connolly, Jim Gettys, %im
Berners-ee, Susan Hardy, Jim iller, Dave Raggett, %om Greene, Arthur Secret, Karen
acArthur.
O Dave Raggett on H%; Irom the United Kingdom.
O Arnaud le Hors on H%; Irom France.
O Dan Connolly on H%; Irom the United States.
O Henrik Frystyk Nielsen on H%%P and on enabling the Web to go Iaster; Irom
Denmark.
O Hkon ie on style sheets; Irom Norway. He is located in France, working at
INRIA.
O Bert Bos on style sheets and layout; Irom the Netherlands.
O Jim iller on investigating technologies that could be used in rating the content
oI Web pages; Irom the United States.
O Chris illey on style sheets and Iont support; Irom the United Kingdom.
%he W3 Consortium is based in part at the aboratory oI Computer Science at
assachusetts' Institute oI %echnology in Cambridge, assachusetts, in the United
States; and in part at INRIA, the 38tit:t Nati43al de Recherche e3 3f4rmatiq:e et e3
A:t4matiq:e, a French governmental research institute. %he W3 Consortium is also
located in part at Keio University in Japan. You can look at the Consortium's Web
pages on `www.w3.org'.
%he consortium is sponsored by a number oI companies that directly beneIit Irom its
work on standards and other technology Ior the Web. %he member companies include
Digital Equipment Corp.; Hewlett-Packard Co.; IB Corp.; icrosoIt Corp.;
Netscape Communications Corp.; and Sun icrosystems Inc., among many others.
Through 1995: HTML is extended with many new tags
During 1995, all kinds oI new H% tags emerged. Some, like the BGCJLJR attribute
oI the BJDY element and FJNT FACE, which control stylistic aspects oI a document,
Iound themselves in the black books oI the academic engineering community. `You're
not supposed to be able to do things like that in H%,' they would protest. It was
their belieI that such things as text color, background texture, Iont size and Iont Iace
were deIinitely outside the scope oI a language when their only intent was to speciIy
how a document would be organized.
March 1995: HTML 3 is published as an Internet raft
Dave Raggett had been working Ior some time on his new ideas Ior H%, and at last
he Iormalized them in a document published as an Internet DraIt in arch, 1995. All
manner oI H% Ieatures were covered. A new tag Ior inserting images
called FIG was introduced, which Dave hoped would supersede IMG, as well as a whole
gambit oI Ieatures Ior marking up math and scientiIic documents. Dave dealt with
H% tables and tabs, Iootnotes and Iorms. He also added support Ior style sheets by
including a $TYLE tag and a CLA$$ attribute. %he latter was to be available on every
element to encourage authors to give H% elements styles, much as you do in
desktop publishing.
Although the H% 3 draIt was very well received, it was somewhat diIIicult to get it
ratiIied by the IE%F. %he belieI was that the draIt was too large and too Iull oI new
proposals. %o get consensus on a draIt 150 pages long and about which everyone
wanted to voice an opinion was optimistic - to say the least. In the end, Dave and the
inner circle oI the H% community decided to call it a day.
OI course, browser writers were very keen on supporting H% 3 - in theory.
Inevitably, each browser writer chose to implement a diIIerent subset oI H% 3's
Ieatures as they were so inclined, and then proudly proclaimed to support the
standard. %he conIusion was mind-boggling, especially as browsers even came out
withexte38i438 to H% 3, implying to the ordinary gent that 34rmal H% 3 was,
oI course, already supported. Was there an oIIicial H% 3 standard or not? %he truth
was that there was not, but reading the computer press you might never have known
the diIIerence.
March 1995: A furor over the HTML Tables specification
Dave Raggett's H% 3 draIt had tackled the tabular organization oI inIormation in
H%. Arguments over this aspect oI the language had continued Ior some time, but
now it was time to really get going. At the 32nd meeting oI the IE%F in Danvers,
assachusetts, Dave Iound a group Irom the SG brethren who were up in arms
over part oI the tables speciIication because it contradicted the CAS table model.
Groups such as the US Navy use the CAS table model in complex documentation.
AIter long negotiation, Dave managed to placate the CAS table delegates and altered
the draIt to suit their needs. H% tables, which were not in H% originally, Iinally
surIaced Irom the H% 3 draIt to appear in H% 3.2. %hey continue to be used
extensively Ior the purpose oI providing a layout grid Ior organizing pictures and text
on the screen.
August 1995: Microsoft's Internet Explorer browser comes out
Version 1.0 oI icrosoIt Corp.'s Internet Explorer browser was announced. %his
browser was eventually to compete with Netscape's browser, and to evolve its own
H% Ieatures. %o a certain extent, icrosoIt built its business on the Web by
extending H% Ieatures. %he ActiveX Ieature made icrosoIt's browser unique,
and Netscape developed a plug-in called Ncompass to handle ActiveX. %his whole
idea whereby one browser experiments with an extension to H% only to Iind
others adding support to keep even, continues to the present.
In November 1995, icrosoIt's Internet Explorer version 2.0 arrived Ior its Windows
N% and Windows 95 operating systems.
$eptember 1995: Netscape submits a proposal for frames
By this time, Netscape submitted a proposal Ior Irames, which involved the screen
being divided into independent, scrollable areas. %he proposal was implemented on
Netscape's Navigator browser beIore anyone really had time to comment on it, but
nobody was surprised.
November 1995: The HTML working group runs into problems
%he H% working group was an excellent idea in theory, but in practice things did
not go quite as expected. With the immense popularity oI the Web, the H%
working group grew larger and larger, and the volume oI associated email soared
exponentially. Imagine one hundred people trying to design a house. `I want the
windows to be double-glazed,' says one. `Yes, but shouldn't we make them smaller,
while we're at it,' questions another. Still others chime in: `What material do you
propose Ior the Irames - I'm not having them in plastic, that's Ior sure'; `I suggest that
we don't have windows, as such, but include small, circular port-holes on the Southern
elevation...' and so on.
You get the idea. %he H% working group emailed each other in a Irenzy oI
electronic activity. In the end, its members became so snowed under with email that
no time was leIt Ior programming. For soItware engineers, this was a sorry state oI
aIIairs, indeed: `I came back aIter just three days away to Iind over 2000 messages
waiting,' was the unhappy lament oI the H% enthusiast.
Anyway, the H% working group still was losing ground to the browser vendors.
%he group was notably slow in coming to a consensus on a given H% Ieature, and
commercial organizations were hardly going to sit around having tea, pleasantly
conversing on the weather whilst waiting Ior the results oI debates. And they did not.
November 1995: Vendors unite to form a new group dedicated to developing an
HTML standard
In November, 1995 Dave Raggett called together representatives oI the browser
companies and suggested they meet as a small group dedicated to standardizing
H%. Imagine his surprise when it worked! ou ontulli Irom Netscape, Charlie
Kindel Irom icrosoIt, Eric Sink Irom Spyglass, Wayne Gramlich Irom Sun
icrosystems, Dave Raggett, %im Berners-ee and Dan Connolly Irom the W3
Consortium, and Jonathan Hirschman Irom PathIinder convened near Chicago and
made quick and eIIective decisions about H%.
November 1995: $tyle sheets for HTML documents begin to take shape
Bert Bos, Hkon ie, Dave Raggett, Chris illey and others Irom the World Wide
Web Consortium and others met in Versailles near Paris to discuss the deployment oI
Cascading Style Sheets. %he name Cascading Style Sheets implies that more than one
style sheet can interact to produce the Iinal look oI the document. Using a special
language, the CSS group advocated that everyone would soon be able to write simple
styles Ior H%, as one would do in icrosoIt Word and other desktop publishing
soItware packages. %he SG contingent, who preIerred a ISP-like language called
DSSS - it rhymes with whistle - seemed out oI the race when icrosoIt promised to
implement CSS on its Internet Explorer browser.
November 1995: Internationalization of HTML Internet raft
Gavin Nicol, Gavin Adams and others presented a long paper on the
internationalization oI the Web. %heir idea was to extend the capabilities oI H% 2,
primarily by removing the restriction on the character set used. %his would mean that
H% could be used to mark up languages other than those that use the atin-1
character set to include a wider variety oI alphabets and character sets, such as those
that read Irom right to leIt.
ecember 1995: The HTML working group is dismantled
Since the IE%F H% working group was having diIIiculties coming to consensus
swiItly enough to cope with such a Iast-evolving standard, it was eventually
dismantled.
February 1996: The HTML ERB is formed
Following the success oI the November, 1995 meeting, the World Wide Web
Consortium Iormed the H% Editorial Review Board to help with the
standardization process. %his board consisted oI representatives Irom IB, icrosoIt,
Netscape, Novell, SoItquad and the W3 Consortium, and did its business via
telephone conIerence and email exchanges, meeting approximately once every three
months. Its aim was to collaborate and agree upon a common standard Ior H%,
thus putting an end to the era when browsers each implemented a diIIerent subset oI
the language. %he bad Iairy oI incompatibility was to be banished Irom the H%
kingdom Iorever, or one could hope so, perhaps.
Dan Connolly oI the W3 Consortium, also author oI H% 2, deItly accomplished
the Ieat oI chairing what could be quite a raucous meeting oI the clans. Dan managed
to make sure that all representatives had their say and listened to each other's point oI
view in an orderly manner. A strong chair was absolutely essential in these meetings.
In preparation Ior an ERB meeting, speciIications describing new aspects oI H%
were made electronically available Ior ERB members to read. %hen, at the meeting
itselI, the proponent explained some oI the rationale behind the speciIication, and then
dearly hoped that all who were present also concurred that the encapsulated ideas
were sound. Questions such as, `should a particular Ieature be included, or should we
kick it out,' would be considered. Each representative would air his point oI view. II
all went well, the speciIication might eventually see daylight and become a standard.
At the time oI writing, the next H% standard, code-named C4:gar, has begun its
long journey in this direction.
%he BLINK tag was ousted in an H% ERB meeting. Netscape would only abolish it
iI icrosoIt agreed to get rid oI MARQUEE; the deal was struck and both tags
disappeared. Both oI these extensions have always been considered slightly gooIy by
all parties. any tough decisions were to be made about the JBJECTspeciIication. Out
oI a chaos oI several diIIerent tags - EMBED, APP, APPLET, DYN$RC and so on - all
associated with embedding diIIerent types oI inIormation in H% documents, a
single JBJECT tag was chosen in April, 1996. %his JBJECT tag becomes part oI the
H% standard, but not until 1997.
April 1996: The W3 Consortium working draft on $cripting comes out
Based on an initial draIt by Charlie Kindel, and, in turn, derived Irom Netscape's
extensions Ior JavaScript, a W3C working draIt on the subject oI Scripting was
written by Dave Raggett. In one Iorm or another, this draIt should eventually become
part oI standard H%.
uly 1996: Microsoft seems more interested than first imagined in open
standards
In April 1996, icrosoIt's Internet Explorer became available Ior acintosh and
Windows 3.1 systems.
%homas Reardon had been excited by the Web even at the second WWW conIerence
held in Darmstadt, Germany in 1995. One year later, he seemed very interested in the
standardization process and apparently wanted icrosoIt to do things the right way
with the W3C and with the IE%F. %raditionally, developers are somewhat disparaging
about icrosoIt, so this was an interesting turn oI events. It should be said that
icrosoIt did, oI course, invent tags oI their own, just as did Netscape. %hese
included the remarkable MARQUEE tag that caused great mirth among the more academic
H% community. %he MARQUEE tag made text dance about all over the screen - not
exactly a Ieature you would expect Irom a serious language concerned with structural
mark-up such as paragraphs, headings and lists.
%he worry that a massive introduction oI proprietary products would kill the Web
continued. Netscape acknowledged that vendors needed to push ahead oI the
standards process and innovate. %hey pointed out that, iI users like a particular
Netscape innovation, then the market would drive it to become a de Iacto standard.
%his seemed quite true at the time and, indeed, Netscape has innovated on top oI that
standard again. It's precisely this sequence oI events that Dave Raggett and the World
Wide Web Consortium were trying to avoid.
ecember 1996: Work on `Cougar' is begun
%he H% ERB became the H% Working Group and began to work on `Cougar',
the next version oI H% with completion late Spring, 1997, eventually to become
H% 4. With all sorts oI innovations Ior the disabled and support Ior international
languages, as well as providing style sheet support, extensions to Iorms, scripting and
much more, H% 4 breaks away Irom the simplicity and charm oI H% oI earlier
years!

Dave Raggett, co-editor oI the H% 4 speciIication, at work composing at the keyboard at his
home in Boston.
anuary 1997: HTML 3.2 is ready
Success! In January 1997, the W3 Consortium Iormally endorsed H% 3.2 as an
H% cross-industry speciIication. H% 3.2 had been reviewed by all member
organizations, including major browser vendors such as Netscape and icrosoIt. %his
meant that the speciIication was now stable and approved oI by most Web players. By
providing a neutral Iorum, the W3 Consortium had successIully obtained agreement
upon a standard version oI H%. %here was great rejoicing, indeed. H% 3.2 took
the existing IE%F H% 2 standard and incorporated Ieatures Irom H% and
H% 3. H% 3.2 included tables, applets, text Ilow around images, subscripts and
superscripts.
One might well ask why H% 3.2 was called H% 3.2 and not, let's say, H%
3.1 or H% 3.5. %he version number is open to discussion just as much as is any
other aspect oI H%. %he version number is oIten one oI the last details to be
decided.
&pdate
Spring 1998: Cougar has now Iully materialized as H% 4.0 and is a W3C Proposed
Recommendation. But do the major browsers implement H% 4.0, you wonder? As
usual in the computer industry, there is no simple answer. Certainly things are heading
in that direction. Neither Netscape's or icrosoIts browser completely implements
style sheets in the way speciIied, which is a pity, but no doubt they will make amends.
%here are a number oI pecularities in the way that OBJEC% works but we very much
hope that this will also eventually be implemented in a more consistent manner.
















The History of HTNL

A markup language combines text as well as coded instructions on how to
format that text and the term "markup" originates from the traditional practice
of 'marking up' the margins of a paper manuscript with printer's instructions.
Nowadays, however, if you mention the term 'markup' to any knowledgeable
web author, the first thing they are likely to think of is 'HTML'.

So from whence came the stuff that web pages are made of?...


n the Beginning

HTML which is short for yper%ext arkup anguage is the official
language of the World Wide Web and was first conceived in 1990. HTML is a
product of SGML (Standard Generalized Markup Language) which is a
complex, technical specification describing markup languages, especially
those used in electronic document exchange, document management, and
document publishing. HTML was originally created to allow those who were
not specialized in SGML to publish and exchange scientific and other
technical documents. HTML especially facilitated this exchange by
incorporating the ability to link documents electronically using hyperlinks. Thus
the name Hypertext Markup Language.

However, it was quickly realized by those outside of the discipline of scientific
documentation that HTML was relatively easy to learn, was self contained and
lent itself to a number of other applications. With the evolution of the World
Wide Web, HTML began to proliferate and quickly spilled over into the
mainstream.



Browser Wars

Soon, companies began creating browsers the software required to view an
HTML document, i.e., a web page and as they gained popularity it gave rise
to competition and other web browsers. t may surprise some that back in late
1995, Netscape which now plays a distant second to the King Kong of
browsers, nternet Explorer was the dominant browser on the market. n
fact, Netscape was the first browser to support Javascript, animated gifs and
HTML frames.

Thus began the so-called 'browser wars' and, along with seeing who could
implement more 'bells and whistles' than the other guy, browser makers also
began inventing proprietary HTML elements that only worked with their
browsers. Some examples of these are the <marquee</marquee tags
(scrolling text) which originally only worked with nternet Explorer and
the<blink</blink tags (blinking text) which still only works with Gecko-
based browsers such as Firefox.

A side effect of all this competition was that HTML became fragmented and
web authors soon found that their web pages looked fine in one browser but
not in another. Hence it became increasingly difficult and time consuming to
create a web page that would display uniformly across a number of different
browsers. (This phenomenon remains to some extent to this very day.)

Meanwhile, an organization known as the World Wide Web Consortium (W3C
for short) was working steadily along in the background to standardize HTML.
Several recommendations were published by the W3C during the late 1990s
which represented the official versions of HTML and provided an ongoing
comprehensive reference for web authors. Thus the birth of HTML 2.0 in
September 1995, HTML 3.2 in January 1997 and HTML 4.01 in December
1999.

By now, nternet Explorer (E) had eclipsed Netscape Navigator as the
browser to use while surfing the net due to its superior capabilities but also
largely due to the fact that the E came bundled with the Windows operating
system. Essentially when people bought computers using the Windows OS, it
had the 'internet installed on it'. This tended to suit people just fine since the
typical newcomer to computers was someone who was tentatively striking
forth to take on this intimidating new-fangled technology that was crammed to
the rafters with indecipherable acronyms, software help files that made no
sense and buggy programs. Hence, the more 'instant' solutions this new
technology offered, the better it was.



Bad Grammar

As the World Wide Web approached adulthood hosting a wide variety of
would-be and professional web page authors, it became increasingly apparent
that cyberspace was filling up with a lot of badly written HTML.

This was due to some laziness and inexperience but was also the product of
another instant solution involving web authoring tools, most particularly
WYSWYG editors, which tended to produce bloated and messy source code.
As the browser wars continued although by now it was pretty much of a
massacre the lead browser had developed capabilities akin to a junkyard
dog which could gobble up any half-baked web page that it came across. This
was all very fine and well but the resources (program source code, RAM on
the user's computer, etcetera) required to run a browser that can consume
just about anything was exhorbitant compared to what could be. And as the
market dictated the shape of things to come, future browsers were bound
follow the lead dog thus encouraging more junk code to fill up the web.

To remedy this situation, the W3C came up with a more regimental form of
HTML with the intention to create a rigid standard to which web authors were
encouraged to conform. This was supporting an effort to eventually 'clean up'
or streamline the World Wide Web and ultimately replace
presentationalelements such as 14nt with another documentational structure
known asCascading Style Sheets (CSS). n theory, once this transformation
occurred, the web would place less demand on the next generation of web
browsers and most specifically it would accomodate the low processing power
of new portable devices such as PDAs. Hence the birth of the next generation
of HTML called HTML, the ' X ' representing that this version of HTML was
based on XML (eXtensible Markup Language) instead of SGML.






P1ML
lrom Wlklpedla Lhe free encyclopedla
lor Lhe use of P1ML on Wlklpedla see PelpP1ML ln wlklLexL
P1ML
(Pyper1exL Markup Language)
lllename exLenslon hLml hLm
lnLerneL medla Lype LexL/hLml
1ype code 1Lx1
unlform 1ype ldenLlfler publlchLml
ueveloped by World Wlde Web ConsorLlum WPA1WC
1ype of formaL Markup language
LxLended from SCML
LxLended Lo xP1ML
SLandard(s)
lSC/lLC 13443
W3C P1ML 401
W3C P1ML3 (drafL)

Pyper1exL Markup Language (P1ML) ls Lhe predomlnanL markup language for web pages P1ML
elemenLs are Lhe baslc bulldlngblocks of webpages
P1ML ls wrlLLen ln Lhe form of P1ML elemenLs conslsLlng of Lags enclosed ln angle brackeLs (llke
hLml) wlLhln Lhe web page conLenL P1ML Lags mosL commonly come ln palrs llke h1 and /h1
alLhough some Lags known as empLy elemenLs are unpalred for example lmg 1he flrsL Lag ln a palr ls
Lhe sLarL Lag Lhe second Lag ls Lhe end Lag (Lhey are also called openlng Lags and closlng Lags) ln
beLween Lhese Lags web deslgners can add LexL Lags commenLs and oLher Lypes of LexLbased conLenL
1he purpose of a web browser ls Lo read P1ML documenLs and compose Lhem lnLo vlslble or audlble
web pages 1he browser does noL dlsplay Lhe P1ML Lags buL uses Lhe Lags Lo lnLerpreL Lhe conLenL of
Lhe page
P1ML elemenLs form Lhe bulldlng blocks of all webslLes P1ML allows lmages and ob[ecLs Lo be
embedded and can be used Lo creaLe lnLeracLlve forms lL provldes a means Lo creaLe sLrucLured
documenLs by denoLlng sLrucLural semanLlcs for LexL such as headlngs paragraphs llsLs llnks quoLes
and oLher lLems lL can embed scrlpLs ln languages such as !avaScrlpL whlch affecL Lhe behavlor of P1ML
webpages
Web browsers can also refer Lo Cascadlng SLyle SheeLs (CSS) Lo deflne Lhe appearance and layouL of LexL
and oLher maLerlal 1he W3C malnLalner of boLh Lhe P1ML and Lhe CSS sLandards encourages Lhe use
of CSS over expllclLly presenLaLlonal P1ML markup1
ConLenLs hlde
1 PlsLory
11 Crlglns
12 llrsL speclflcaLlons
13 verslon hlsLory of Lhe sLandard
131 P1ML verslon Llmellne
132 P1ML drafL verslon Llmellne
133 xP1ML verslons
2 Markup
21 LlemenLs
211 LlemenL examples
212 ALLrlbuLes
22 CharacLer and enLlLy references
23 uaLa Lypes
24 uocumenL Lype declaraLlon
3 SemanLlc P1ML
4 uellvery
41 P11
42 P1ML emall
43 namlng convenLlons
44 P1ML AppllcaLlon
3 CurrenL varlaLlons
31 SCMLbased versus xMLbased P1ML
32 1ranslLlonal versus sLrlcL
33 lrameseL versus LranslLlonal
34 Summary of speclflcaLlon verslons
6 PyperLexL feaLures noL ln P1ML
7 W?SlW?C edlLors
8 See also
9 8eferences
10 LxLernal llnks
edlLPlsLory

edlLCrlglns


1lm 8ernersLee
ln 1980 physlclsL 1lm 8ernersLee who was a conLracLor aL CL8n proposed and proLoLyped LnCul8L a
sysLem for CL8n researchers Lo use and share documenLs ln 1989 8ernersLee wroLe a memo
proposlng an lnLerneLbased hyperLexL sysLem2 8ernersLee speclfled P1ML and wroLe Lhe browser
and server sofLware ln Lhe lasL parL of 1990 ln LhaL year 8ernersLee and CL8n daLa sysLems englneer
8oberL Callllau collaboraLed on a [olnL requesL for fundlng buL Lhe pro[ecL was noL formally adopLed by
CL8n ln hls personal noLes3 from 1990 he llsLs4 some of Lhe many areas ln whlch hyperLexL ls used
and puLs an encyclopedla flrsL
edlLllrsL speclflcaLlons
1he flrsL publlcly avallable descrlpLlon of P1ML was a documenL called P1ML 1ags flrsL menLloned on
Lhe lnLerneL by 8ernersLee ln laLe 199136 lL descrlbes 20 elemenLs comprlslng Lhe lnlLlal relaLlvely
slmple deslgn of P1ML LxcepL for Lhe hyperllnk Lag Lhese were sLrongly lnfluenced by SCMLguld an ln
house SCML based documenLaLlon formaL aL CL8n 1hlrLeen of Lhese elemenLs sLlll exlsL ln P1ML 47
PyperLexL markup language ls a markup language LhaL web browsers use Lo lnLerpreL and compose LexL
lmages and oLher maLerlal lnLo vlsual or audlble web pages uefaulL characLerlsLlcs for every lLem of
P1ML markup are deflned ln Lhe browser and Lhese characLerlsLlcs can be alLered or enhanced by Lhe
web page deslgners addlLlonal use of CSS Many of Lhe LexL elemenLs are found ln Lhe 1988 lSC
Lechnlcal reporL 18 9337 1echnlques for uslng SCML whlch ln Lurn covers Lhe feaLures of early LexL
formaLLlng languages such as LhaL used by Lhe 8unCll command developed ln Lhe early 1960s for Lhe
C1SS (CompaLlble 1lmeSharlng SysLem) operaLlng sysLem Lhese formaLLlng commands were derlved
from Lhe commands used by LypeseLLers Lo manually formaL documenLs Powever Lhe SCML concepL of
generallzed markup ls based on elemenLs (nesLed annoLaLed ranges wlLh aLLrlbuLes) raLher Lhan merely
prlnL effecLs wlLh also Lhe separaLlon of sLrucLure and processlng P1ML has been progresslvely moved
ln Lhls dlrecLlon wlLh CSS
8ernersLee consldered P1ML Lo be an appllcaLlon of SCML lL was formally deflned as such by Lhe
lnLerneL Lnglneerlng 1ask lorce (lL1l) wlLh Lhe mld1993 publlcaLlon of Lhe flrsL proposal for an P1ML
speclflcaLlon PyperLexL Markup Language (P1ML) lnLerneLurafL by 8ernersLee and uan Connolly
whlch lncluded an SCML uocumenL 1ype ueflnlLlon Lo deflne Lhe grammar8 1he drafL explred afLer slx
monLhs buL was noLable for lLs acknowledgemenL of Lhe nCSA Mosalc browsers cusLom Lag for
embeddlng lnllne lmages reflecLlng Lhe lL1ls phllosophy of baslng sLandards on successful
proLoLypes9 Slmllarly uave 8aggeLLs compeLlng lnLerneLurafL P1ML+ (PyperLexL Markup lormaL)
from laLe 1993 suggesLed sLandardlzlng alreadylmplemenLed feaLures llke Lables and flllouL forms10
AfLer Lhe P1ML and P1ML+ drafLs explred ln early 1994 Lhe lL1l creaLed an P1ML Worklng Croup
whlch ln 1993 compleLed P1ML 20 Lhe flrsL P1ML speclflcaLlon lnLended Lo be LreaLed as a sLandard
agalnsL whlch fuLure lmplemenLaLlons should be based9 ubllshed as 8equesL for CommenLs 1866
P1ML 20 lncluded ldeas from Lhe P1ML and P1ML+ drafLs11 1he 20 deslgnaLlon was lnLended Lo
dlsLlngulsh Lhe new edlLlon from prevlous drafLs12
lurLher developmenL under Lhe ausplces of Lhe lL1l was sLalled by compeLlng lnLeresLs Slnce 1996 Lhe
P1ML speclflcaLlons have been malnLalned wlLh lnpuL from commerclal sofLware vendors by Lhe World
Wlde Web ConsorLlum (W3C)13 Powever ln 2000 P1ML also became an lnLernaLlonal sLandard
(lSC/lLC 134432000) 1he lasL P1ML speclflcaLlon publlshed by Lhe W3C ls Lhe P1ML 401
8ecommendaLlon publlshed ln laLe 1999 lLs lssues and errors were lasL acknowledged by erraLa
publlshed ln 2001
edlLverslon hlsLory of Lhe sLandard
P1ML
P1ML and P1ML3
uynamlc P1ML
xP1ML
xP1ML 8aslc
xP1ML Moblle roflle and CP1ML
Canvas elemenL
CharacLer encodlngs
uocumenL Cb[ecL Model
lonL famlly
P1ML edlLor
P1ML elemenL
P1ML lrames
P1ML3 vldeo
P1ML scrlpLlng
Web browser englne
Culrks mode
SLyle sheeLs
unlcode and P1ML
W3C and WPA1WC
Web colors
Web SLorage
Comparlson of
documenL markup languages
web browsers
layouL englnes for
P1ML
P1ML3
P1ML3 Canvas
P1ML3 Medla
nonsLandard P1ML
xP1ML (11)
1hls box vlew Lalk edlL
edlLP1ML verslon Llmellne
november 24 1993
P1ML 20 was publlshed as lL1l 8lC 1866 SupplemenLal 8lCs added capablllLles
november 23 1993 8lC 1867 (formbased flle upload)
May 1996 8lC 1942 (Lables)
AugusL 1996 8lC 1980 (cllenLslde lmage maps)
!anuary 1997 8lC 2070 (lnLernaLlonallzaLlon)
ln !une 2000 all of Lhese were declared obsoleLe/hlsLorlc by 8lC 2834
!anuary 1997
P1ML 3214 was publlshed as a W3C 8ecommendaLlon lL was Lhe flrsL verslon developed and
sLandardlzed excluslvely by Lhe W3C as Lhe lL1l had closed lLs P1ML Worklng Croup ln SepLember
199613
P1ML 32 dropped maLh formulas enLlrely reconclled overlap among varlous proprleLary exLenslons and
adopLed mosL of neLscapes vlsual markup Lags neLscapes bllnk elemenL and MlcrosofLs marquee
elemenL were omlLLed due Lo a muLual agreemenL beLween Lhe Lwo companles13 A markup for
maLhemaLlcal formulas slmllar Lo LhaL ln P1ML was noL sLandardlzed unLll 14 monLhs laLer ln MaLhML
uecember 1997
P1ML 4016 was publlshed as a W3C 8ecommendaLlon lL offers Lhree varlaLlons
SLrlcL ln whlch deprecaLed elemenLs are forbldden
1ranslLlonal ln whlch deprecaLed elemenLs are allowed
lrameseL ln whlch mosLly only frame relaLed elemenLs are allowed
lnlLlally codenamed Cougar17 P1ML 40 adopLed many browserspeclflc elemenL Lypes and
aLLrlbuLes buL aL Lhe same Llme soughL Lo phase ouL neLscapes vlsual markup feaLures by marklng
Lhem as deprecaLed ln favor of sLyle sheeLs P1ML 4 ls an SCML appllcaLlon conformlng Lo lSC 8879
SCML18
Aprll 1998
P1ML 4019 was relssued wlLh mlnor edlLs wlLhouL lncremenLlng Lhe verslon number
uecember 1999
P1ML 40120 was publlshed as a W3C 8ecommendaLlon lL offers Lhe same Lhree varlaLlons as P1ML
40 and lLs lasL erraLa were publlshed May 12 2001
May 2000
lSC/lLC 1344320002122 (lSC P1ML based on P1ML 401 SLrlcL) was publlshed as an lSC/lLC
lnLernaLlonal sLandard ln Lhe lSC Lhls sLandard falls ln Lhe domaln of Lhe lSC/lLC !1C1/SC34 (lSC/lLC
!olnL 1echnlcal CommlLLee 1 SubcommlLLee 34 uocumenL descrlpLlon and processlng languages)21
As of mld2008 P1ML 401 and lSC/lLC 134432000 are Lhe mosL recenL verslons of P1ML
uevelopmenL of Lhe parallel xMLbased language xP1ML occupled Lhe W3Cs P1ML Worklng Croup
Lhrough Lhe early and mld2000s
edlLP1ML drafL verslon Llmellne


Logo of P1ML 3
CcLober 1991
P1ML 1ags3 an lnformal CL8n documenL llsLlng Lwelve P1ML Lags was flrsL menLloned ln publlc
!une 1992
llrsL lnformal drafL of Lhe P1ML u1u23 wlLh seven242326 subsequenL revlslons (!uly 13 AugusL
6 AugusL 18 november 17 november 19 november 20 november 22)
november 1992
P1ML u1u 11 (Lhe flrsL wlLh a verslon number based on 8CS revlslons whlch sLarL wlLh 11 raLher Lhan
10) an lnformal drafL26
!une 1993
PyperLexL Markup Language27 was publlshed by Lhe lL1l lll8 Worklng Croup as an lnLerneLurafL (a
rough proposal for a sLandard) lL was replaced by a second verslon28 one monLh laLer followed by slx
furLher drafLs publlshed by lL1l lLself29 LhaL flnally led Lo P1ML 20 ln 8lC1866
november 1993
P1ML+ was publlshed by Lhe lL1l as an lnLerneLurafL and was a compeLlng proposal Lo Lhe PyperLexL
Markup Language drafL lL explred ln May 1994
Aprll 1993 (auLhored March 1993)
P1ML 3030 was proposed as a sLandard Lo Lhe lL1l buL Lhe proposal explred flve monLhs laLer
wlLhouL furLher acLlon lL lncluded many of Lhe capablllLles LhaL were ln 8aggeLLs P1ML+ proposal such
as supporL for Lables LexL flow around flgures and Lhe dlsplay of complex maLhemaLlcal formulas31
W3C began developmenL of lLs own Arena browser as a LesL bed for P1ML 3 and Cascadlng SLyle
SheeLs323334 buL P1ML 30 dld noL succeed for several reasons 1he drafL was consldered very
large aL 130 pages and Lhe pace of browser developmenL as well as Lhe number of lnLeresLed parLles
had ouLsLrlpped Lhe resources of Lhe lL1l13 8rowser vendors lncludlng MlcrosofL and neLscape aL Lhe
Llme chose Lo lmplemenL dlfferenL subseLs of P1ML 3s drafL feaLures as well as Lo lnLroduce Lhelr own
exLenslons Lo lL13 (See 8rowser wars) 1hese lncluded exLenslons Lo conLrol sLyllsLlc aspecLs of
documenLs conLrary Lo Lhe bellef of Lhe academlc englneerlng communlLy LhaL such Lhlngs as LexL
color background LexLure fonL slze and fonL face were deflnlLely ouLslde Lhe scope of a language when
Lhelr only lnLenL was Lo speclfy how a documenL would be organlzed13 uave 8aggeLL who has been
a W3C lellow for many years has commenLed for example 1o a cerLaln exLenL MlcrosofL bullL lLs
buslness on Lhe Web by exLendlng P1ML feaLures13
!anuary 2008
P1ML3 was publlshed as a Worklng urafL (llnk) by Lhe W3C33
AlLhough lLs synLax closely resembles LhaL of SCML P1ML3 has abandoned any aLLempL Lo be an SCML
appllcaLlon and has expllclLly deflned lLs own hLml serlallzaLlon ln addlLlon Lo an alLernaLlve xML
based xP1ML3 serlallzaLlon36
edlLxP1ML verslons
Maln arLlcle xP1ML
xP1ML ls a separaLe language LhaL began as a reformulaLlon of P1ML 401 uslng xML 10 lL conLlnues Lo
be developed
xP1ML 1037 publlshed !anuary 26 2000 as a W3C 8ecommendaLlon laLer revlsed and republlshed
AugusL 1 2002 lL offers Lhe same Lhree varlaLlons as P1ML 40 and 401 reformulaLed ln xML wlLh
mlnor resLrlcLlons
xP1ML 1138 publlshed May 31 2001 as a W3C 8ecommendaLlon lL ls based on xP1ML 10 SLrlcL
buL lncludes mlnor changes can be cusLomlzed ls reformulaLed uslng modules from ModularlzaLlon of
xP1ML whlch was publlshed Aprll 10 2001 as a W3C 8ecommendaLlon
xP1ML 203940 1here ls no xP1ML 20 sLandard xP1ML 20 ls only a drafL documenL and lL ls
lnapproprlaLe Lo clLe Lhls documenL as oLher Lhan work ln progress xP1ML 20 ls lncompaLlble wlLh
xP1ML 1x and Lherefore would be more accuraLely characLerlzed as an xP1MLlnsplred new language
Lhan an updaLe Lo xP1ML 1x
xP1ML3 whlch ls an updaLe Lo xP1ML 1x ls belng deflned alongslde P1ML3 ln Lhe P1ML3 drafL41
edlLMarkup

P1ML markup conslsLs of several key componenLs lncludlng elemenLs (and Lhelr aLLrlbuLes) characLer
based daLa Lypes characLer references and enLlLy references AnoLher lmporLanL componenL ls Lhe
documenL Lype declaraLlon whlch Lrlggers sLandards mode renderlng
1he Pello world program a common compuLer program employed for comparlng programmlng
languages scrlpLlng languages and markup languages ls made of 9 llnes of code alLhough ln P1ML
newllnes are opLlonal
!uCC1?L hLml
hLml
head
LlLlePello P1ML/LlLle
/head
body
pPello World!/p
/body
/hLml
(1he LexL beLween hLml and /hLml descrlbes Lhe web page and Lhe LexL beLween body and
/body ls Lhe vlslble page conLenL 1he markup LexL LlLlePello P1ML/LlLle deflnes Lhe browser Lab
LlLle)
1hls uocumenL 1ype ueclaraLlon ls for P1ML3 lf Lhe !docLype hLml declaraLlon ls noL lncluded
varlous browsers wlll reverL Lo qulrks mode for renderlng42
edlLLlemenLs
Maln arLlcle P1ML elemenL
P1ML documenLs are composed enLlrely of P1ML elemenLs LhaL ln Lhelr mosL general form have Lhree
componenLs a palr of Lags a sLarL Lag and end Lag some aLLrlbuLes wlLhln Lhe sLarL Lag and flnally
any LexLual and graphlcal conLenL beLween Lhe sLarL and end Lags perhaps lncludlng oLher nesLed
elemenLs 1he P1ML elemenL ls everyLhlng beLween and lncludlng Lhe sLarL and end Lags Lach Lag ls
enclosed ln angle brackeLs
1he general form of an P1ML elemenL ls Lherefore Lag aLLrlbuLe1value1
aLLrlbuLe2value2conLenL/Lag Some P1ML elemenLs are deflned as empLy elemenLs and Lake Lhe
form Lag aLLrlbuLe1value1 aLLrlbuLe2value2 LmpLy elemenLs may enclose no conLenL 1he
name of an P1ML elemenL ls Lhe name used ln Lhe Lags noLe LhaL Lhe end Lags name ls preceded by a
slash characLer / and LhaL ln empLy elemenLs Lhe end Lag ls nelLher requlred nor allowed lf aLLrlbuLes
are noL menLloned defaulL values are used ln each case
edlLLlemenL examples
Peader of Lhe P1ML documenLhead/head usually Lhe LlLle should be lncluded ln Lhe head for
example
head
LlLle1he LlLle/LlLle
/head
Peadlngs P1ML headlngs are deflned wlLh Lhe h1 Lo h6 Lags
h1Peadlng1/h1
h2Peadlng2/h2
h3Peadlng3/h3
h4Peadlng4/h4
h3Peadlng3/h3
h6Peadlng6/h6
aragraphs
paragraph 1/p paragraph 2/p
Llne breaksbr 1he dlfference beLween br and p ls LhaL br breaks a llne wlLhouL alLerlng Lhe
semanLlc sLrucLure of Lhe page whereas p secLlons Lhe page lnLo paragraphs noLe also LhaL br ls an
empLy elemenL ln LhaL whlle lL may have aLLrlbuLes lL can Lake no conLenL and lL may noL have an end
Lag
p1hls br ls a paragraph br wlLh br llne breaks/p
CommenLs
! 1hls ls a commenL
CommenLs can help undersLandlng of Lhe markup and do noL dlsplay ln Lhe webpage
1here are several Lypes of markup elemenLs used ln P1ML
SLrucLural markup descrlbes Lhe purpose of LexL
lor example h2Colf/h2 esLabllshes Colf as a secondlevel headlng SLrucLural markup does noL
denoLe any speclflc renderlng buL mosL web browsers have defaulL sLyles for elemenL formaLLlng
ConLenL may be furLher sLyled uslng Cascadlng SLyle SheeLs (CSS)
resenLaLlonal markup descrlbes Lhe appearance of Lhe LexL regardless of lLs purpose
lor example bboldface/b lndlcaLes LhaL vlsual ouLpuL devlces should render boldface ln bold LexL
buL glves llLLle lndlcaLlon whaL devlces LhaL are unable Lo do Lhls (such as aural devlces LhaL read Lhe LexL
aloud) should do ln Lhe case of boLh bbold/b and llLallc/l Lhere are oLher elemenLs LhaL may
have equlvalenL vlsual renderlngs buL whlch are more semanLlc ln naLure such as sLrongsLrong
LexL/sLrong and ememphaslsed LexL/em respecLlvely lL ls easler Lo see how an aural user agenL
should lnLerpreL Lhe laLLer Lwo elemenLs Powever Lhey are noL equlvalenL Lo Lhelr presenLaLlonal
counLerparLs lL would be undeslrable for a screenreader Lo emphaslze Lhe name of a book for
lnsLance buL on a screen such a name would be lLallclzed MosL presenLaLlonal markup elemenLs have
become deprecaLed under Lhe P1ML 40 speclflcaLlon ln favor of uslng CSS for sLyllng
PyperLexL markup makes parLs of a documenL lnLo llnks Lo oLher documenLs
An anchor elemenL creaLes a hyperllnk ln Lhe documenL and lLs href aLLrlbuLe seLs Lhe llnks LargeL u8L
lor example Lhe P1ML markup a hrefhLLp//enwlklpedlaorg/Wlklpedla/a wlll render Lhe word
Wlklpedla as a hyperllnk 1o render an lmage as a hyperllnk an lmg elemenL ls lnserLed as conLenL
lnLo Lhe a elemenL Llke br lmg ls an empLy elemenL wlLh aLLrlbuLes buL no conLenL or closlng Lag a
hrefhLLp//exampleorglmg srclmageglf alLdescrlpLlve LexL wldLh30 helghL30
border0/a
edlLALLrlbuLes
MosL of Lhe aLLrlbuLes of an elemenL are namevalue palrs separaLed by and wrlLLen wlLhln Lhe sLarL
Lag of an elemenL afLer Lhe elemenLs name 1he value may be enclosed ln slngle or double quoLes
alLhough values conslsLlng of cerLaln characLers can be lefL unquoLed ln P1ML (buL noL xP1ML)4344
Leavlng aLLrlbuLe values unquoLed ls consldered unsafe43 ln conLrasL wlLh namevalue palr aLLrlbuLes
Lhere are some aLLrlbuLes LhaL affecL Lhe elemenL slmply by Lhelr presence ln Lhe sLarL Lag of Lhe
elemenL3 llke Lhe lsmap aLLrlbuLe for Lhe lmg elemenL46
1here are several common aLLrlbuLes LhaL may appear ln many elemenLs
1he ld aLLrlbuLe provldes a documenLwlde unlque ldenLlfler for an elemenL 1hls ls used Lo ldenLlfy Lhe
elemenL so LhaL sLylesheeLs can alLer lLs presenLaLlonal properLles and scrlpLs may alLer anlmaLe or
deleLe lLs conLenLs or presenLaLlon Appended Lo Lhe u8L of Lhe page lL provldes a globally unlque
ldenLlfler for Lhe elemenL Lyplcally a subsecLlon of Lhe page lor example Lhe lu ALLrlbuLes ln
hLLp//enwlklpedlaorg/wlkl/P1ML#ALLrlbuLes
1he class aLLrlbuLe provldes a way of classlfylng slmllar elemenLs 1hls can be used for semanLlc or
presenLaLlon purposes lor example an P1ML documenL mlghL semanLlcally use Lhe deslgnaLlon
classnoLaLlon Lo lndlcaLe LhaL all elemenLs wlLh Lhls class value are subordlnaLe Lo Lhe maln LexL of
Lhe documenL ln presenLaLlon such elemenLs mlghL be gaLhered LogeLher and presenLed as fooLnoLes
on a page lnsLead of appearlng ln Lhe place where Lhey occur ln Lhe P1ML source Class aLLrlbuLes are
used semanLlcally ln mlcroformaLs MulLlple class values may be speclfled for example classnoLaLlon
lmporLanL puLs Lhe elemenL lnLo boLh Lhe noLaLlon and Lhe lmporLanL classes
An auLhor may use Lhe sLyle aLLrlbuLe Lo asslgn presenLaLlonal properLles Lo a parLlcular elemenL lL ls
consldered beLLer pracLlce Lo use an elemenLs ld or class aLLrlbuLes Lo selecL Lhe elemenL from wlLhln a
sLylesheeL Lhough someLlmes Lhls can be Loo cumbersome for a slmple speclflc or ad hoc sLyllng
1he LlLle aLLrlbuLe ls used Lo aLLach subLexLual explanaLlon Lo an elemenL ln mosL browsers Lhls
aLLrlbuLe ls dlsplayed as a LoolLlp
1he lang aLLrlbuLe ldenLlfles Lhe naLural language of Lhe elemenLs conLenLs whlch may be dlfferenL
from LhaL of Lhe resL of Lhe documenL lor example ln an Lngllshlanguage documenL
pCh well span langfrcesL la vle/span as Lhey say ln lrance/p
1he abbrevlaLlon elemenL abbr can be used Lo demonsLraLe some of Lhese aLLrlbuLes
abbr ldanld class[argon sLylecolorpurple LlLlePyperLexL Markup LanguageP1ML/abbr
1hls example dlsplays as P1ML ln mosL browsers polnLlng Lhe cursor aL Lhe abbrevlaLlon should dlsplay
Lhe LlLle LexL PyperLexL Markup Language
MosL elemenLs also Lake Lhe languagerelaLed aLLrlbuLe dlr Lo speclfy LexL dlrecLlon such as wlLh rLl for
rlghLLolefL LexL ln for example Arablc erslan or Pebrew47
edlLCharacLer and enLlLy references
See also LlsL of xML and P1ML characLer enLlLy references and unlcode and P1ML
As of verslon 40 P1ML deflnes a seL of 232 characLer enLlLy references and a seL of 1114030 numerlc
characLer references boLh of whlch allow lndlvldual characLers Lo be wrlLLen vla slmple markup raLher
Lhan llLerally A llLeral characLer and lLs markup counLerparL are consldered equlvalenL and are rendered
ldenLlcally
1he ablllLy Lo escape characLers ln Lhls way allows for Lhe characLers and (when wrlLLen as lL and
amp respecLlvely) Lo be lnLerpreLed as characLer daLa raLher Lhan markup lor example a llLeral
normally lndlcaLes Lhe sLarL of a Lag and normally lndlcaLes Lhe sLarL of a characLer enLlLy reference or
numerlc characLer reference wrlLlng lL as amp or #x26 or #38 allows Lo be lncluded ln Lhe
conLenL of an elemenL or ln Lhe value of an aLLrlbuLe 1he doublequoLe characLer () when noL used Lo
quoLe an aLLrlbuLe value musL also be escaped as quoL or #x22 or #34 when lL appears wlLhln Lhe
aLLrlbuLe value lLself LqulvalenLly Lhe slnglequoLe characLer () when used Lo quoLe an aLLrlbuLe value
musL also be escaped as #x27 or #39 (noL as apos excepL ln xP1ML documenLs48) when lL
appears wlLhln Lhe aLLrlbuLe value lLself lf documenL auLhors overlook Lhe need Lo escape such
characLers some browsers can be very forglvlng and Lry Lo use conLexL Lo guess Lhelr lnLenL 1he resulL ls
sLlll lnvalld markup whlch makes Lhe documenL less accesslble Lo oLher browsers and Lo oLher user
agenLs LhaL may Lry Lo parse Lhe documenL for search and lndexlng purposes for example
Lscaplng also allows for characLers LhaL are noL easlly Lyped or LhaL are noL avallable ln Lhe documenLs
characLer encodlng Lo be represenLed wlLhln elemenL and aLLrlbuLe conLenL lor example Lhe acuLe
accenLed e (e) a characLer Lyplcally found only on WesLern Luropean keyboards can be wrlLLen ln any
P1ML documenL as Lhe enLlLy reference eacuLe or as Lhe numerlc references #233 or #xL9 uslng
characLers LhaL are avallable on all keyboards and are supporLed ln all characLer encodlngs unlcode
characLer encodlngs such as u1l8 are compaLlble wlLh all modern browsers and allow dlrecL access Lo
almosL all Lhe characLers of Lhe worlds wrlLlng sysLems49
edlLuaLa Lypes
P1ML deflnes several daLa Lypes for elemenL conLenL such as scrlpL daLa and sLylesheeL daLa and a
pleLhora of Lypes for aLLrlbuLe values lncludlng lus names u8ls numbers unlLs of lengLh languages
medla descrlpLors colors characLer encodlngs daLes and Llmes and so on All of Lhese daLa Lypes are
speclallzaLlons of characLer daLa
edlLuocumenL Lype declaraLlon
P1ML documenLs are requlred Lo sLarL wlLh a uocumenL 1ype ueclaraLlon (lnformally a docLype) ln
browsers Lhe docLype helps Lo deflne Lhe renderlng modeparLlcularly wheLher Lo use qulrks mode
1he orlglnal purpose of Lhe docLype was Lo enable parslng and valldaLlon of P1ML documenLs by SCML
Lools based on Lhe uocumenL 1ype ueflnlLlon (u1u) 1he u1u Lo whlch Lhe uCC1?L refers conLalns a
machlnereadable grammar speclfylng Lhe permlLLed and prohlblLed conLenL for a documenL conformlng
Lo such a u1u 8rowsers on Lhe oLher hand do noL lmplemenL P1ML as an appllcaLlon of SCML and by
consequence do noL read Lhe u1u P1ML3 does noL deflne a u1u because of Lhe Lechnologys lnherenL
llmlLaLlons so ln P1ML3 Lhe docLype declaraLlon !docLype hLml does noL refer Lo a u1u
An example of an P1ML 4 docLype ls
!uCC1?L P1ML u8LlC //W3C//u1u P1ML 401//Ln hLLp//wwww3org/18/hLml4/sLrlcLdLd
1hls declaraLlon references Lhe u1u for Lhe sLrlcL verslon of P1ML 401 SCMLbased valldaLors read
Lhe u1u ln order Lo properly parse Lhe documenL and Lo perform valldaLlon ln modern browsers a valld
docLype acLlvaLes sLandards mode as opposed Lo qulrks mode
ln addlLlon P1ML 401 provldes 1ranslLlonal and lrameseL u1us as explalned below
edlLSemanLlc P1ML

Maln arLlcle SemanLlc P1ML
SemanLlc P1ML ls a way of wrlLlng P1ML LhaL emphaslzes Lhe meanlng of Lhe encoded lnformaLlon over
lLs presenLaLlon (look) P1ML has lncluded semanLlc markup from lLs lncepLlon30 buL has also lncluded
presenLaLlonal markup such as fonL l and cenLer Lags 1here are also Lhe semanLlcally neuLral
span and dlv Lags Slnce Lhe laLe 1990s when Cascadlng SLyle SheeLs were beglnnlng Lo work ln mosL
browsers web auLhors have been encouraged Lo avold Lhe use of presenLaLlonal P1ML markup wlLh a
vlew Lo Lhe separaLlon of presenLaLlon and conLenL31
ln a 2001 dlscusslon of Lhe SemanLlc Web 1lm 8ernersLee and oLhers gave examples of ways ln whlch
lnLelllgenL sofLware agenLs may one day auLomaLlcally Lrawl Lhe Web and flnd fllLer and correlaLe
prevlously unrelaLed publlshed facLs for Lhe beneflL of human users32 Such agenLs are noL
commonplace even now buL some of Lhe ldeas of Web 20 mashups and prlce comparlson webslLes
may be comlng close 1he maln dlfference beLween Lhese web appllcaLlon hybrlds and 8ernersLees
semanLlc agenLs lles ln Lhe facL LhaL Lhe currenL aggregaLlon and hybrldlsaLlon of lnformaLlon ls usually
deslgned ln by web developers who already know Lhe web locaLlons and Lhe Al semanLlcs of Lhe
speclflc daLa Lhey wlsh Lo mash compare and comblne
An lmporLanL Lype of web agenL LhaL does Lrawl and read web pages auLomaLlcally wlLhouL prlor
knowledge of whaL lL mlghL flnd ls Lhe Web crawler or searchenglne splder 1hese sofLware agenLs are
dependenL on Lhe semanLlc clarlLy of web pages Lhey flnd as Lhey use varlous Lechnlques and algorlLhms
Lo read and lndex mllllons of web pages a day and provlde web users wlLh search faclllLles wlLhouL whlch
Lhe World Wlde Web would be only a fracLlon of lLs currenL usefulness
ln order for searchenglne splders Lo be able Lo raLe Lhe slgnlflcance of pleces of LexL Lhey flnd ln P1ML
documenLs and also for Lhose creaLlng mashups and oLher hybrlds as well as for more auLomaLed
agenLs as Lhey are developed Lhe semanLlc sLrucLures LhaL exlsL ln P1ML need Lo be wldely and
unlformly applled Lo brlng ouL Lhe meanlng of publlshed LexL33
resenLaLlonal markup Lags are deprecaLed ln currenL P1ML and xP1ML recommendaLlons and are
lllegal ln P1ML3
Cood semanLlc P1ML also lmproves Lhe accesslblllLy of web documenLs (see also Web ConLenL
AccesslblllLy Culdellnes) lor example when a screen reader or audlo browser can correcLly ascerLaln
Lhe sLrucLure of a documenL lL wlll noL wasLe Lhe vlsually lmpalred users Llme by readlng ouL repeaLed
or lrrelevanL lnformaLlon when lL has been marked up correcLly
edlLuellvery

P1ML documenLs can be dellvered by Lhe same means as any oLher compuLer flle Powever Lhey are
mosL ofLen dellvered elLher by P11 from a web server or by emall
edlLP11
Maln arLlcle PyperLexL 1ransfer roLocol
1he World Wlde Web ls composed prlmarlly of P1ML documenLs LransmlLLed from web servers Lo web
browsers uslng Lhe PyperLexL 1ransfer roLocol (P11) Powever P11 ls used Lo serve lmages sound
and oLher conLenL ln addlLlon Lo P1ML 1o allow Lhe Web browser Lo know how Lo handle each
documenL lL recelves oLher lnformaLlon ls LransmlLLed along wlLh Lhe documenL 1hls meLa daLa usually
lncludes Lhe MlML Lype (eg LexL/hLml or appllcaLlon/xhLml+xml) and Lhe characLer encodlng (see
CharacLer encodlng ln P1ML)
ln modern browsers Lhe MlML Lype LhaL ls senL wlLh Lhe P1ML documenL may affecL how Lhe
documenL ls lnlLlally lnLerpreLed A documenL senL wlLh Lhe xP1ML MlML Lype ls expecLed Lo be well
formed xML synLax errors may cause Lhe browser Lo fall Lo render lL 1he same documenL senL wlLh Lhe
P1ML MlML Lype mlghL be dlsplayed successfully slnce some browsers are more lenlenL wlLh P1ML
1he W3C recommendaLlons sLaLe LhaL xP1ML 10 documenLs LhaL follow guldellnes seL forLh ln Lhe
recommendaLlons Appendlx C may be labeled wlLh elLher MlML 1ype34 1he currenL xP1ML 11
Worklng urafL also sLaLes LhaL xP1ML 11 documenLs should33 be labeled wlLh elLher MlML Lype36
edlLP1ML emall
Maln arLlcle P1ML emall
MosL graphlcal emall cllenLs allow Lhe use of a subseL of P1ML (ofLen llldeflned) Lo provlde formaLLlng
and semanLlc markup noL avallable wlLh plaln LexL 1hls may lnclude Lypographlc lnformaLlon llke
coloured headlngs emphaslzed and quoLed LexL lnllne lmages and dlagrams Many such cllenLs lnclude
boLh a Cul edlLor for composlng P1ML emall messages and a renderlng englne for dlsplaylng Lhem use
of P1ML ln emall ls conLroverslal because of compaLlblllLy lssues because lL can help dlsgulse phlshlng
aLLacks because lL can confuse spam fllLers and because Lhe message slze ls larger Lhan plaln LexL
edlLnamlng convenLlons
1he mosL common fllename exLenslon for flles conLalnlng P1ML ls hLml A common abbrevlaLlon of Lhls
ls hLm whlch orlglnaLed because some early operaLlng sysLems and flle sysLems such as uCS and lA1
llmlLed flle exLenslons Lo Lhree leLLers
edlLP1ML AppllcaLlon
Maln arLlcle P1ML AppllcaLlon
An P1ML AppllcaLlon (P1A flle exLenslon hLa) ls a MlcrosofL Wlndows appllcaLlon LhaL uses P1ML and
uynamlc P1ML ln a browser Lo provlde Lhe appllcaLlons graphlcal lnLerface A regular P1ML flle ls
conflned Lo Lhe securlLy model of Lhe web browser communlcaLlng only Lo web servers and
manlpulaLlng only webpage ob[ecLs and slLe cookles An P1A runs as a fully LrusLed appllcaLlon and
Lherefore has more prlvlleges llke creaLlon/edlLlng/removal of flles and Wlndows 8eglsLry enLrles
8ecause Lhey operaLe ouLslde Lhe browsers securlLy model P1As cannoL be execuLed vla P11 buL
musL be downloaded ([usL llke an LxL flle) and execuLed from local flle sysLem
edlLCurrenL varlaLlons

P1ML ls preclsely whaL we were Lrylng Lo 8LvLn1 everbreaklng llnks llnks golng ouLward only
quoLes you canL follow Lo Lhelr orlglns no verslon managemenL no rlghLs managemenL
1ed nelson37
Slnce lLs lncepLlon P1ML and lLs assoclaLed proLocols galned accepLance relaLlvely qulckly Powever no
clear sLandards exlsLed ln Lhe early years of Lhe language 1hough lLs creaLors orlglnally concelved of
P1ML as a semanLlc language devold of presenLaLlon deLalls38 pracLlcal uses pushed many
presenLaLlonal elemenLs and aLLrlbuLes lnLo Lhe language drlven largely by Lhe varlous browser vendors
1he laLesL sLandards surroundlng P1ML reflecL efforLs Lo overcome Lhe someLlmes chaoLlc developmenL
of Lhe language39 and Lo creaLe a raLlonal foundaLlon for bulldlng boLh meanlngful and wellpresenLed
documenLs 1o reLurn P1ML Lo lLs role as a semanLlc language Lhe W3C has developed sLyle languages
such as CSS and xSL Lo shoulder Lhe burden of presenLaLlon ln con[uncLlon Lhe P1ML speclflcaLlon has
slowly relned ln Lhe presenLaLlonal elemenLs
1here are Lwo axes dlfferenLlaLlng varlous varlaLlons of P1ML as currenLly speclfled SCMLbased P1ML
versus xMLbased P1ML (referred Lo as xP1ML) on one axls and sLrlcL versus LranslLlonal (loose) versus
frameseL on Lhe oLher axls
edlLSCMLbased versus xMLbased P1ML
Cne dlfference ln Lhe laLesL P1ML speclflcaLlons lles ln Lhe dlsLlncLlon beLween Lhe SCMLbased
speclflcaLlon and Lhe xMLbased speclflcaLlon 1he xMLbased speclflcaLlon ls usually called xP1ML Lo
dlsLlngulsh lL clearly from Lhe more LradlLlonal deflnlLlon Powever Lhe rooL elemenL name conLlnues Lo
be hLml even ln Lhe xP1MLspeclfled P1ML 1he W3C lnLended xP1ML 10 Lo be ldenLlcal Lo P1ML 401
excepL where llmlLaLlons of xML over Lhe more complex SCML requlre workarounds 8ecause xP1ML
and P1ML are closely relaLed Lhey are someLlmes documenLed ln parallel ln such clrcumsLances some
auLhors conflaLe Lhe Lwo names as (x)P1ML or x(P1ML)
Llke P1ML 401 xP1ML 10 has Lhree subspeclflcaLlons sLrlcL LranslLlonal and frameseL
Aslde from Lhe dlfferenL openlng declaraLlons for a documenL Lhe dlfferences beLween an P1ML 401
and xP1ML 10 documenLln each of Lhe correspondlng u1usare largely synLacLlc 1he underlylng
synLax of P1ML allows many shorLcuLs LhaL xP1ML does noL such as elemenLs wlLh opLlonal openlng or
closlng Lags and even LM1? elemenLs whlch musL noL have an end Lag 8y conLrasL xP1ML requlres all
elemenLs Lo have an openlng Lag and a closlng Lag xP1ML however also lnLroduces a new shorLcuL an
xP1ML Lag may be opened and closed wlLhln Lhe same Lag by lncludlng a slash before Lhe end of Lhe Lag
llke Lhls br/ 1he lnLroducLlon of Lhls shorLhand whlch ls noL used ln Lhe SCML declaraLlon for P1ML
401 may confuse earller sofLware unfamlllar wlLh Lhls new convenLlon A flx for Lhls ls Lo lnclude a
space before closlng Lhe Lag as such br /60
1o undersLand Lhe subLle dlfferences beLween P1ML and xP1ML conslder Lhe LransformaLlon of a valld
and wellformed xP1ML 10 documenL LhaL adheres Lo Appendlx C (see below) lnLo a valld P1ML 401
documenL 1o make Lhls LranslaLlon requlres Lhe followlng sLeps
1he language for an elemenL should be speclfled wlLh a lang aLLrlbuLe raLher Lhan Lhe xP1ML xmllang
aLLrlbuLe xP1ML uses xMLs bullL ln languagedeflnlng funcLlonallLy aLLrlbuLe
8emove Lhe xML namespace (xmlnsu8l) P1ML has no faclllLles for namespaces
Change Lhe documenL Lype declaraLlon from xP1ML 10 Lo P1ML 401 (see u1u secLlon for furLher
explanaLlon)
lf presenL remove Lhe xML declaraLlon (1yplcally Lhls ls ?xml verslon10 encodlnguLf8?)
Lnsure LhaL Lhe documenLs MlML Lype ls seL Lo LexL/hLml lor boLh P1ML and xP1ML Lhls comes from
Lhe P11 ConLenL1ype header senL by Lhe server
Change Lhe xML empLyelemenL synLax Lo an P1ML sLyle empLy elemenL (br/ Lo br)
1hose are Lhe maln changes necessary Lo LranslaLe a documenL from xP1ML 10 Lo P1ML 401 1o
LranslaLe from P1ML Lo xP1ML would also requlre Lhe addlLlon of any omlLLed openlng or closlng Lags
WheLher codlng ln P1ML or xP1ML lL may [usL be besL Lo always lnclude Lhe opLlonal Lags wlLhln an
P1ML documenL raLher Lhan rememberlng whlch Lags can be omlLLed
A wellformed xP1ML documenL adheres Lo all Lhe synLax requlremenLs of xML A valld documenL
adheres Lo Lhe conLenL speclflcaLlon for xP1ML whlch descrlbes Lhe documenL sLrucLure
1he W3C recommends several convenLlons Lo ensure an easy mlgraLlon beLween P1ML and xP1ML (see
P1ML CompaLlblllLy Culdellnes) 1he followlng sLeps can be applled Lo xP1ML 10 documenLs only
lnclude boLh xmllang and lang aLLrlbuLes on any elemenLs asslgnlng language
use Lhe empLyelemenL synLax only for elemenLs speclfled as empLy ln P1ML
lnclude an exLra space ln empLyelemenL Lags for example br / lnsLead of br/
lnclude expllclL close Lags for elemenLs LhaL permlL conLenL buL are lefL empLy (for example dlv/dlv
noL dlv /)
CmlL Lhe xML declaraLlon
8y carefully followlng Lhe W3Cs compaLlblllLy guldellnes a user agenL should be able Lo lnLerpreL Lhe
documenL equally as P1ML or xP1ML lor documenLs LhaL are xP1ML 10 and have been made
compaLlble ln Lhls way Lhe W3C permlLs Lhem Lo be served elLher as P1ML (wlLh a LexL/hLml MlML
Lype) or as xP1ML (wlLh an appllcaLlon/xhLml+xml or appllcaLlon/xml MlML Lype) When dellvered as
xP1ML browsers should use an xML parser whlch adheres sLrlcLly Lo Lhe xML speclflcaLlons for parslng
Lhe documenLs conLenLs
edlL1ranslLlonal versus sLrlcL
P1ML 4 deflned Lhree dlfferenL verslons of Lhe language SLrlcL 1ranslLlonal (once called Loose) and
lrameseL 1he SLrlcL verslon ls lnLended for new documenLs and ls consldered besL pracLlce whlle Lhe
1ranslLlonal and lrameseL verslons were developed Lo make lL easler Lo LranslLlon documenLs LhaL
conformed Lo older P1ML speclflcaLlon or dldnL conform Lo any speclflcaLlon Lo a verslon of P1ML 4
1he 1ranslLlonal and lrameseL verslons allow for presenLaLlonal markup whlch ls omlLLed ln Lhe SLrlcL
verslon lnsLead cascadlng sLyle sheeLs are encouraged Lo lmprove Lhe presenLaLlon of P1ML
documenLs 8ecause xP1ML 1 only deflnes an xML synLax for Lhe language deflned by P1ML 4 Lhe same
dlfferences apply Lo xP1ML 1 as well 1he 1ranslLlonal verslon allows Lhe followlng parLs of Lhe
vocabulary whlch are noL lncluded ln Lhe SLrlcL verslon
A looser conLenL model
lnllne elemenLs and plaln LexL are allowed dlrecLly ln body blockquoLe form noscrlpL and noframes
resenLaLlon relaLed elemenLs
underllne (u)(ueprecaLed can confuse a vlslLor wlLh a hyperllnk)
sLrlkeLhrough (s)
cenLer(ueprecaLed use CSS lnsLead)
fonL(ueprecaLed use CSS lnsLead)
basefonL(ueprecaLed use CSS lnsLead)
resenLaLlon relaLed aLLrlbuLes
background(ueprecaLed use CSS lnsLead) and bgcolor(ueprecaLed use CSS lnsLead) aLLrlbuLes for
body(requlred elemenL accordlng Lo Lhe W3C) elemenL
allgn(ueprecaLed use CSS lnsLead) aLLrlbuLe on dlv form paragraph (p) and headlng (h1h6) elemenLs
allgn(ueprecaLed use CSS lnsLead) noshade(ueprecaLed use CSS lnsLead) slze(ueprecaLed use CSS
lnsLead) and wldLh(ueprecaLed use CSS lnsLead) aLLrlbuLes on hr elemenL
allgn(ueprecaLed use CSS lnsLead) border vspace and hspace aLLrlbuLes on lmg and ob[ecL(cauLlon
Lhe ob[ecL elemenL ls only supporLed ln lnLerneL Lxplorer(from Lhe ma[or browsers)) elemenLs
allgn(ueprecaLed use CSS lnsLead) aLLrlbuLe on legend and capLlon elemenLs
allgn(ueprecaLed use CSS lnsLead) and bgcolor(ueprecaLed use CSS lnsLead) on Lable elemenL
nowrap(CbsoleLe) bgcolor(ueprecaLed use CSS lnsLead) wldLh helghL on Ld and Lh elemenLs
bgcolor(ueprecaLed use CSS lnsLead) aLLrlbuLe on Lr elemenL
clear(CbsoleLe) aLLrlbuLe on br elemenL
compacL aLLrlbuLe on dl dlr and menu elemenLs
Lype(ueprecaLed use CSS lnsLead) compacL(ueprecaLed use CSS lnsLead) and sLarL(ueprecaLed use
CSS lnsLead) aLLrlbuLes on ol and ul elemenLs
Lype and value aLLrlbuLes on ll elemenL
wldLh aLLrlbuLe on pre elemenL
AddlLlonal elemenLs ln 1ranslLlonal speclflcaLlon
menu(ueprecaLed use CSS lnsLead) llsL (no subsLlLuLe Lhough unordered llsL ls recommended)
dlr(ueprecaLed use CSS lnsLead) llsL (no subsLlLuLe Lhough unordered llsL ls recommended)
lslndex(ueprecaLed) (elemenL requlres serverslde supporL and ls Lyplcally added Lo documenLs server
slde form and lnpuL elemenLs can be used as a subsLlLuLe)
appleL (ueprecaLed use Lhe ob[ecL elemenL lnsLead)
1he language(CbsoleLe) aLLrlbuLe on scrlpL elemenL (redundanL wlLh Lhe Lype aLLrlbuLe)
lrame relaLed enLlLles
lframe
noframes
LargeL(ueprecaLed ln Lhe map llnk and form elemenLs) aLLrlbuLe on a cllenLslde lmagemap (map)
llnk form and base elemenLs
1he lrameseL verslon lncludes everyLhlng ln Lhe 1ranslLlonal verslon as well as Lhe frameseL elemenL
(used lnsLead of body) and Lhe frame elemenL
edlLlrameseL versus LranslLlonal
ln addlLlon Lo Lhe above LranslLlonal dlfferences Lhe frameseL speclflcaLlons (wheLher xP1ML 10 or
P1ML 401) speclfles a dlfferenL conLenL model wlLh frameseL replaclng body LhaL conLalns elLher
frame elemenLs or opLlonally noframes wlLh a body
edlLSummary of speclflcaLlon verslons
As Lhls llsL demonsLraLes Lhe loose verslons of Lhe speclflcaLlon are malnLalned for legacy supporL
Powever conLrary Lo popular mlsconcepLlons Lhe move Lo xP1ML does noL lmply a removal of Lhls
legacy supporL 8aLher Lhe x ln xML sLands for exLenslble and Lhe W3C ls modularlzlng Lhe enLlre
speclflcaLlon and openlng lL up Lo lndependenL exLenslons 1he prlmary achlevemenL ln Lhe move from
xP1ML 10 Lo xP1ML 11 ls Lhe modularlzaLlon of Lhe enLlre speclflcaLlon 1he sLrlcL verslon of P1ML ls
deployed ln xP1ML 11 Lhrough a seL of modular exLenslons Lo Lhe base xP1ML 11 speclflcaLlon
Llkewlse someone looklng for Lhe loose (LranslLlonal) or frameseL speclflcaLlons wlll flnd slmllar
exLended xP1ML 11 supporL (much of lL ls conLalned ln Lhe legacy or frame modules) 1he
modularlzaLlon also allows for separaLe feaLures Lo develop on Lhelr own LlmeLable So for example
xP1ML 11 wlll allow qulcker mlgraLlon Lo emerglng xML sLandards such as MaLhML (a presenLaLlonal
and semanLlc maLh language based on xML) and xlormsa new hlghly advanced webform Lechnology
Lo replace Lhe exlsLlng P1ML forms
ln summary Lhe P1ML 401 speclflcaLlon prlmarlly relned ln all Lhe varlous P1ML lmplemenLaLlons lnLo a
slngle clearly wrlLLen speclflcaLlon based on SCML xP1ML 10 porLed Lhls speclflcaLlon as ls Lo Lhe new
xML deflned speclflcaLlon nexL xP1ML 11 Lakes advanLage of Lhe exLenslble naLure of xML and
modularlzes Lhe whole speclflcaLlon xP1ML 20 wlll be Lhe flrsL sLep ln addlng new feaLures Lo Lhe
speclflcaLlon ln a sLandardsbodybased approach
edlLPyperLexL feaLures noL ln P1ML

P1ML lacks some of Lhe feaLures found ln earller hyperLexL sysLems such as Lyped llnks source Lracklng
faL llnks and oLhers61 Lven some hyperLexL feaLures LhaL were ln early verslons of P1ML have been
lgnored by mosL popular web browsers unLll recenLly such as Lhe llnk elemenL and lnbrowser Web
page edlLlng
SomeLlmes Web servlces or browser manufacLurers remedy Lhese shorLcomlngs lor lnsLance wlkls and
conLenL managemenL sysLems allow surfers Lo edlL Lhe Web pages Lhey vlslL
edlLW?SlW?C edlLors

1here are some W?SlW?C edlLors (WhaL ?ou See ls WhaL ?ou CeL) ln whlch Lhe user lays ouL everyLhlng
as lL ls Lo appear ln Lhe P1ML documenL uslng a graphlcal user lnLerface (Cul) where Lhe edlLor renders
Lhls as an P1ML documenL no longer requlrlng Lhe auLhor Lo have exLenslve knowledge of P1ML
1he W?SlW?C edlLlng model has been crlLlclzed6263 prlmarlly because of Lhe low quallLy of Lhe
generaLed code Lhere are volces advocaLlng a change Lo Lhe W?SlW?M model (WhaL ?ou See ls WhaL
?ou Mean)
W?SlW?C edlLors remalns a conLroverslal Loplc because of Lhelr percelved flaws such as
8elylng malnly on layouL as opposed Lo meanlng ofLen uslng markup LhaL does noL convey Lhe lnLended
meanlng buL slmply coples Lhe layouL64
CfLen produclng exLremely verbose and redundanL code LhaL falls Lo make use of Lhe cascadlng naLure
of P1ML and CSS
CfLen produclng ungrammaLlcal markup ofLen called Lag soup
As a greaL deal of lnformaLlon of P1ML documenLs ls noL ln Lhe layouL Lhe model has been crlLlclzed for
lLs whaL you see ls all you geLnaLure63
neverLheless slnce W?SlW?C edlLors offer convenlence over handcoded pages as well as noL requlrlng
Lhe auLhor Lo know Lhe flner deLalls of P1ML Lhey sLlll domlnaLe web auLhorlngclLaLlon needed
edlLSee also

8readcrumb (navlgaLlon)
CSS
uynamlc web page
P1ML declmal characLer renderlng
P11
LlsL of documenL markup languages
MlcroformaL
SCML
xML
edlL

S-ar putea să vă placă și