XHTML
CSE(M)
Dr. Koyel Datta Gupta
What is XHTML?
XHTML stands for Extensible Hypertext
Markup Language
XHTML is aimed to replace HTML
XHTML is almost identical to HTML 4.01
XHTML is a stricter and cleaner version of
HTML
XML (Extensible Markup Language) is a
markup language designed for describing
data
XHTML is HTML redefined as an XML
application
XHTML is a “bridge” between HTML and XML
The problem with HTML
HTML started out as a way of describing the
structure of documents, with tags to indicate
headers, paragraphs, and the like
Because people wanted to control the
appearance of documents, HTML acquired tags
to control fonts, alignment, etc.
The result is a markup language that does both,
but isn’t very good at either
From HTML to XHTML
XHTML elements must be properly nested
<b><i>bold and italic</b></i> is wrong
XHTML documents must be well-formed
<html>
<head> ... </head>
<body> ... </body>
</html>
Tag names must be in lowercase
All XHTML elements must be closed
If an HTML tag is not a container, close it like
this:
<br />, <hr />, <image src="smile.gif" />
Note: Some browsers require a space before the /
From HTML to XHTML
Attribute names must also be in lower case
Example: <table width="100%">
Attribute values must be quoted
Example: <table width="100%">
Attribute minimization is forbidden
Example: <frame noresize="noresize">,
cannot be abbreviated to <frame noresize>
The id attribute replaces the name attribute
Wrong: <img src="picture.gif" name="picture1" />
Right: <img src="picture.gif" id="picture1" />
Best: <img src="picture.gif" name="picture1"
id="picture1" />
SGML and DTDs
SGML stands for “Standard Generalized Markup
Language”
HTML, XHTML, XML and many other markup
languages are defined in SGML
A DTD, or “Document Type Definition” describes
the syntax to use for the current document
There are three different DTDs for XHTML--you can
pick the one you want
These DTDs are public and on the web
You must start your XHTML document with a reference to
one of these DTDs
DOCTYPE declaration
Every XHTML document must begin
with one of the DOCTYPE declarations
(DTDs):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
DOCTYPE declaration
The three main DTDs are as
follows:
Strict
Use for really clean markup, with no
display information (no font, color, or size
information)
Use with CSS (Cascading Style Sheets) if
you want to define how the document
should look
Transitional
Use with standard HTML and/or with CSS
Allows deprecated HTML elements
An XHTML Example
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
strict.dtd">
<html>
<head>
<title>A simple document</title>
</head>
<body>
<p>A simple paragraph.</p>
</body>
</html>
Testing an XHTML Document
• To test under another DTD, you’ll need to
change the DOCTYPE declaration.
Changing the DOCTYPE declaration to XHTML 1.0 strict
Using Style Sheets and XHTML
• Parsed character data (PCDATA) is text
parsed by a browser or parser.
• Unparsed character data (CDATA) is text not
processed by the browser or parser.