Saturday, January 30, 2010

XHTML 1

XHTML
******************************************************

* XML language is used for define XHTML.

* XML is a language for define other Markup languages like XHTML.

* XML used for describing data.

* XHTML is an application of XML.

******************************************************
Structure of XHTML document
===========================

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
</head>

<body>
</body>

</html>

------------------------- Description

/* It is XML declaration. It is required for XML.
It is not required for XHTML. XHTML validator required it.
So it is a good idea to use it. */

<?xml version="1.0" encoding="utf-8"?>


/* This DOCTYPE element is required by the XHTML.
The second line is optional, but it is a good idea to use it. */

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


/* The attribute "xmlns" of <html> tag is required.
It tell the parser which Namespace is used in the
XML language.xmlns stands for xml Namespace */

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
</head>

<body>
</body>

</html>

-------------------------

We must follow above structure of XHTML document, other wise
It show invalid XHTML document when validating XHTML document
Using http://validator.w3.org.

XHTML Valuator:
http://validator.w3.org

-------------------------

******************************************************
Short Cuts
----------

<hr> </hr> ---> <hr />

******************************************************

* In XHTML all tags name must be lowercase letters.
Uppercase and Mixed cases are not allowed in XHTML.

* But the DOCTYPE tag is in Uppercase, because it is outside the <html> tag.

--------------

* In XHTML all attributes must be in quotation mark (double quotes).
This is another difference between XHTML and HTML.

<p align="right"> Hello How are you </p>

--------------

******************************************************

-------------- XML declaration

<?xml version="1.0" encoding="utf-8"?>

* Indicate that this document is used in an application of XML.
* XHTML is an application of XML.
* We must use this XML declaration when the character encoding of
the document is other than default utf-8 or utf-16 and no encoding is
Determined by higher level protocols.

<?xml version="1.0" encoding="iso-8859-1"?>

* It also specifies the version of XML.
* UTF stands for Universal Text Format.

--------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

* DOCTYPE specifying which version of XHTML is using, here it is XHTML 1.0.
* DTD stands for Document Type Definition.
* There are 3 versions of XHTML DTD, they are Strict,Transitional and Frameset.
* Here version of XHTML DTD is Strict.
* Strict DOCTYPE is used with Style Sheet (css).
* Three different DOCTYPEs are Strict,Transitional and Frameset.

Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional .dtd">

Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-Frameset.dtd">

Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


******************************************************

* <center> </center> tag is not support in Strict DOCTYPE.

-----------------

<body>
<p> paragraph-1 </p>
<p> paragraph-1 </p>
<p> paragraph-1 </p>
</body>

* Here "p" is called Tag or Container.
* "p" tag ignoring the leading spaces after the opening tag <p>.

-----------------

* In XHTML and HTML all sequence spaces are folded into one space character.
* In XHTML and HTML all white spaces are folded into one white space.

-----------------

<body>
<p align="left"> paragraph-1 </p> <--- Default.
<p align="right"> paragraph-1 </p>
<p align="center"> paragraph-1 </p>
</body>

-----------------

******************************************************
Block Level Tags and Inline Tags or Elements
============================================

Block Level Elements
====================

* <p>, <div>, <center>, <h1> are block level elements.
* Block level elements take block of space on the browser.
* Block level elements not float with in a block.
* <p> tag is special, because it only contains Inline elements.
It not allowed containing other Block level elements.
* <div> and <center> are allowed to contain other Block level elements.
* Some of the Block level elements only allowed containing other Block level elements.
* Look www.w3.org for more details.

Inline Elements
===============

* Words and Images are example of inline elements.
* <img>,<em> are examples of inline elements.
* Inline elements float with in a block.
* We can include the <img> inline elements inside a table cell or
Center tag to change it behavior.

<br />,

******************************************************
Non Bracking Space ( )
===========================

* --> Non Bracking Space.

* "SAJU Madhavan" and "SAJU Madhavan" are different.

* "SAJU Madhavan" ---> Contain two words 'SAJU' and 'Madhavan'.
* "SAJU Madhavan" ---> Considered as one word 'SAJU Madhavan'

* Non Bracking Space ( ) is not consider as a white space when
we wrap a text.So not breaking the line or text with
when we wrap a text.

* That is is not a white space.
* If you want a paragraph not wrap, then search replace all white space
with Non Bracking Space ( ), then all the words in that paragraph are
considered as a single word , then we can see that paragraph in a single line.

-----------------------

