تفاوت بین XHTML و HTML
با توجه به این واقعیت که XHTML یک برنامه کاربردی XML است، شیوه های خاصی که در HTML4 کاملا مجاز بودند باید تغییر کنند. به یاد داشته باشید که XHTML همانند HTML اما تکامل یافته تر است، تفاوت بین HTML و XHTML هرچند کم اما بسیار مهم است و ممکن است جزئی به نظر برسد ، اما می تواند تأثیر عمده ای داشته باشد.
تفاوت بین XHTML و HTML
در مطالب گذشته قواعد نوشتاری و سینتکس XHTML توضیح داده شد . بنابراین اختلاف بین XHTML و HTML بسیار واضح است:
ترکیب صحیح عناصر در اسناد XHTML
ترکیب خوب، یک مفهوم جدیدی است که توسط XML معرفی شده و اساسا بدین معناست که تمام عناصر باید برچسب پایان داشته باشد و بدرستی در جای خود قرار گیرند.
صحیح :
غلط :
نوشتن نام عناصر و خاصیت ها با حروف کوچک
در HTML مجاز هستید که هم از حروف بزرگ و هم از حروف کوچک استفاده کنید، اما در اسناد XHTML باید نام تمام عناصرو ویژگی HTML با حروف کوچک نوشته شوند. این تفاوت ضروری است زیرا فرض بر این است که اسناد XHTML ، یک سندXML هستندو XML هم به بزرگ و کوچک بودن حروف حساس است . به عنوان مثال تگ <li> و <LI> با یکدیگر متفاوت هستند .
استفاده از تگ پایان برای تمام عناصر
در HTML اجازه داده شده که برای برخی از عناصر خاص، تگ پایان قرار داده نشود . اما XML اجازه نمی دهد که تگهای پایانی حذف شوند. بنابراین در XHTML هم تگ پایان الزامی است .
صحیح:
غلط :
استفاده از نقل قول برای مقادیر خاصیت
تمامی مقادیر خاصیت ها در XHTML ، حتی آنهایی که به نظر می رسد عددی باشند ، باید در نقل قول قرار داده شوند:
صحیح :
غلط :
ممنوعیت حداقل سازی خاصیت ها
XML از حداقل سازیخاصیت پشتیبانی نمی کند. خاصیت و مقدار باید به طور کامل نوشته شوند. نام های خاصیت همچون compact و checked نمی توانند بدون مقدار تعیین شده شان در عناصر قرار بگیرند.
صحیح:
غلط:
عناصر Script و Style
در XHTML، دو کاراکتر <و & نباید به طور مستقیم در عناصر Script و Style وجود داشته باشند ، در غیر این صورت آنها به عنوان شروع یک عنصر و شروع یک نماد تلقی می شوند. برای جلوگیری از این خطاها ، از CDATA استفاده میشود. CDATA واژه ای در مورد داده های متنی میباشد که توسط پردازشگر XML پردازش نمیشوند و با “<![CDATA[” آغاز شده و با “]]>” به پایان می رسد .
جایگزین شدن خاصیت id با خاصیت name
XHTML توصیه می کند که به جای خاصیت name از خاصیت id استفاده شود. توجه داشته باشید که در XHTML ، خاصیت name عناصر رسما نا مناسب شناخته شده و در نسخه بعدی XHTML برداشته کاملا حذف خواهد شد .
الزامی بودن عنصر <html>
تمام عناصر XHTML باید در عنصر ریشه <html> قرار بگیرند. تمام عناصر دیگر می تواند زیر عنصر داشته باشد. زیر عنصرها باید به صورت جفت نوشته شوند و به درستی قانون عناصر تو در تو را رعایت کنند . ساختار یک سند پایه به شرح زیر است :