HTML To XHTML conversion steps
To
convert a Web site from HTML to XHTML, you should be familiar with the
XHTML syntax rules of the previous chapters. The following steps were
executed (in the order listed below):
A DOCTYPE Definition Was Added
The following DOCTYPE declaration was added as the first line of every page:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
Note
that we used the transitional DTD. We could have chosen the strict DTD,
but found it a little too "strict", and a little too hard to conform
to.
A Note About The DOCTYPE
Your pages must have a DOCTYPE declaration if you want them to validate as correct XHTML.
Be
aware however, that newer browsers (like Internet Explorer 6) might
treat your document differently depending on the <!DOCTYPE>
declaration. If the browser reads a document with a DOCTYPE, it might
treat the document as "correct". Malformed XHTML might fall over and
display differently than without a DOCTYPE.
Lower Case Tag And Attribute Names
Since
XHTML is case sensitive, and since XHTML only accepts lower case HTML
tags and attribute names, a general search and replace function was
executed to replace all upper case tags with lowercase tags. The same
was done for attribute names. We have always tried to use lower case
names in our Web, so the replace function did not produce many real
substitutions.
All Attributes Were Quoted
Since
the W3C XHTML 1.0 Recommendation states that all attribute values must
be quoted, every page in the web was checked to see that attributes
values were properly quoted. This was a time-consuming job, and we will
surely never again forget to put quotes around our attribute values.
Empty Tags: <hr> , <br> and <img>
Empty tags are not allowed in XHTML. The <hr> and <br> tags should be replaced with <hr /> and <br />.
This
produced a problem with Netscape that misinterpreted the <br/>
tag. We don't know why, but changing it to <br /> worked fine.
After that discovery, a general search and replace function was executed
to swap the tags.
A
few other tags (like the <img> tag) were suffering from the same
problem as above. We decided not to close the <img> tags with
</img>, but with /> at the end of the tag. This was done
manually.
No comments:
Post a Comment