जब W3C ने HTML
का 4.1 Version Release किया, तब उन्होंने Document के Style से सम्बंधित सभी
Markup को Deprecated Mark कर दिया यानी उन्होंने तय कर लिया कि HTML के Future
Versions में इन HTML Markups को Remove कर दिया जाएगा। ऐसा उन्होंने इसलिए किया
था, ताकि लोग Web Pages के Structure को Web Pages के Style से अलग Develop करें।
परिणामस्वरूप आज के सभी नए Web Pages में केवल HTML Document का Structure होता है
और HTML Web Page से सम्बंधित सभी Stylizing Markup एक अलग CSS File में होते हैं।
हालांकि हम आज भी इन Style Markups को अपने HTML Document में HTML Structure के
साथ उपयोग में ले सकते हैं, लेकिन हमें ऐसा करना नहीं चाहिए।
HTML के 4.1
Version को Release करने के बाद W3C ने HTML का 5.0 Version Release नहीं किया,
बल्कि उन्होंने HTML को एक नए रूप में Release किया जिसका नाम उन्होंने XHTML रखा,
ठीक उसी तरह से जिस तरह से Microsoft ने Window 2000 Release करने के बाद Windows
2001 Release नहीं किया बल्कि Windows XP Release किया था।
HTML के नाम के
पहले X अक्षर को इसलिए लगाया गया, क्योंकि ये अक्षर एक नई Language XML (eXtensible Markup Language) से आया था। इस इस Language
ने विभिन्न Programming क्षैत्रों में बहुत ही जल्दी बहुत ज्यादा प्रसिद्धि
प्राप्त कर ली थी, क्योंकि इस Language का प्रयोग करके हम हमारी जरूरत के अनुसार
अपने स्वयं के HTML Elements Create कर सकते हैं। इसीलिए W3C ने तय किया कि वह
HTML के अगले Version को XML में लिखकर Release करेगा और उन्होंने ऐसा ही किया।
प्रायोगिक रूप
से इसका मतलब ये हुआ कि जो लोग Web Pages लिखते हैं, उन लोगों को अब अपने HTML
Codes को लिखने के बारे में ज्यादा सावधान रहना जरूरी है, क्योंकि XML एक Strict
Language है, इसीलिए XHTML भी एक Strict Language बन गई है। Stricter Language का
एक फायदा ये है कि Web Browser की Size छोटी हो गई है, जिससे Web Pages को अब
ज्यादा छोटी Screen यानी Mobile जैसे Device पर भी आसानी से देखा जा सकता है।
दूसरा फायदा ये है कि XML के लिए कई Tools को Develop किया गया है और हम उन सभी Tools
को XHTML के साथ भी उपयोग में ले सकते हैं।
Web Programming
सीखने वाले एक नए Developer के लिए फायदा ये है कि उसे HTML व XHTML दोनों
Languages को सीखने की जरूरत नहीं है। क्योंकि जब XHTML को Develop किया जा रहा
था, तब इस बात का ध्यान रखा गया था कि XHTML उन Web Browsers के Compatible रहे,
जो केवल HTML Pages को ही Display कर सकते हैं। कहने का मतलब ये है कि हम जितने भी
XHTML Elements को उपयोग में लेना सीखेंगे, उनमें से लगभग सभी Elements HTML के
4.1 Version में भी उपलब्ध हैं। HTML से XHTML के बीच XHTML के तीन Versions को
हमें ध्यान में रखना होता है।
Transitional XTHML 1.0
XHTML के इस
Version में एक Developer उन HTML Markup को भी उपयोग में ले सकता है, जिन्हें
HTML के 4.01 Version में Deprecated Declare कर दिया गया था, लेकिन इस Version
में भी Developer को Stricter Syntax Use करने का ध्यान रखना होता है।
Strict XHTML 1.0
XHTML के इस
Version में एक Developer उन HTML Markup को उपयोग में नहीं ले सकता है, जिन्हें
HTML के 4.01 Version में Deprecated Declare कर दिया गया था, साथ ही इस Version
में भी Developer को Stricter Syntax Use करने का ध्यान रखना होता है।
Frameset XHTML 1.0
XHTML के इस
Version में एक Developer उस Technology का प्रयोग कर सकता है, जिसे Frames कहते
हैं। यानी इस Version में हम एक ही Browser में एक से ज्यादा Web Pages को Open कर
सकते हैं। इसके बारे में हम बाद में पढेंगे। इस Version में भी Developer को
Stricter Syntax Use करने का ध्यान रखना होता है।
सामान्यतया हम
Transitional XTHML 1.0 Version के Elements को ही उपयोग में लेंगे, क्योंकि ये
Version HTML 4.01 Version के Elements को भी Support करता है। लेकिन जहां तक हो
सके हमें XHTML के Elements का ही प्रयोग करना चाहिए। जब हम केवल Pure XHTML के
Elements ही उपयोग में लेते हैं और Deprecated Elements व Attributes का प्रयोग
नहीं करते हैं, तब हमारा Page स्वयं ही Strict XHTML 1.0 का Page बन जाता है।
XHTML और HTML में अंतर
XHTML के नियमों
को समझ लें, तो हम इन दोनों Languages के बीच के आपसी अन्तर को भी समझ सकते हैं।
XHTML के विभिन्न Restrictions व विशेषताएं निम्नानुसार हैं:
Include XML Declaration
HTML की तुलना
में XHTML के Syntax ज्यादा Strict होते हैं। चूंकि XHTML को XML में लिखा गया है,
इसलिए जब हम एक XHTML Document बनाते हैं, तब वास्तव में हम एक XML Document भी
बना रहे होते हैं। इसलिए हम हमारे Document की शुरूआत निम्नानुसार एक Optional
Line से भी कर सकते हैं, जो कि सभी XML Documents में एक Optional Declaration होता
है।
<?xml version=”1.0” encoding=”UTF-8” ?> |
यदि हम हमारे
Document में इस XML Declaration को Include करते हैं, तो ये Statement हमारे
Document का सबसे पहला Statement होना जरूरी होता है, यहां तक कि इस Statement से
पहले एक Blank Space भी नहीं होना चाहिए। इस Statement द्वारा हम अपने Web Browser
को ये बताते हैं कि हम हमारे Document में XML के 1.0 Version के Standards के
आधार पर नए Elements भी Create करने की सुविधा प्राप्त करना चाहते हैं और encoding
Attribute द्वारा हम ये बताते हैं कि हम हमारे Document में किस Encoding को
Support करवाना चाहते हैं। उदाहरण के लिए यदि हम हमारे Web Page में हिन्दी भाषा
में भी Contents लिखना चाहते हैं और हम चाहते हैं कि इस भाषा में लिखे गए Content
को दुनियां के सभी नए Web Browsers बिना किसी परेशानी के दिखा सकें, तो हमें
Encoding के रूप में “UTF-8” को चुनना होता है, क्योंकि हिन्दी भाशा के Unicode
इसी Encoding के अन्तर्गत Defined हैं।
Include a DOCTYPE Declaration
DOCTYPE
Declaration इस बात को Indicate करता है कि हम HTML/XHTML के कौनसे Version को
उपयोग में ले रहे हैं। इसे Opening <html> Tag को Use करने से पहले Specify
किया जाता है। यदि हम हमारे Document में Transitional XHTML 1.0 Version के आधार
पर Coding कर रहे हैं, जिसमें हम पुराने HTML 4.01 Version के Elements को Use
करना चाहते हैं, तो हमें हमारे Web Browser को ये बात निम्नानुसार बतानी होती है:
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
इसके बजाय यदि हम
Strict XHTML 1.0 Version के आधार पर अपने Web Pages तैयार कर रहे हों, तो हमें
अपने Web Page में निम्न DOCTYPE Declaration Statement को उपयोग में लेना होता
है:
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
जबकि यदि हम
हमारे Document में Frameset का प्रयोग करना चाहते हैं, तो हमें हमारे Web Page
में निम्न DOCTYPE Declaration Statement को Use करना होता है:
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Strict XHTML
Documents में हमें DOCTYPE Declaration Statement को <html> Tag से पहले
Use करना जरूरी होता है, जबकि यदि हम Transitional अथवा Frameset Document Create
कर रहे हों, तो हम इस Declaration को छोड भी सकते हैं।
HTML के Versions और <!DOCTYPE> Declaration
<!DOCTYPE>
declaration किसी वेब पेज को browser में सही तरीके से प्रदर्शित करने मे सहायता
करता है।
HTML के विभिन्न वर्जनों के सामान्य Declarations है –
Version
|
Year
|
<!DOCTYPE>
declaration
|
HTML
|
1991
|
|
HTML+
|
1993
|
|
HTML 2.0
|
1995
|
|
HTML 3.2
|
1997
|
|
HTML 4.01 Strict
|
1999
|
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
HTML 4.01 Transitional
|
1999
|
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
|
HTML 4.01 Frameset
|
1999
|
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
|
XHTML 1.0 Strict
|
2000
|
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
XHTML 1.0 Transitional
|
2000
|
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
XHTML 1.0 Frameset
|
2000
|
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
XHTML 1.1
|
2000
|
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
HTML5
|
2012
|
<!DOCTYPE html>
|
XHTML5
|
2013
|
|
Use Lowercase Names
एक HTML Document
में हम Uppercase अथवा Lowercase किसी भी तरह के Case में HTML Elements व
Attributes को लिख सकते हैं, लेकिन XHTML Document में हमें सभी Element व
Attribute को Lowercase में लिखना जरूरी होता है। हालांकि Elements के बीच के
Contents व Attributes के मान Case Sensitive नहीं होते हैं।
Close All Tags Correctly
XHTML में हमें
हर Open होने वाले Tag को ठीक तरह से Close करना जरूरी होता है। हम केवल उसी
स्थिति में किसी Tag को Close करने से बच सकते हैं, जबकि वह Tag एक Empty
Tag हो। HTML में हम किसी Paragraph को निम्नानुसार लिख सकते हैं:
<p> This is a HTML Paragraph
Element.
<p> HTML could leave the
closing tag.
जबकि इसी Paragraph
को यदि हम XHTML में लिखें, तो हमें ये Paragraph Element निम्नानुसार Use करना
होगा:
<p> This is a XHTML Paragraph
Element. </p>
<p> XHTML could not
leave the closing tag. </p>
जितनी बार भी एक
XHTML Browser एक नए <p> Tag को Run करता है, वह पिछले </p> Tag
के अन्त को स्वयं ही मान लेता है, लेकिन XHTML तब तक नए Paragraph को नहीं
मानता, जब तक कि उसे पहले वाले Paragraph का Closing Tag प्राप्त नहीं हो जाता।
इसलिए XHTML में हमें हर Tag को ठीक तरह से Close करना जरूरी होता है।
कुछ Tags ऐसे
होते हैं, जिनके Opening व Closing Tag के बीच कोई Content नहीं होता। इस प्रकार
के Tags को Empty Tag कहा जाता है। <img> व <br> एसे ही Empty
Tags हैं। इन्हें HTML में तो एसे ही लिखा जाता है, लेकिन जब हम XHTML Document
बनाते हैं, तब हमें इन Empty Tags को भी Forward Slash के साथ लिखना होता है। यानी
हमें इन्हें <img /> व <br /> लिखना पडता है।
Attribute Values
जब हम XHTML
Attributes को कोई मान प्रदान करते हैं, तब हमें तीन बातें ध्यान में रखनी होती
हैं। सबसे पहली बात ये कि हर Value को Double Quotes के बीच Enclosed रखना जरूरी
होता है। दूसरी बात ये कि हर Attribute को मान प्रदान करना जरूरी होता है और तीसरी
बात ये कि Value के पहले व बाद के Spaces Remove हो जाते हैं, इसलिए हमें Spaces
के सम्बंध में ध्यान रखने की जरूरत नहीं होती है।
HTML Element Must Be The Root Element
किसी भी XHTML
Document की शुरूआत हमेंशा <html> Opening Tag से होती है व अन्त हमेंशा
</html> Closing Tag से होती है। <html> Tag से पहले केवल XML
Declaration व DOCTYPE Declaration Statements ही आ सकते हैं, क्योंकि सभी
XML Documents में एक Unique Root Element होना जरूरी होता है, जो कि बाकी के पूरे
Document को अपने में Included या Contained रखता है। हमारे XHTML Document के सन्दर्भ
में वह Root Element <html> Tag है।
Tags Must Nest Properly
XHTML Document
में हम जिस Tag को सबसे पहले Open करते हैं, उसे सबसे बाद में व जिस Tag को सबसे
बाद में Open करते हैं, उसे सबसे पहले Close करना जरूरी होता है। यदि हम एक साथ एक
से ज्यादा Tags को Open करते हैं, तो हमें इस बात का ध्यान रखना होता है। उदाहरण
के लिए निम्न Statement में पहले <p> Tag को Open किया है और बाद में <em>
Tag को इसलिए सबसे पहले हमें <em> Tag को Close करना होता है और बाद में
<p> Tag को।
<p>
This is a <em>HTML Paragraph Element. </em></p>
जिन उपरोक्त
नियमों का हमें XHTML Document बनाते समय ध्यान रखना जरूरी होता है, HTML Document
बनाते समय हमें इन नियमों को ध्यान में रखने की जरूरत नहीं होती है। HTML व XHTML
Document Creation में ये ही मुख्य अन्तर हैं।