XHtml Interview Questions And Answers 5

Started by ganeshbala, Apr 01, 2008, 05:20 PM

Previous topic - Next topic

ganeshbala

XHtml Interview Questions And Answers

What the benefits of XHTML are?
As XHTML is an XML application, you will benefit from developments in the XML world. For example XML tools such as editors, converters, browsers, etc. can be used with XHTML resources. In addition there are developments to the XML family of protocols and formats which will provide additional functionality for XHTML.

Attributes values must be in double or single quotes
<ol type=1>
becomes
<ol type="1">
or
<ol type='1'>

Every element must have an end tag, even when it doesn't really matter.
< br >
< input type="text" value="Amazon.com" size="20" >

becomes
< br />
< input type="text" value="Amazon.com" size="20" / >

For compatibility with older browsers its best to put a single space before the '/'. Some browsers have trouble with "< br >< /br >" so its best to use "< br />"

How to convert most HTML pages to XHTML.
1. Heading lines at top
At the beginning of documents we need to include a few lines:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

The location of the dtd allows validating parsers to check the document. Most browsers will ignore these tags.

Every attribute must have a value

<ol compact>
<input type="radio" name="title" value="decline" checked>decline</input>

becomes
<ol compact="compact" >
<input type="radio" name="title" value="decline" checked="checked">decline</input>

What the benefits of XHTML are?

As XHTML is an XML application, you will benefit from developments in the XML world. For example XML tools such as editors, converters, browsers, etc. can be used with XHTML resources. In addition there are developments to the XML family of protocols and formats which will provide additional functionality for XHTML.

Attributes values must be in double or single quotes

<ol type=1>
becomes
<ol type="1">
or
<ol type='1'>

Every element must have an end tag, even when it doesn't really matter.



<input type="text" value="Amazon.com" size="20" >

becomes


<input type="text" value="Amazon.com" size="20" />

For compatibility with older browsers its best to put a single space before the '/'. Some browsers have trouble with "
</br>" so its best to use "
"

How to convert most HTML pages to XHTML.
1. Heading lines at top
At the beginning of documents we need to include a few lines:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

The location of the dtd allows validating parsers to check the document. Most browsers will ignore these tags.

Every attribute must have a value

<ol compact>
<input type="radio" name="title" value="decline" checked>decline</input>

becomes
<ol compact="compact" >
<input type="radio" name="title" value="decline" checked="checked">decline</input>

How W3Schools Was Converted To XHTML ?
W3Schools was converted from HTML to XHTML.
To convert a Web site from HTML to XHTML, you should be familiar with the XHTML syntax rules.
Your pages must have a DOCTYPE declaration if you want them to validate as correct XHTML.
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">

Be aware however, that newer browsers 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.

The Web Site Was Validated
After that, all pages were validated against the official W3C DTD with this link: XHTML Validator. A few more errors were found and edited manually. The most common error was missing < /li > tags in lists.

Downcase HTML tags, attributes, and HTML defined values
<BODY BGCOLOR="RED">

becomes
<body bgcolor="red">
(Capitols are ok in user defined attribute values like <img src="..." alt="My Favorite Picture">.)

What XHTML does it stand for? How is if different from HTML? Who developed it? ?
XHTML stands for "Extensible HyperText Markup Language". It was developed by the World Wide Web Consortium (W3C) and is now a W3C Recommendation.
XHTML is a reformulation of HTML 4 in XML 1.0. This means that the benefits provided by XML will be available to XHTML.

How does HTML differ from XHTML ?
XHTML has a small number of differences. The most noticeable being the requirement for elements to be lowercase (e.g. <p> and not <P>) and elements to be closed (e.g. paragraphs must end with a </p>).

Why to type a tags in uppercase, and never bother closing the paragraphs ?
For reasons on internationalisation XML elements are case sensitive. A choice had to be made, and lowercase won on the day.

Tags may not overlap

This is emphasized text and < b > bold < /em>text< /b >

becomes
This is emphasized text is < b > bold text< / b>

Only certain tags may nest inside other tags

Looking at the dtd for xhtml, the definition of the "ol" element is:

<!ELEMENT ol (li)+>
<!ATTLIST ol
%attrs;
type %OLStyle; #IMPLIED
compact (compact) #IMPLIED
start %Number; #IMPLIED
>

This implies that an order list, "ol", element may not contain paragraph tags or body text, just list items.
<ol>

These are some of my favorite animals:
<li>octopus</li>
<li>shrew</li>
<li>lemur</li>
and my most favorite
<li>meerkats</li>
</ol>

becomes
<p>These are some of my favorite animals:</p>
<ol>
<li>octopus</li>
<li>shrew</li>
<li>lemur</li>
<li>meerkats</li>
</ol>
;