• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

تفاوت های HTML با XHTML

amininho

متخصص بخش کامپیوتر
اگر چه می توان XHTML را نوع پیشرفته HTML دانست ولی از برخی جهات با هم تفاوت دارند. المان ها، خصیصه ها و مقادیری که در زبان های HTML و XHTML بکار می روند دقیقا یکسان هستند. تفاوت این دو زبان در طرز نوشتن دستورات آنهاست.

  • از نظر HTML فرقی نمی کند که شما از تگ های html، head و body و DOCTYPE استفاده کنید؛ ولی نوشتن این المان ها در XHTML ضروری است.
  • HTML به شما اجازه می دهد که بعضی از تگ های بسته را حذف کنید؛ ولی XHTML چنین نیست و حتی المان های خالی نیز به تگ های بسته نیاز دارند. برای این که سازگاری با برنامه های مرورگر تا حد امکان حفظ شود، یک Space(فضای خالی) و یک اسلش(/) به المان های خالی اضافه کنید. مانند:
    <img src="logo.gif" />​
    و برای المان هایی که خالی نیستند، حتماً یک تگ بسته مستقل بنویسید. مانند:
    <p> Para

    </p>
    دقت داشته باشید که وجود این اسلش در المان های خالی از نظر HTML صحیح نیست، ولی در حال حاضر تمامی مرورگر ها از آن صرف نظر می کنند.
  • HTML به شما اجازه می دهد که مقادیر خصیصه ها را بدون کوتیشن بنویسید (البته این مقادیر فقط شامل حروف، اعداد و چهار سمبل – ، . ، _ و : می باشد). حذف کوتیشن، XHTML را دچار کابوس می کند و در نتیجه خطا رخ می دهد.
  • HTML نسبت به بزرگی و کوچکی حروف حساس نیست؛ ولی XHTML چنین است. در XHTML باید تمامی المان ها، خصیصه ها و مقادیر از پیش تعریف شده ی آنها را باید با حروف کوچک بنویسید.
  • اگر مقدار خصیصه ای با نام آن یکسان باشد، در HTML می توانید از آن صرف نظر کنید. ولی در XHTML باید مقادیر تمام خصیصه ها را به طور صریح مشخص نمایید.

مقاله‌ای دیگر در همین زمینه:
XHTML 1.0 یک فرمولبندی تازه از HTML بر پایه XML است. به XHTML 1.0 میتوان به عنوان یک گذار ایدئولوژیک از HTML 4.0 نگاه کرد که به خاطر تاثیر XML از لحاظ فنی سختگیرانه تر است.

XHTML در مرورگر شما عینا مشابه HTML نمایش داده میشود. اگر هر احتمالی مبنی بر نیاز یا قصد شما به پردازش مجدد محتوا وجود دارد ممکن است ترجیح دهید از XHTML استفاده کنید. به عنوان مثال برای ارسال آن به یک PDA قواعد ترکیب سختگیرانه تر XML پردازش خودکار XHTML را بسیار ساده تر و ارزانتر از HTML معمولی میکند.

از لحاظ ایدئولوژیک XHTML مفاهیم کلی زیر را از HTML به ارث میبرد :

* اینکه نمایش و قالب بندی سند باید توسط شیوه نامه از هم جدا شوند.
* اینکه اسناد باید قابل دسترسی شده باشد.
* اینکه اسناد باید بین المللی شده باشد.

همچنین XHTML 1.0 از سه الگوی DTD استفاده میکند : Strict (سختگیرانه) ، Transitional (انتقالی) و Frameset. این الگو در اصل از HTML 4.0 پدیدار شد و در HTML 4.0.1 دنبال شد.

بعضی از شیوه های فنی مهم XML در XHTML عبارتن از :

* اینکه تمامی انواع سند توسط اعلام DOCTYPE صحیح شناسایی شده هستند.
* اینکه ساختار یک سند در حال مطابقتی که حاوی اعلام DOCTYPE است، یک عنصر HTML با یک اعلام XHTML ، یک عنصر head که در برگیرنده عنصر title است و یک عنصر body .
* اینکه تمامی عناصر و نامهای ویژگی ها با حروف کوچک نوشته میشوند و اینکه تمامی مقادیر به صورت نقل قول باشند. (درون یک جفت " قرار گیرند)
* اینکه تمامی عناصر غیر تهی (p، li و...) به درستی با یک برچسب بسته پایان یافته اند.
* اینکه تمام عناصر تهی (br، hr، img و ...) به درستی با یک ممیزدنباله پایان یافته اند.
* اینکه اسناد در مقابل DTD که اعلام شده تعیین اعتبار گردند.
 

Cube

متخصص بخش هاستینگ و دامین
در اصل کد DOCTYPE یک فایل با پسوند dtd که حاوی قوانین نوشتاری در سند html است رو به صفحه متصل می کنه...

کد:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
در همه صفحات html در ابتدای صفحه یک کد DOCTYPE خواهید دید ....
اگر کمی دقت کنید ، این کد یک عدد فایل حاوی قوانین html را به صفحه متصل می کند ..... اگر بیشتر دقت کنید خواهید دید که این فایل بر روی سرور سایت w3 قرار دارد
w3 سازمان قانون گذاری و استاندارد سازی کد نویسی HTML است

هر گاه قانونی عوض شود یا قانون جدیدی ثبت گردد ..... w3 به سادگی این فایل dtd را عوض می کند


خوب این به ما چه ؟

خوب استاندارد سازی یک زبان ، کمک بسیار زیادی به خوانایی برنامه می کند.
ورژن های جدید مرورگرها نیز بر اساس آخرین تغییرات این قوانین عمل می کنند ..... پس هر برنامه نویسی مجبور می شود از این قوانین پیروی کند

هر چند بسیاری از قوانین را اصلا نمی توان نقض کرد ...

اگه راست میگی مثلا چی ؟

مثلا نمیشه یک تگ div را درون تگ a قرار داد و این کار اصلا خنده داره ...

کد:
<a><div></div></a>
در اصل ما 2 زبان پایه داریم :
html
xml
در اولی هیچ قائده و قانونی برای تگ ها نداریم .... و اصلا تگ ها رو هم اگر بصورت زیر بنویسین ، کسی باهاتون کاری نداره :
کد:
[LEFT]<img src="a.jpg">
[/LEFT]
یا
<div></div>
در نوع دوم از این داستانها اصلا خبری نیست و به قول استادم ، xml مثل html هتل نیست که هر جور خواستی توش کد بزنی .. :)
و نوشتن کد بالا موجب ایجاد ارور میشه ....

نکته : این ارور ها باعث مشکل در سایت نمیشه ..... یعنی مثلا تو فایل dtd گفته شده که فلان کار و نکنین .... حالا شما لج میک نین و فلان کارو انجام میدین ..... مشکل خاصی پیش نمیاد ولی بعدنا اگر موتور گوگل اومد سایتتونو بخونه و گیج شد و بی خیال سایتتون شد
پس فردا نگین چرا سایت ممد قلی ایندکس شده ولی مال من نشده ...

نکته : xhtml مخلوطی از 2 زبان بالاست : html + xml
من اسمشو گذاشتم "اچ تی ام ال قانونمند"

و این بود داستان ما...

به قول دوست عزیزم .... مواظب خودتون باشین .. اگه شد !
 
بالا