کدلپر - مرجع جامع آموزش برنامه‌نویسی

All Right Reserved © 2025 Codoloper

background codoloper

مقایسه HTMLو XHTML

خانه

مقایسه HTML و XHTML

XHTML یک نسخه سخت‌گیرانه‌تر و مبتنی بر XML از HTML است.

XHTML چیست؟

  • XHTML مخفف EXtensible HyperText Markup Language (زبان نشانه‌گذاری ابرمتن توسعه‌پذیر) است.

  • XHTML یک نسخه سخت‌گیرانه‌تر و مبتنی بر XML از HTML است.

  • XHTML همان HTML است که به عنوان یک اپلیکیشن XML تعریف شده است.

  • XHTML توسط تمام مرورگرهای اصلی پشتیبانی می‌شود.


چرا XHTML؟

XML یک زبان نشانه‌گذاری است که در آن تمام اسناد باید به درستی نشانه‌گذاری شوند (یعنی «خوش‌فرم» یا "well-formed" باشند).

XHTML توسعه داده شد تا HTML را توسعه‌پذیرتر و انعطاف‌پذیرتر کند تا بتواند با سایر فرمت‌های داده (مانند XML) کار کند. علاوه بر این، مرورگرها خطاها را در صفحات HTML نادیده می‌گیرند و سعی می‌کنند وب‌سایت را نمایش دهند، حتی اگر خطاهایی در نشانه‌گذاری وجود داشته باشد. به همین دلیل XHTML با یک مدیریت خطای بسیار سخت‌گیرانه‌تر عرضه شد.

اگر می‌خواهید XML را مطالعه کنید، لطفاً آموزش XML ما را بخوانید.


مهم‌ترین تفاوت‌ها با HTML

  • <!DOCTYPE> اجباری است.

  • خصوصیت xmlns در <html> اجباری است.

  • تگ‌های <html>، <head>، <title> و <body> اجباری هستند.

  • عناصر باید همیشه به درستی تو در تو (properly nested) قرار گیرند.

  • عناصر باید همیشه بسته شوند.

  • عناصر باید همیشه با حروف کوچک نوشته شوند.

  • نام خصوصیت‌ها (attributes) باید همیشه با حروف کوچک نوشته شوند.

  • مقادیر خصوصیت‌ها باید همیشه داخل کوتیشن قرار گیرند.

  • خلاصه‌سازی خصوصیت‌ها (Attribute minimization) ممنوع است.


 

XHTML - تگ <!DOCTYPE ....> اجباری است

یک سند XHTML باید یک تعریف <!DOCTYPE> مخصوص XHTML داشته باشد. عناصر <html>، <head>، <title> و <body> نیز باید وجود داشته باشند و خصوصیت xmlns در <html> باید فضای نام (namespace) xml را برای سند مشخص کند.

مثال

در اینجا یک سند XHTML با حداقل تگ‌های مورد نیاز آمده است:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.codoloper.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.codoloper.org/1999/xhtml">
  <head>
    <title>Title of document</title>
  </head>
  <body>
    some content here...
  </body>
</html>

 


عناصر XHTML باید به درستی تو در تو قرار گیرند

در XHTML، عناصر باید همیشه به درستی در داخل یکدیگر قرار گیرند، مانند این:

درست:

<b><i>Some text</i></b>

 

غلط:

<b><i>Some text</b></i>

 


عناصر XHTML باید همیشه بسته شوند

در XHTML، عناصر باید همیشه بسته شوند، مانند این:

درست:

 
<p>This is a paragraph</p>
<p>This is another paragraph</p>

غلط:

<p>This is a paragraph
<p>This is another paragraph


عناصر تهی (Empty) در XHTML باید همیشه بسته شوند

در XHTML، عناصر تهی باید همیشه بسته شوند، مانند این:

درست:

یک شکست خط: <br />
یک خط افقی: <hr />
یک تصویر: <img src="happy.gif" alt="Happy face" />

 

غلط:

یک شکست خط : <br>
یک خط افقی: <hr>
یک تصویر: <img src="happy.gif" alt="Happy face">


عناصر XHTML باید با حروف کوچک نوشته شوند

در XHTML، نام عناصر باید همیشه با حروف کوچک باشد، مانند این:

درست:


<body>
  <p>This is a paragraph</p>
</body>
 

غلط:

<BODY>
  <P>This is a paragraph</P>
</BODY>


نام خصوصیت‌ها در XHTML باید با حروف کوچک نوشته شوند

در XHTML، نام خصوصیت‌ها باید همیشه با حروف کوچک باشد، مانند این:

درست:

<a href="https://www.codoloper.com/html/">Visit our HTML tutorial</a>

 

غلط:

<a HREF="https://www.codoloper.com/html/">Visit our HTML tutorial</a>


مقادیر خصوصیت‌ها در XHTML باید داخل کوتیشن قرار گیرند

در XHTML، مقادیر خصوصیت‌ها باید همیشه داخل کوتیشن باشند، مانند این:

درست:

<a href="https://www.codoloper.com/html/">Visit our HTML tutorial</a>

غلط:

<a href=https://www.codoloper.com/html/>Visit our HTML tutorial</a>


خلاصه‌سازی خصوصیت‌ها در XHTML ممنوع است

در XHTML، خلاصه‌سازی خصوصیت‌ها ممنوع است:

درست:

<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />

 

غلط:

 
<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />