HTML VS XHTML


XHTML เกิดจากการนำ HTML มารวมกับ XML ซึ่งคำสั่งต่างๆ นั้นจะยังเหมือน HTML แต่จะเข้มงวดในเรื่องโครงสร้างมากกว่า


XHTML คืออะไร?

  • XHTML ย่อมาจาก EXtensible HyperText Markup Language
  • XHTML ก็คือ XML กับ HTML รวมกัน แต่ XHTML มีโครงสร้างและภาษาที่เข้มงวดกว่า
  • XHTML เป็น HTML ที่ถูกนิยามให้เป็น XML application
  • XHTML สามารถรองรับการใช้งานบนทุกเบราว์เซอร์

ทำไมต้อง XHTML

XML หรือ Extensible Markup Language เป็นภาษา Markup ที่จะสร้างชุดคำสั่งสำหรับจัดรูปแบบข้อความในรูปแบบที่ทำให้เครื่องและมนุษย์สามารถอ่านได้

XHTML ได้รับการพัฒนาเพื่อให้ HTML สามารถขยายและยืดหยุ่นในการทำงานได้มากขึ้นกับข้อมูลในรูปแบบต่างๆ ได้ (เช่น XML) นอกจากนี้ยังช่วยให้เบราว์เซอร์จะไม่ต้องสนใจใน Error ที่เกิดขึ้นในหน้าเพจ HTML ส่งผลให้เบราว์เซอร์ทำการแสดงหน้าเว็บนั้นๆ ออกมาได้ ถึงแม้จะมีข้อผิดพลาดหรือ Error เกิดขึ้นกับหน้าเพจนั้น ดังนั้น ด้วยโครงสร้างที่เข้มงวด XHTML จึงมีไว้เพื่อจัดการกับข้อผิดพลาดเหล่านี้


ความแตกต่างระหว่าง XHTML กับ HTML

  • ต้องมี <!DOCTYPE>
  • Attribute XMLNS จะต้องมี <html>
  • ต้องมี <html>, <head>, <title>, และ <body>
  • Elements จะต้องซ้อนกันอย่างเหมาะสม
  • Elements ต้องมี Tag ปิดเสมอ
  • Elements จะต้องใช้ตัวพิมพ์เล็กเสมอ
  • Attribute จะต้องใช้ตัวพิมพ์เล็กเสมอ
  • ค่าของ Attribute จะต้องอยู่ในเครื่องหมายคำพูดเสมอ
  • ห้ามย่อขนาดของ Attribute

ต้องมี <!DOCTYPE>

ใน XHTML ต้องมีการประกาศ <!DOCTYPE> เสมอ และต้องมี Elements <html>, <head>, <title> และ <body> อยู่ด้วยเสมอ และ ใน <html> Attribute XMLNS จะต้องระบุ Namespace ของ XML ลงไปด้วย

ตัวอย่าง การเขียน XHTML จะต้องประกอบด้วย Tag ต่อไปนี้

<!DOCTYPE html PUBLIC "-//hostatom//DTD XHTML 1.1//EN"
"http://www.hostatom.com/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.hostatom/1999/xhtml">
<head>
  <title>ชื่อเรื่องของเอกสาร</title>
</head>
<body>

  ข้อความ...

</body>
</html>

Elements จะต้องซ้อนกันอย่างเหมาะสม

ใน XHTML จะต้องวาง Element ซ้อนกันอย่างเหมาะสม

ตัวอย่างการวาง Elements ที่ดี

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

ตัวอย่างการวาง Element ที่ไม่ดี

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

Elements ต้องมี Tag ปิดเสมอ

XHTML จะต้องมี Tag ปิดด้วยเสมอดังตัวอย่าง

ตัวอย่างที่ดี

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

ตัวอย่างที่ไม่ดี

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

Elements XHTML ที่เป็นค่าว่างจะต้องมีปิดเสมอ

ใน XHTML หาก Elements ใดเป็นค่าว่าง จะต้องมีปิดด้วยเสมอ ดังตัวอย่างต่อไปนี้

ตัวอย่างที่ดี

A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />

ตัวอย่างที่ไม่ดี

A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">

Elements จะต้องใช้ตัวพิมพ์เล็กเสมอ

Elements XHTML นั้นจะต้องใช้ตัวพิมพ์เล็กเสมอ

ตัวอย่างที่ดี

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

ตัวอย่างที่ไม่ดี

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

Attribute จะต้องใช้ตัวพิมพ์เล็กเสมอ

Attribute ของ XHTML จะต้องใช้ตัวพิมพ์เล็กเสมอ

ตัวอย่างที่ดี

<a href="https://www.hostatom.com/html/">hostatom บริการ web hosting</a>

ตัวอย่างที่ไม่ดี

<a HREF="https://www.hostatom.com/html/">hostatom บริการ web hosting</a>

ค่าของ Attribute จะต้องอยู่ในเครื่องหมายคำพูดเสมอ

ค่า Attribute ของ XHTML จะต้องอยู่ในเครื่องหมายคำพูดเสมอ

ตัวอย่างที่ดี

<a href="https://www.hostatom.com/html/">hostatom บริการ web hosting</a>

ตัวอย่างที่ไม่ดี

<a href=https://www.hostatom.com/html/>hostatom บริการ web hosting</a>

ห้ามย่อขนาดของ Attribute

ตัวอย่าง การห้ามย่อขนาดของ Attribute XHTML

ตัวอย่างที่ดี

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

ตัวอย่างที่ไม่ดี

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