על ההבדל בין HTML ל-XHTML

בעקבות המאמר על HTML 5, שאלו אותי על ההבדל המהותי בין HTML ל-XHTML ולמה XHTML נחשב יותר. במאמר זה אסביר על ההבדל ולמה בעצם XHTML לא נחשב יותר (אך עדיין מומלץ מאד להשתמש בו).

על מנת להבין את מקור ה-XHTML, כדאי שנחזור אחורה בזמן לשנת 1999, עולם הטכנולוגיה כמרקחה כאשר ה-XML יוצא לאוויר העולם. היתה תחושה שהכל אפשרי, תקן ה-XHTML יצא על מנת לאפשר למפתחי אינטרנט לכתוב XML שיתאים לדפי אינטרנט וכן שיוכל לשלב אפליקציות אינטרנט בקלות באמצעות תגיות גמישות שכל אחד יכול לכתוב ולאפיין בהתאם לצרכים שלו. באמצעות XHTML אפשר לכתוב דפי אינטרנט שישלבו מידע מאפליקציות שונות בקלות מדהימה, לכתוב אתרי אינטרנט שיראו מעולה בכל סוג דפדפן שהוא שיש בו xml parser ולתת חירות מדהימה עבור כל מפתח אינטרנט – לכתוב תגיות משלו עם התנהגות משלו.

מבנה ה-XHTML לעומת ה-HTML

מבנה ה-XHTML לפיכך מאד דומה למבנה XML – הוא אינו מכיל תגיות פתוחות ועל כל תגית בודדת (כמו img למשל) להסגר. צריך להקפיד על קינון מתאים ועל סדר היררכי וכו'. בנוסף, מסמך XHTML לא אמור לעבור SGML parsing.

HTML לעומת זאת לא מתנהג כמו XML, אפשר בהחלט לכתוב תגיות ולא לסגור אותן. למען האמת סגירה שלהן נחשבת כטעות וכל הדפדפנים לא יתייחסו אליה, לא חייבים להקיף כל דבר במרכאות ובתגיות סוגרות. כך למשל li לא חייב להסגר.

מה אפשר לעשות ב-XHTML ואי אפשר לעשות ב-HTML ?

כל נושא התגיות הגמישות והשילוב של ה-XML הוא יתרון אדיר. החסרון של HTML הוא שהוא יכול להשתמש רק בתגיות של HTML בעוד שהיתרון של XHTML שהוא יכול להשתמש בכל תגית שהיא לשילוב כל מידע שמגיע מ-XML.

הכשלון העצוב של ה-XHTML

בגדול, ה-XHTML נכשל. למה הוא נכשל? בגלל שבטח כל מה שאמרתי בפסקה הקודמת על תגיות גמישות באפליקצית אינטרנט נשמע כמו סינית וכמו איזו שטות. מעט מאד מפתחי אינטרנט בעולם משתמשים ב-XHTML כמו שצריך להשתמש בו, ולמה?

מסיבות שונות ומשונות, מיקרוסופט לא תומכים (וגם לא יתמכו) ב-XHTML או יותר נכון ב application/xhtml+xml MIME type באינטרנט אקספלורר על שלל גרסאותיו. כיוון שמדובר בדפדפן האינטרנט הנפוץ בעולם, שום מפתח אינטרנט לא יפתח ב-XHTML אמיתי.

במקום application/xhtml+xml MIME type אנו בדרך כלל מורים לדפדפן לעשות parsing לדף האינטרנט כ-HTML. ומה שרוב המפתחים מכירים כ-XHTML הוא בעצם XML שמשתמש אך ורק בתגיות HTML, סוג של XHTML מסורס שאין כל הבדל בינו לבין HTML 4.01 מבחינת יכולות. הוא עובר parsing ב-SGML ואנו מורים לדפדפן האינטרנט להעביר אותו parsing כזה.

אז למה כן להשתמש ב XHTML?

למרות שסביר מאד להניח שתקן ה-XHTML לא ימריא בשנים הקרובות ולא ימלא את הציפיות הגבוהות שתלו בו, חשוב להקפיד שאתר האינטרנט כן יהיה בתקן XHTML מהסיבות הבאות:

  • תקן XHTML דומה הרבה יותר לתקן HTML 5 העתידי מאשר HTML 4.01 ולפיכך ידרוש התאמות מעטות יותר לתקן זה.
  • תקן XHTML על המבנה ההיררכי הנוקשה שלו ידידותי הרבה יותר למנועי חיפוש.
  • המבנה ההיררכי והמסודר של דף XHTML נוח יותר למתכנתים ולאנשי JavaScript מאשר HTML 4.01.

תקן HTML 4 מכיל את כל היכולות של XHTML מבחינת HTML. אך אין לשכוח את התרומה העצומה למודעות לתקן XHTML ולמחשבה הרווחת בציבור המפתחים ש-XHTML טוב יותר להתפתחות אתרי האינטרנט – מאתרי אינטרנט טבלאיים מיושנים לאתרי אינטרנט מעוצבים בגמישות והפרדה ברורה בין תוכן, עיצוב והתנהגות.

תקן XHTML 2 לעומת תקן HTML 5

ב-WC3 עובדים על תקן XHTML 2 שהוא הרבה יותר קרוב ל-XML מאשר XHTML 1.1. בשנת 2009 אמורה לצאת הטיוטא התשיעית של התקן אך לאור השימוש המועט מאד ב-XHTML עתידו של התקן לא ברור ולא ברור אם מישהו יישם אותו.

XHTML 5 יצא במקביל ל-HTML 5 ויכיל את אותם מאפיינים של HTML 5 בנוסף למבנה ההיררכי הקשיח של XML שאנו מכירים כיום. כיוון שהתקן הסופי אמור לצאת בשנת 2012, כל מה שנותר לנו זה לחכות ואולי לקוות שמתישהו ההבטחה שהיתה טמונה ב-XHTML תתממש.

כדאי תמיד להשאר מעודכנים! הרשמו לעדכונים של האתר במייל! - המייל יישלח כל יום ראשון בעשר בבוקר ויכיל אך ורק את המאמרים שהתפרסמו באינטרנט ישראל. ללא ספאם, ללא הצפות, ללא בלגנים. 🙂

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (אין הצבעות)


אל תשארו מאחור! יש עוד מה ללמוד!

הצטרפו לעדכונים!

העדכונים נשלחים אך ורק כאשר האתר מתעדכן.

רן בר-זיק

רן בר-זיק כותב כל המאמרים באינטרנט ישראל, מפתח אינטרנט מנוסה במגוון שפות ופלטפורמות.
ניתן ליצור איתי קשר באמצעות:
כתובת המייל שלי: info@internet-israel.com.
פרופיל הלינקדאין שלי
הטוויטר שלי
פרופיל הפייסבוק שלי
אני תמיד שמח לייעץ ולעזור, אך בשל עומס הפניות הרב, אני לא תמיד מצליח לענות במהירות.