<br /> ---> force line break or force wrap.

* <br /> is an Inline element, because it float after line break.

******************************************************
Inline Phrase Element
=====================

* Phrase Elements are used to give meaning to block of text.

<em> </em>

<strong> </strong>

<q> </q> <--- Quotes(not working in Internet Explorer).

<code> </code>

<abbr> </abbr>

<acronym> </acronym>

<dfn> </dfn>

<kbr> </kbr>

<samp> </samp>

<var> </var>

-----------------Examples

<p> <em>Hello</em> How are you </p>

<p> <strong>Hello</strong> How are you </p>


******************************************************
Font-Markup Tag or Elements
===========================
* Font-Markup element changes the look of the text.

<b> </b>

<big> </big>

<i> </i>

<s> </s> <-- Same as the <strike> element.(draw a line above the text).

<small> </small>

<strike> </strike>

<tt> </tt>

<u> </u>


******************************************************
Headings <h1> --- <h6>
======================

* Headings are block level elements or containers.
* There are 6 levels of headings.
* Search engines like google read the head tag and index the page.


******************************************************
Blockquote
==========

<blockquote> </blockquote>

* The text between this tags are intended both left and right in the browser window.
* Used for intend text.
* We can also use css instead of this element.

Quotes
======
<q> </q> <--- Quotes (not working in Internet Explorer).

"

“ <--- Left double quote

” <--- Right double quote

------------------------Examples

<q> hello </q>

" hello "

“ hello “

” hello ”


******************************************************
<pre> Element or Tag
====================
* 'pre' means preformatted text.
* <pre> tag display the text in original format without changing it.
* <pre> tags deny the properties of XHTML.
* Inside the <pre> tag white spaces are not consider as a single white space.
* This tag turns off the tendency of XHTML to fold the spaces into one space.

<pre>

hello
how are you

</pre>

******************************************************
<font> element
--------------
* It is an inline element.

<font face="lucida,verdana,sans-serif">
Hello how are you
</font>


font size
---------
<font face="lucida,verdana,sans-serif" size="3">
<font size="+2"> Hello </font>
how are
<font size="-2"> you </font>
</font>



******************************************************
Lists
=====
* There are 3 types of lists.
1) Unordered List (ul)
2) Ordered List (ol)
3) Defenition List (dt)


1. <ul> Unordered List Element
==============================
* ul --> Unordered list.
* li --> list item.
* 'ul' and 'li' element have three options to set types,
they are 'circle','square',and 'disc'.

-------

<ul type="circle">
<li> One </li>
<li> Two </li>
<li> Three </li>
<li> Four </li>
</ul>

-------

<ul type="circle">
<li> One </li>
<li type="square"> Two </li>
<li> Three </li>
<li> Four </li>
</ul>

-------


2. <ol> Ordered List Element
============================
* ol --> Ordered list.
* li --> list item.
* 'ol' and 'li' element have different options to set "type" attribute,
they are '1','I','i','A' and 'a'

* 'ol' have another attribute called "start", to set starting and it must be number.

-------

<ol type="A">
<li> One </li>
<li> Two </li>
<li> Three </li>
<li> Four </li>
</ol>

-------

<ol start="10" type="i">
<li> One </li>
<li> Two </li>
<li> Three </li>
<li> Four </li>
</ol>

-------

3. <dt> Defenition List Element
===============================
* dl --> Definition List
* dt --> definition term
* dd --> Definition

* We can use other list inside the definition list.

-------
<dl>
<dt>one</dt>
<dd>name</dd>

<dt>two</dt>
<dd>address</dd>
</dl>

-------

<dl>
<dt>one</dt>
<dd>name</dd>
<ol type="A">
<li> One </li>
<li> Two </li>
<li> Three </li>
<li> Four </li>
</ol>

<dt>two</dt>
<dd>address</dd>
</dl>

-------

******************************************************
Hyperlinks
==========
a --> anchor tag.
href --> Hyperlink reference.
title --> toot tip.

<a href="http://www.google.com" title="google"> Click Here </a>

* Here 'http' is the protocol and 'google' is the domain name.

Attribute 'target' of <a> tag
=============================
Set target="_blank" or target="new" to open link in new browser window or tab.

<a href="http://www.google.com" title="google" target="_blank"> Click Here </a>


Attributes of <body> tag
========================
vlink --> to set visited link color.
link --> to set link color.

<body link="#FFCC" vlink="#FCCA">

</body>


******************************************************
Different Types of URLs
=======================

