Writing XHTML demands a clean HTML syntax.
Writing XHTML requires a clean HTML syntax
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Some More XHTML Syntax Rules:
More XHTML syntax rules:
Attribute names must be in lower case
The attribute name must be lowercase
Attribute values must be quoted
Use double quotes for attribute values
Attribute minimization is forbidden
Attribute abbreviation is not allowed
The id attribute replaces the name attribute
Use the id attribute to replace the name attribute
The XHTML DTD defines mandatory elements
XHTML DTD defines mandatory elements
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Attribute Names Must Be In Lower Case
The attribute name must be lowercase
This is wrong:
This is wrong:
<table WIDTH=100%>This is correct:
that's right:
<table width=100%>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Attribute Values Must Be Quoted
The attribute value must be in double quotes
This is wrong:
This is wrong:
<table width=100%>This is correct:
that's right:
<table width=100%>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Attribute Minimization Is Forbidden
Abbreviation of attributes is not allowed
This is wrong:
This is wrong:
<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>This is correct:
The correct thing is:
<input checked=checked />
<input readonly=readonly />
<input disabled=disabled />
<option selected=selected />
<frame noresize=noresize />Here is a list of the minimized attributes in HTML and how they should be written in XHTML:
Here is a list of the properties abbreviated in HTML and how they should be written in XHTML:
HTML XHTML
compact compact=compact
checked checked=checked
declare declare=declare
readonly readonly readonly=readonly
disabled disabled disabled=disabled
selected selected=selected
defer defer=defer
ismap ismap=ismap
nohref nohref=nohref
noshade noshade=noshade
nowrap nowrap=nowrap
multiple multiple=multiple
noresize noresize=noresize
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The id Attribute Replaces The name Attribute
Replace name attribute with id attribute
HTML 4.01 defines a name attribute for the elements a, applet, frame, iframe, img, and map. In XHTML the name attribute is deprecated. Use id instead.
For a, applet, frame, iframe, img and map, a name attribute is defined in HTML 4.01. This is not recommended in XHTML, and id is used instead.
This is wrong:
This is wrong:
<img src=picture.gif name=picture1 />This is correct:
that's right:
<img src=picture.gif id=picture1 />Note: To interoperate with older browsers for a while, you should use both name and id, with identifier attribute values, like this:
Note: For lower version browsers, you should use the name and id attributes at the same time and make the values of both of them the same, like this:
<img src=picture.gif id=picture1 name=picture1 />IMPORTANT Compatibility Note:
Compatibility notes:
To make your XHTML compatible with today''s browsers, you should add an extra space before the / symbol.
Make your XHTML compatible with the current browser you should add spaces before /tag
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The Lang Attribute
Lang Attributes
The lang attribute applies to almost every XHTML element. It specifies the language of the content within an element.
The lang attribute can be applied to almost all XHTML elements. It specifies the language of the content in the element
If you use the lang attribute in an element, you must add the xml:lang attribute, like this:
If you apply lang attributes like in an element, you have to add the xml:lang attribute, like this:
<div lang=no xml:lang=no>Heia Norge!</div>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Mandatory XHTML Elements
Force XHTML elements
All XHTML documents must have a DOCTYPE declaration. The html, head and body elements must be present, and the title must be present inside the head element.
All XHTML documents must have a DOCTYPE reputation. html, head and body elements must appear, and the title must be in the head element
This is a minimum XHTML document template:
This is a very small XHTML document template
<!DOCTYPE Doctype goes here>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<title>Title goes here</title>
</head><body>
Body text goes here
</body></html>Note: The DOCTYPE declaration is not a part of the XHTML document itself. It is not an XHTML element, and it should not have a closing tag.
Note: The DOCTYPE declaration is not part of the XHTML document itself. It is not an XHTML element either, it shouldn't have a closed tag.
Note: The xmlns attribute inside the <html> tag is required in XHTML. However, the validator on w3.org does not complain when this attribute is missing in an XHTML document. This is because xmlns=http://www.w3.org/1999/xhtml is a fixed value and will be added to the <html> tag even if you do not include it.
Note: The XHTML document requires that the xmlns attribute appears in the html tag. However, w3.org's verifier will not report errors because this property does not appear in your XHTML document. This is because xmlns=http://www.w3.org/1999/xhtml is a fixed value, and it will be added automatically even if your document does not include it.
You will learn more about the XHTML document type definition in the next chapter