XHTML

דוגמה של מסמך XHTML
XHTML (ראשי תיבות של eXtensible HyperText Markup Language) היא שפת סימון לעיצוב עמודי אינטרנט, בדומה ל-HTML, אלא שהיא מוגדרת כיישום XML ולא כיישום SGML, ולפיכך חלים עליה כללי מבנה קשיחים וקפדניים יותר.

כמו HTML, גם שפת XHTML הוגדרה והתקבלה על ידי ארגון W3C כתקן.

הצורך בכללי סמנטיקה קפדניים מ-HTML התעורר עקב עליית תפוצתם של התקנים ניידים ומשובצים (Embedded), והעובדה שעיבוד של XML פשוט יותר ודורש פחות משאבים. מסמכי XHTML עונים על התכונות הבאות:
# מבניות. הדף חייב להתחלק לשני חלקים - body ו-head. שניהם חייבים להימצא בין תגיות HTML.
# קוד מקונן. התגיות הסוגרות חייבות להיות מקוננות בהתאמה לתגיות הפותחות. 
# קוד מאורגן. כל תגית חייבת להיסגר. רוב התגיות באמצעות תגית סוגרת וחלקן כתגית ריקה - תגית פותחת וסוגרת בו-זמנית (לדוגמה: )
# סוגי אותיות. הקפדה על אותיות קטנות בלבד, ולא עירוב של השתיים, כפי שקיים ב-HTML.
# בהירות. כל תכונה של מאפיין חייבת להיתחם בגרשיים כאשר לפניה האופרטור שווה (=).

בינואר 2000 הושלמה הגדרתו של תקן XHTML 1.0, בהתבסס על HTML 4.01. בדומה לו, גם XHTML 1.0 כלל הגדרה לשלושה סוגי מסמכים, על פי תכונת הDOCTYPE:
# Strict - נוקשה - סוג מסמך העונה על הדרישות המחמירות יותר.
# Transitional - מעבר - סוג מסמך לזמן המעבר מהפורמט הישן לחדש, העושה שימוש בתכונות אשר קיימות בHTML כגון תגית FONT, אשר לא יתמכו בעתיד.
# Frameset - לשימוש בדפים עם מסגרות (Frames) בלי קוד נוסף.

תקן XHTML 1.0 תוכנן לתאימות אחורה, וכולל נספח המתאר קווים מנחים כיצד לכתוב מסמכי XHTML אשר תתאפשר צפייתם גם בדפדפנים ללא תמיכה בתקן זה.

במאי 2001 הושלמה הגדרתו של תקן XHTML 1.1, בהתבסס על XHTML 1.0 Strict. תקן זה אינו משמר תאימות אחורה עם HTML.

נכון ליולי 2007, XHTML 2.0 עדיין מוגדר כטיוטת עבודה.

רוב הדפדפנים העדכניים תומכים ב־XHTML. דפדפנים ישנים יותר מתמודדים עם מסמכי XHTML 1.0 ללא קושי הודות לתאימות לאחור.

==ישויות ב-XHTML==

קובץ הגדרת המסמך (DTD) מצהיר במפורש על אותן 252 ישויות (Entity reference) של HTML. בנוסף, מכיוון ש-XHTML הוא XML הוא מכיל גם את הישות <code>apos</code>, וניתן להצהיר ב-XHTML על ישויות נוספות בקובץ הגדרת המסמך. מבחינת תמיכה של דפדפנים באפשרויות אלו, התשובה תלויה באיך הדפדפנים מתייחסים ל-XHTML.

* אם הוא נקרא על ידי מפענח HTML אזי רק 252 ישויות HTML נתמכות. הישות <code>apos</code> אינה נתמכת בוודאות, כמו גם הגדרת ישויות נוספות.
* אם הוא נקרא על ידי מפענח XML שלא יכול להבין ישויות חיצוניות, אזי רק 5 הישויות של XML בטוחות לשימוש, למרות ניתן להשתמש בישויות אחרות שמוגדרות בתוך המסמך.
* אם הוא נקרא על ידי מפענח XML שיכול להבין ישויות חיצוניות, אזי 5 הישויות של XML בטוחות לשימוש, 248 הנוספות בטוחות לשימוש במידה וקוראים לקובץ הגדרת המסמך. כמו כן, ניתן להצהיר על ישויות נוספות כחלק מהמסמך, או בצורה חיצונית.

רק <code dir="ltr">&quot;</code>, <code dir="ltr">&amp;</code>, <code dir="ltr"><</code> ו <code dir="ltr">></code> יעבדו בכל המפענחים בצורה בטוחה.

האפשרות הראשונה, של תמיכה ב-252 הישויות בלבד, היא הנפוצה כיום.

== ראו גם ==

*מונחים ברשת מחשבים
*מונחים בתוכנה

== קישורים חיצוניים ==

* 
* [http://www.w3.org/TR/xhtml1/ תקן XHTML 1.0] באתר ה-W3C
* [http://www.w3.org/TR/xhtml11/ תקן XHTML 1.1] באתר ה-W3C
* [http://www.w3.org/TR/xhtml2/ טיוטת עבודה XHTML 2.0] באתר ה-W3C
* מ-HTML ל-XHTML מדריך שמסביר את ההבדלים בין HTML ל- XHTML 1.0 STRICT
* HTML/XHTML ספר HTML שמלמד את גרסה XHTML 1.0 STRICT.
* [http://www.tworld.org אתר בעברית שעוסק בנושא]
* [https://web.archive.org/web/20071226235153/http://www.webmaster.org.il/guide.asp?subject=xhtml מדריך XHTML בעברית] בוובמאסטר
* [http://vlib.eitan.ac.il/programming2/xhtml/1.htm מדריל באתר איתן]

קטגוריה:XML
קטגוריה:HTML
קטגוריה:תקנים בתקשורת מחשבים
קטגוריה:עיצוב אתרי אינטרנט