valitive url
---------------------------
<a href="test.html" > Click Here </a>

* Here not specifying any protocol and domain name.
* In this case the browser search in the current location in the
webserver for the file 'test.html'.

Another Type of valitive url
----------------------------
<a href="subdir/test.html" > Click Here </a>

* Specifying a subdirectory in this type url.
* In this case the browser search in the current location in the
webserver for the directory 'subdir'.

Another Type of valitive url
----------------------------
<a href="../test.html" > Click Here </a>

* Search in one directory back from the current directory for the file 'test.html'.

* ../ ---> Means move one directory back.

Different Parts of URLs
=======================

scheme://host:port/path:parameters?query#fragment

scheme:
//host
:port
/path
:parameters
?query
#fragment

******************************************************
<base/> Element
==============

<base href="http://www.mysite.com/misc/test/"/>

<a href="testone.html"> Click Here </a>

-------------
* In this example, searching for file 'testone.html' in the base location
'http://www.mysite.com/misc/test/', when we click on 'Click Here' link.

* <base> element give different reference or location for valitive url.
* <base> element specify a location or directory to search for valitive url.
* <base> element directory specification must end with slash '/'.
* <base> element changing the location of current document.
* <base> element is used for change the location to be search for valitive url.
* <base> element is used for change the search location for <a> tag.
* It is used occasionally, when we want to move few pages from one location to another.


******************************************************
Fragment
========

<a href="#SA"> Click Me <a/>
<a name="SA"></a>

Fragment link
-------------
<a href="#SA"> Click Me <a/>


Fragment Identifier
-------------------
<a name="SA"></a>

------------------
* For creating Link to specific points in the same web page.
* When we click on the Fragment link, the view change to fragment identifier in the page.
* Here we using 'href' and 'name' attributes of <a> tag.
* # --> used for specify fragment.
* Remember, not write any content between <a> and </a> tags in the case of Fragment Identifier,
that may cause problems when using css.

------------------
<a href="#ADDR"> Address <a/>


<a name="ADDR">Address</a>
Myaddress here
Myaddress here
------------------

******************************************************
<img> Element
=============

<img src="user.gif" alt="picture of user" title="user" width="300" height="200" />

* It is an inline element.
* alt --> this attribute is used for display message
for browsers that not able to display the image.
* title --> tool tip attribute.

* Specifying the width and height attribute in <img> tag make
the browser to render the page quickly.

* The browser first read all html code from the server and creating a layout of the page in the browser. If we don’t specifying the image width and height in <img> tag, then the browser has to load the image and find the width and height before displaying the layout of the page, that is time consuming.

* If we don’t Specifying the width and height attribute in <img> tag, then the browser display the page only after loading all the images to local sysytem,
that take long time.

Attributes of <img> tag
=======================

align --> For float image left and right.
hspace --> for make space horizontally on left and right side of the image.
vspace --> for make space vertically on top and bottom side of the image.
border --> for make border.

<p>
<img src="user.gif" alt="picture of user" title="user" width="300" height="200"
align="left" hspace="4" border="1" />
</p>


How break the text around the image to come next down after the image (inline <img> tag)
=======================================================================================
* <img> is an inline element or floating object.

* Clear --> This attribute clear any floating object or
Inline element on left or right side.

* Because <img> is an inline element, we can consider <img> as text and treat like text.

*If we break the text around the image using <br /> tag, then the text still be the side
of the image. The text not comes next down the image.

* Because the <img> is an inline tag, we can not break the text
Around the image and put down after the image using <br /> tag.
For break text around the <img> tag use the <br /> tag with
attribute 'clear=left' or right or all'.

* If image is aligned left, then use <br clear="left" />
* If image is aligned right, then use <br clear="right" />
* We can use <br clear="all" /> for left and right aligned image.

-------Example
<p>
<img src="user.gif" width="300" height="200" align="left"/>
some text here some text here some text here
some text here some text here some text here
<br clear="left" />
some text here some text here some text here
some text here some text here some text here
</p>

******************************************************

XHTML CSS
*********

<div> ---> Block level tag for apply style.
<span> ---> Block level tag for apply style.]

Units of Measure
----------------
%
em
ex
px

******************************************************
<table> Element
===============

<table border="1">
<tr>
<th> </th>
<th> </th>
</tr>

<tr valign="top">
<tr> </tr>
<tr> </tr>
</tr>
</table>

******************************************************


******************************************************

No comments:

Post a Comment