XHTML - ไวยากรณ์
ไวยากรณ์ XHTML คล้ายกับไวยากรณ์ HTML มากและองค์ประกอบ HTML ที่ถูกต้องเกือบทั้งหมดก็ใช้ได้ใน XHTML เช่นกัน แต่เมื่อคุณเขียนเอกสาร XHTML คุณต้องให้ความสนใจเป็นพิเศษเพื่อให้เอกสาร HTML ของคุณสอดคล้องกับ XHTML
ต่อไปนี้เป็นประเด็นสำคัญที่ต้องจำในขณะที่เขียนเอกสาร XHTML ใหม่หรือแปลงเอกสาร HTML ที่มีอยู่เป็นเอกสาร XHTML -
เขียนคำประกาศ DOCTYPE ที่จุดเริ่มต้นของเอกสาร XHTML
เขียนแท็กและแอตทริบิวต์ XHTML ทั้งหมดเป็นตัวพิมพ์เล็กเท่านั้น
ปิดแท็ก XHTML ทั้งหมดอย่างถูกต้อง
ซ้อนแท็กทั้งหมดอย่างถูกต้อง
อ้างถึงค่าแอตทริบิวต์ทั้งหมด
ห้ามการย่อขนาดแอตทริบิวต์
แทนที่ name แอตทริบิวต์ด้วย id แอตทริบิวต์
เลิกใช้ language แอตทริบิวต์ของแท็กสคริปต์
นี่คือคำอธิบายโดยละเอียดของกฎ XHTML ข้างต้น -
การประกาศ DOCTYPE
เอกสาร XHTML ทั้งหมดต้องมีการประกาศ DOCTYPE เมื่อเริ่มต้น มีการประกาศ DOCTYPE สามประเภทซึ่งจะกล่าวถึงโดยละเอียดในบท XHTML Doctypes นี่คือตัวอย่างของการใช้ DOCTYPE -
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ความไวกรณี
XHTML เป็นภาษามาร์กอัปที่คำนึงถึงขนาดตัวพิมพ์ แท็กและแอตทริบิวต์ XHTML ทั้งหมดต้องเขียนเป็นตัวพิมพ์เล็กเท่านั้น
<!-- This is invalid in XHTML -->
<A Href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</A>
<!-- Correct XHTML way of writing this is as follows -->
<a href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</a>
ในตัวอย่าง Href และแท็กจุดยึด A ไม่ได้เป็นตัวพิมพ์เล็กจึงไม่ถูกต้อง
การปิดแท็ก
แท็ก XHTML แต่ละแท็กควรมีแท็กปิดที่เท่ากันแม้แต่องค์ประกอบที่ว่างเปล่าก็ควรมีแท็กปิดด้วย นี่คือตัวอย่างที่แสดงวิธีการใช้แท็กที่ถูกต้องและไม่ถูกต้อง -
<!-- This is invalid in XHTML -->
<p>This paragraph is not written according to XHTML syntax.
<!-- This is also invalid in XHTML -->
<img src="/images/xhtml.gif" >
ไวยากรณ์ต่อไปนี้แสดงวิธีที่ถูกต้องในการเขียนแท็กด้านบนใน XHTML ความแตกต่างคือที่นี่เราได้ปิดแท็กทั้งสองอย่างถูกต้องแล้ว
<!-- This is valid in XHTML -->
<p>This paragraph is not written according to XHTML syntax.</p>
<!-- This is also valid now -->
<img src="/images/xhtml.gif" />
คำพูดแอตทริบิวต์
ต้องระบุค่าทั้งหมดของแอตทริบิวต์ XHTML มิฉะนั้นเอกสาร XHTML ของคุณจะถือว่าเป็นเอกสารที่ไม่ถูกต้อง นี่คือตัวอย่างการแสดงไวยากรณ์ -
<!-- This is invalid in XHTML -->
<img src="/images/xhtml.gif" width=250 height=50 />
<!-- Correct XHTML way of writing this is as follows -->
<img src="/images/xhtml.gif" width="250" height="50" />
Attribute Minimization
XHTML ไม่อนุญาตให้ย่อขนาดแอตทริบิวต์ หมายความว่าคุณต้องระบุแอตทริบิวต์และมูลค่าของมันอย่างชัดเจน ตัวอย่างต่อไปนี้แสดงความแตกต่าง -
<!-- This is invalid in XHTML -->
<option selected>
<!-- Correct XHTML way of writing this is as follows -->
<option selected="selected">
นี่คือรายการของแอตทริบิวต์ที่ย่อเล็กสุดใน HTML และวิธีที่คุณต้องเขียนใน XHTML -
สไตล์ HTML | สไตล์ XHTML |
---|---|
กะทัดรัด | กะทัดรัด = "กะทัดรัด" |
ตรวจสอบแล้ว | checked = "ตรวจสอบ" |
ประกาศ | ประกาศ = "ประกาศ" |
อ่านเท่านั้น | readonly = "อ่านอย่างเดียว" |
ปิดการใช้งาน | disabled = "ปิดใช้งาน" |
เลือกแล้ว | selected = "เลือก" |
ผัดผ่อน | defer = "defer" |
ismap | ismap = "ismap" |
nohref | nohref = "nohref" |
จมูก | noshade = "noshade" |
nowrap | nowrap = "nowrap" |
หลาย | multiple = "หลาย" |
noresize | noresize = "noresize" |
IDแอตทริบิวต์
แอตทริบิวต์ id แทนที่แอตทริบิวต์ name แทนที่จะใช้ name = "name" XHTML ต้องการใช้ id = "id" ตัวอย่างต่อไปนี้แสดงให้เห็นว่า -
<!-- This is invalid in XHTML -->
<img src="/images/xhtml.gif" name="xhtml_logo" />
<!-- Correct XHTML way of writing this is as follows -->
<img src="/images/xhtml.gif" id="xhtml_logo" />
ภาษาแอตทริบิวต์
แอตทริบิวต์ภาษาของแท็กสคริปต์เลิกใช้งานแล้ว ตัวอย่างต่อไปนี้แสดงความแตกต่างนี้ -
<!-- This is invalid in XHTML -->
<script language="JavaScript" type="text/JavaScript">
document.write("Hello XHTML!");
</script>
<!-- Correct XHTML way of writing this is as follows -->
<script type="text/JavaScript">
document.write("Hello XHTML!");
</script>
แท็กที่ซ้อนกัน
คุณต้องซ้อนแท็ก XHTML ทั้งหมดอย่างถูกต้อง มิฉะนั้นเอกสารของคุณจะถือว่าเป็นเอกสาร XHTML ที่ไม่ถูกต้อง ตัวอย่างต่อไปนี้แสดงไวยากรณ์ -
<!-- This is invalid in XHTML -->
<b><i> This text is bold and italic</b></i>
<!-- Correct XHTML way of writing this is as follows -->
<b><i> This text is bold and italic</i></b>
ข้อห้ามองค์ประกอบ
ไม่อนุญาตให้องค์ประกอบต่อไปนี้มีองค์ประกอบอื่นอยู่ภายใน ข้อห้ามนี้ใช้กับความลึกทั้งหมดของการทำรัง หมายความว่ามันรวมองค์ประกอบทั้งหมดจากมากไปน้อย
ธาตุ | ข้อห้าม |
---|---|
<a> | ต้องไม่มีองค์ประกอบ <a> อื่น ๆ |
<pre> | ต้องไม่มีองค์ประกอบ <img>, <object>, <big>, <small>, <sub> หรือ <sup> |
<button> | ต้องไม่มีองค์ประกอบ <input>, <select>, <textarea>, <label>, <button>, <form>, <fieldset>, <iframe> หรือ <isindex> |
<label> | ต้องไม่มีองค์ประกอบ <label> อื่น ๆ |
<form> | ต้องไม่มีองค์ประกอบ <form> อื่น ๆ |
เอกสาร XHTML ขั้นต่ำ
ตัวอย่างต่อไปนี้แสดงเนื้อหาขั้นต่ำของเอกสาร XHTML 1.0 -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/TR/xhtml1" xml:lang="en" lang="en">
<head>
<title>Every document must have a title</title>
</head>
<body>
...your content goes here...
</body>
</html>