บทที่ 20 XHTML
   XHTML เป็นภาษาที่ถูกกำหนดให้เป็นภาษามาตรฐานใหม่ที่จะใช้ในการสร้างเว็บเพจต่อไปในอนาคต เว็บเบราเซอร์์ทุกค่ายจะรองรับการใช้งาน XHTML และในอนาคตปัญหาการแสดงผลที่ไม่เหมือนกัน ในเว็บเบราเซอร์์ต่างค่ายกันก็จะหมดไป
   XHTML ไม่ได้ต่างจาก HTML มากมายอะไรนัก เพียงแต่ว่าเข้มงวดเรื่องความถูกต้องของ syntax มากขึ้นสำหรับ HTML แม้ว่าเราเขียน code ผิดพลาดไปบ้าง เช่น ลืม tag ปิด เว็บเบราเซอร์์ ก็ยังสามารถตีความและแสดงผลได้อย่างถูกต้องเป็นส่วนมาก

   สิ่งแตกต่างที่สำคัญระหว่าง XHTML กับ HTML ได้แก่

    1. ทุก XHTML element ที่ซ้อนกันต้องเรียงลำดับให้ถูก แต่ละ element ต้องไม่เปิด ปิด ข้ามกัน ใน HTML เราสามารถเขียนสลับ tag ปิดกันได้ เช่น

<b><i>ข้อความนี้เป็นตัวหนา และตัวเอียง</b></i>


แต่สำหรับ XHTML แล้ว เราจะต้องเรียงลำดับการปิดของ tag ให้ถูกต้อง

<b><i>ข้อความนี้เป็นตัวหนา และตัวเอียง</i></b>

     2. ทุก XHTML element ต้องทำการปิดให้เรียบร้อย ไม่เว้นแม้แต่ element ที่ไม่มี tag ปิด เช่น <br> จะต้องทำการปิด โดยใช้เครื่องหมาย ' /' เป็น <br /> เป็นต้น
ใน HTML เราอาจลืม tag ปิดได้

<p>ข้อความที่ 1
<p>ข้อความที่ 2 <br>
ข้อความที่ 3 <hr>
<img src="/pic.gif">

แต่สำหรับ XHTML แล้ว จะต้องทำการปิดให้เรียบร้อยทุก tag

<p>ข้อความที่ 1</p>
<p>ข้อความที่ 2 <br />
ข้อความที่ 3 <hr />
<img src="/pic.gif" />
</p>

   3. ทุก XHTML element ต้องเขียน tag, attribute และค่าของ attribute ด้วยตัวพิมพ์เล็ก
ใน HTML เราจะใช้์ตัวพิมพ์เล็กหรือพิมพ์ใหญ่ก็ได้

<BODY>
<P Align="CENTER">ข้อความจัดวางกึ่งกลาง</P>
</body>แต่สำหรับ XHTML แล้ว ให้ใช้ตัวพิมพ์เล็กทั้งหมด
<body>
<p align="center">ข้อความจัดวางกึ่งกลาง</p>
</body>

   4. ค่าของ attribute ต้องอยู่ในเครื่องหมาย ".." เสมอ
ใน HTML เราอาจจะไม่ใส่เครื่องหมาย ".." ครอบค่าของ attribute ก็ได้

<table width=100%>

แต่สำหรับ XHTML แล้ว เราจะต้องใส่เครื่องหมาย ".." ให้ ค่าของ attribute

<table width="100%">

   5. เราไม่สามารถใช้รูปย่อของ attribute ได้
ใน HTML สามารถทำได้ เช่น

<input type="checkbox" checked>

แต่สำหรับ XHTML แล้วจะต้องเขียนเต็มแบบนี้

<input type="checkbox" checked="checked" />

   6. ใช้ attribute id แทน attribute name
ใน HTML จะใช้ attribute name สำหรับ element ต่าง เช่น applet, frame, iframe, input และ img

<img src="/picture.gif" name="pic1">

แต่สำหรับ XHTML แล้ว ให้ใช้ attribute id แทน

