โลกปัจจุบัน XML
XHTML ส่วนใหญ่ในเวปที่เราเห็น ๆ กันอยู่นั้นใช้ content type แบบ "text/html" พูดง่าย ๆ มันก็ยังเป็น ต้มยำ tag ที่ทำงานในแบบ XML ไม่ได้เป็น XML ไปเสียทีเดียว
ทำไมน่ะเหรอ? เพราะถ้าเป็น XML จริง ๆ นั้นถ้ามี error แม้เพียงแค่จุดเล็ก ๆ จุดเดียวมันก็จะไม่แสดงผลใดใดเลยทันที จะบอกแต่ว่ามี error อยู่ที่ใด ซึ่งบางทีนั้นก็ดูจะเรื่องมากไปหน่อยสำหรับการนำมาใช้งานจริง ๆ ซึ่งคุณลองคิดดูว่าถ้าเราแบ่งงานกันเป็นส่วน ๆ ในทีมแล้วเมื่อเรานำงานของแต่ละคนที่ทำนั้นเข้ามารวบรวมกัน เราคงต้องลุ้นกันตัวงอ ว่าจะมีส่วนของใครที่ผ่าน และ ส่วนของใครที่นำพาความหายนะมาสู่เพื่อนพ้อง นั่นเป็นเหตุผลว่าทำไมความนิยมของมันจึงลดถอยลงคงเหลือไว้ใช้เพียงบางกรณี ต่างกับเจ้าต้มยำ Tag ของเราถึงแม้ว่าเราจะไม่รู้ตัวว่าเราน่ะ code ไม่ผ่านมาตรฐาน แต่มันก็ยังน่ารักแสดงผลให้เราเห็นอยู่ (อืม ปลื้มดีมั้ยนะ)
ปัญหาใหญ่ คือ เราจะทำไงให้ต้มยำเรามันทำงานแบบ XML จริง ๆ จัง ๆ ซึ่งยังไง๊ ยังไง ก็ทำไม่ได้เพราะ IE6 มันไม่สนับสนุน content type ที่ XHTML 1.0 ต้องใช้จริง ๆ ซึ่งนั่นก็คือ "application/xhtml+xml" ซึ่งเป็นที่ทราบกันแล้วว่าไม่ว่าจะประกาศอะไรอย่างไร IE6 มันก็ดึง Engine เดิมมาประมวลผลในการแสดงผล หาเปลี่ยนไปตามค่า content type ที่เราประกาศไม่ แถมยังไม่สนับสนุนคำสั่ง XML ทั่วไปด้วย ลามไปถึง XHTML namespace อีกต่างหาก และ แค่นั้นยังไม่พอ มันยังไม่รู้จักความเป็น semantics ของแต่ละ elements ใน XHTML ด้วย (เกลียดมันบ้างรึยัง) แถมนิดนึง default browser style sheet ก็เปลี่ยนไม่ได้ด้วยนะ
อย่างไรก็ตาม XHTML 1.0 อนุญาติให้ใช้ content type แบบ "text/html" ซึ่งหมายถึงมัน อนุโลมให้ตัวมันเองสามารถทำงานเหมือนกับ HTML 4.01 ได้ (เพื่อป้องกันการแสดงผลที่ผิดพลาด หรือ การไม่เข้าใจ content type ของบาง browser) ซึ่งนั่นหมายถึง มันก็สามารถเป็นต้มยำ tag ได้เฉกเช่นเดียวกับ HTML 4.01 หรือ ไม่จำเป็นจะต้องทำอะไรเป็นกฏเป็นเกณฑ์เหมือน XML ไปหมด