في المزيد والمزيد من المواقع الإلكترونية ، يستبدل استخدام XHTML HTML4 بسرعة كبيرة للغاية. ومع ذلك ، فإن بعض المتصفحات الرئيسية لا تدعم حاليًا XHTML ، وبعض صانعي صفحات الويب لا يفهمون الاختلافات بين XHTML و HTML4 بما فيه الكفاية ، مما يجعل XHTML بطيئًا في تطوير الويب.
XHTML هو XML ، وليس HTMLحاليًا ، واحدة من سوء الفهم الرئيسي حول XHTML هو أنها نسخة أخرى من HTML. إحدى الحقائق التي تسبب سوء الفهم هذه هي أن Microsoft Internet Explorer تدعم فقط XHTML مع نص تنسيق MIME/HTML وليس تنسيق التطبيق/XHTML+XML الموصى به.
عندما يتم تحليل صفحة XHTML بتنسيق MIME للنص/HTML ، فليس لها فرقًا من صفحة HTML ، وعندما يتم تحليلها في تنسيق MIME للنص/XML أو Application/XHTML+XML ، فسوف يتوافق مع قواعد الكتابة والعرض الصارمة XML.
تنسيق XHTML الصحيح هو برنامج XML ويحتاج إلى اتباع القواعد الصارمة التالية عند الكتابة: 1. الأحرف <و ولا يُسمح له بالظهور في محتوى مستند XHTML إلا إذا تم تضمينها في علامة CDATA (<! [CDATA [...]]>) 2. لا يمكن أن تحتوي ملصق التعليق (<! --...-->) على قضبان أفقية متتالية (-) 3. سيتم تجاهل المحتويات المدرجة في علامة التعليق (<! --...-->) مشاكل في النمط والمحتوى السيناريوسوف تتسبب المحتويات داخل النمط والبرنامج النصي في بعض الاختلافات المختلفة عندما يتم تحليل XHTML بتنسيق XML (بدلاً من تنسيق HTML).
يحتوي JavaScript على أحرف لا يمكن أن توجد في XHTML بعض الأحرف الخاصة في JavaScript هي أحرف لا يمكن أن توجد خارج علامة CDATA لـ XHTML.<script type = text/javaScript>
var i = 0 ؛
بينما (++ I <10) {
// ...
}
</script>
ملاحظة: لا يعد رمز العينة أعلاه تنسيقًا جيدًا XHTML لأنه يستخدم العلامات غير المسموح بها في XHTML أو XML <
استخدم التعليقات في المحتوى النمسي والبرنامج النصيعادةً ما يفهم المؤلفون المطلعون على HTML أن وضع محتوى علامة النمط وعلامة البرنامج النصي في علامات التعليق سيخفي هذه المحتويات في المتصفح ، لكن بعض المتصفحات لا يمكنها فهمها.
<نوع النمط = text/css>
<!-
الجسم {خلفية اللون: الأزرق ؛ اللون: أصفر ؛}
->
</style>
<script type = text/javaScript>
<!-
var i = 0 ؛
var sum = 0 ؛
لـ (i = 0 ؛ i <10 ؛ ++ i)
{
SUM += i ؛
}
تنبيه ('sum =' + sum) ؛
// ->
</script>
يوضح المثال أعلاه كيفية تجاهل المحتوى في علامة التعليق في المتصفح. في الوقت نفسه ، يوضح هذا المثال أيضًا الفرق بين محتوى المتصفح بتنسيق النص/XML وتنسيق التطبيق/XHTML+XML.
Mozilla 1.1+ / Opera 7
لا يتم تطبيق أي CSS ، لا يتم تنفيذ أي جافا سكريبت
Netscape 7.0x / Mozilla 1.0.x
عدم تطبيق CSS ، ولكن تنفيذ JavaScript
Internet Explorer 5.5+
لم يتم عرض المستند. (انظر: https://developer.mozilla.org/ta ... _in_xhtml_documents)
يحتوي الأسلوب والرافاكريبت على قضبان أفقية متتالية (-)هناك مشكلة أخرى تنشأ عند استخدام علامات التعليقات للمعالجة في JavaScript على صفحة XHTML وهي أنه سيكون هناك قضبان أفقية متتالية (-) في JavaScript:
<script type = text/javaScript>
<!-
var i ؛
var sum = 0 ؛
لـ (i = 10 ؛ i> 0 ؛ -i)
{
SUM += i ؛
}
// ->
</script>
استخدم CDATA بدلاً من التعليقاتيمكن لوضع المحتويات داخل علامة البرنامج النصي في كتلة CDATA التعامل مع مشكلة شريطين متتاليين في التعليقات بشكل جيد ، ولكن هذا سيجعلها لا تدعمها بعض الإصدارات الأدنى من المتصفحات لأنها لا تستطيع فهم XML. لحسن الحظ ، يمكننا التعليق على كتل CDATA باستخدام المعلقين في JavaScript لتحقيق التوافق.
<script type = text/javaScript>
// <! [CDATA [
var i = 0 ؛
بينما (++ أنا <10)
{
// ...
}
//]]>
</script>
طريقة معالجة توافق XHTML و HTML الموصى بهالا تكتب النمط والنص مباشرة في صفحات XHTML. البديل الجيد هو استخدام الملفات الخارجية لكتابة CSS و JavaScript قبل تقديمها في XHTML.
يبدو حل التوصية هذا جيدًا جدًا. في أي حال ، فإنه يجعل الصفحة تتغير من النص/HTML إلى التطبيق/XHTML+XML ، على الأقل في السنوات القليلة المقبلة.