<img src="/picture.gif" id="pic1" />

และเพื่อให้ใช้กับเว็บเบราเซอร์์รุ่นเก่าได้ ให้ใส่้ทั้ง attribute id และ attribute name ควบคู่กัน

<img src="/picture.gif" id="pic1" name="pic1" />
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
คำสั่ง Command Line สำรองเว็บไซต์ บน Directadmin Backup Website ขนาดใหญ่
โดย mindphp ศ 22 มี.ค. 2024 5:31 am บอร์ด Linux - Web Server
1
449
ศ 22 มี.ค. 2024 11:52 pm โดย mindphp View Topic คำสั่ง Command Line สำรองเว็บไซต์ บน Directadmin Backup Website ขนาดใหญ่
Vmware Exsi 5 เพิ่ม HDD เป็น data store ไม่ได้เจอ Error Call "HostDatastoreSystem.QueryVmfsDatastoreCreateOptions" for
โดย mindphp พฤ 21 มี.ค. 2024 6:53 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
475
ศ 05 เม.ย. 2024 10:04 am โดย mindphp View Topic Vmware Exsi 5 เพิ่ม HDD เป็น data store ไม่ได้เจอ Error  Call "HostDatastoreSystem.QueryVmfsDatastoreCreateOptions" for
ถ้าใช้เมนบอร์ดที่ใส่ cpu ได้สองตัว และ cpu รันปกติแต่ vmwere
โดย Anonymous พ 20 มี.ค. 2024 3:09 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
202
พฤ 21 มี.ค. 2024 6:48 am โดย mindphp View Topic ถ้าใช้เมนบอร์ดที่ใส่ cpu ได้สองตัว และ cpu รันปกติแต่ vmwere
วิธีตั้งค่าการเก็บ Logs Error ของ OpenLiteSpeed ใช้ได้กับ Apache, Nginx
โดย mindphp พ 20 มี.ค. 2024 2:27 pm บอร์ด Linux - Web Server
0
264
พ 20 มี.ค. 2024 2:27 pm โดย mindphp View Topic วิธีตั้งค่าการเก็บ Logs Error ของ OpenLiteSpeed ใช้ได้กับ Apache, Nginx
วิธีแก้ปัญหา ลืมรหัสผ่าน ไม่รู้รหัสผ่าน เข้า WebAdmin Console ของ OpenLiteSpeed ไม่ได้
โดย mindphp พ 20 มี.ค. 2024 2:16 pm บอร์ด Linux - Web Server
0
159
พ 20 มี.ค. 2024 2:16 pm โดย mindphp View Topic วิธีแก้ปัญหา ลืมรหัสผ่าน ไม่รู้รหัสผ่าน เข้า WebAdmin Console ของ OpenLiteSpeed ไม่ได้
สอบถามรับค่าไฟล์อัพโหลดเข้า controller ไม่มี type และ tmp_name [phpBB]
โดย eange08 พ 20 มี.ค. 2024 10:59 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
357
พ 20 มี.ค. 2024 11:55 am โดย eange08 View Topic สอบถามรับค่าไฟล์อัพโหลดเข้า controller ไม่มี type และ tmp_name [phpBB]
Joomla User Group London มี Meeting เกี่ยวกับ Joomla 5.1 และ การทำ Test ด้วย Cypress
โดย mindphp พ 20 มี.ค. 2024 2:29 am บอร์ด MindPHP News & Feedback
2
176
พ 20 มี.ค. 2024 3:17 am โดย mindphp View Topic Joomla User Group London มี Meeting  เกี่ยวกับ Joomla 5.1 และ การทำ Test ด้วย Cypress
SQL JOIN: การรวมข้อมูลจากหลายตารางในฐานข้อมูล
โดย witsarutt000 พฤ 14 มี.ค. 2024 4:07 pm บอร์ด SQL Knowledge
1
454
พฤ 14 มี.ค. 2024 5:44 pm โดย Sirayu View Topic SQL JOIN: การรวมข้อมูลจากหลายตารางในฐานข้อมูล