HTML هي اللغة العالمية لنشر النص التشعبي على شبكة الويب العالمية [1]. منذ عام 1982 عندما قام Tim Berners-Lee بتبسيط SGML لإنشاء التعريف الأصلي لـ HTML إلى إصدار مواصفات XHTML1.1 في عام 2001، أصبح HTML معيارًا عالميًا بإصدارات متعددة [2]. يتم تعريف كل إصدار من المواصفات بلغة يمكن قراءتها آليًا، والتي تصف البنية القانونية والعناصر والسمات. وهذا هو تعريف نوع المستند (DTD).
يصف DTD إعلان نوع المستند (إعلان DTD، المشار إليه باسم doctype[3]) الموجود في مقدمة مستند HTML، وهو الرابط بين المستند وتعليمات DTD. على سبيل المثال، نوع الوثيقة HTML4.01 Strict هو:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd ">
ويشير إلى إصدار HTML الذي يستخدمه المستند، وهي أهم المعلومات التي تحتاجها أدوات مثل المتصفحات عند تحليل المستند. على سبيل المثال، يمكن لأدوات التحقق الخاصة بـ W3C استخدامها للتحقق من بناء الجملة والإشارة إلى الأخطاء.
أدى التنفيذ غير الصحيح للمعايير في المتصفحات المبكرة، وانتشار الامتدادات الخاصة، والارتباك في المعايير المبكرة نفسها للتوافق الأمامي، إلى عدم احتواء المستندات في ذلك الوقت على أنواع مستندية أو إشارات مباشرة إلى DTDs، مما جعل من الصعب أيضًا تنفيذ معايير جديدة اكتسبت اعتماداً وشعبية لأن المتصفحات لم تتمكن من التمييز بينها. من أجل التعامل مع صفحات الويب التي تم إنشاؤها وفقًا لمعايير الويب وصفحات الويب التي تم إنشاؤها وفقًا للممارسات القديمة، اقترح تود فارنر طريقة "توصل إلى تبديل" في عام 1998 [4]، والتي تسمح للمتصفح بتوفير مجموعتين من أوضاع العرض : أي أنه باستخدام نوع مستند كامل، يتم تحليل المستندات باستخدام معايير W3C، وإلا فسيتم تحليلها بالطريقة القديمة.
هذه الطريقة عملية وبسيطة وفعالة. بعد ذلك بعامين، تم استخدامه لأول مرة في إصدار Mac من IE، وسرعان ما تبنته الشركات المصنعة للمتصفحات الأخرى، مما أدى إلى استنشاق نوع المستند (استنشاق نوع المستند أو تبديل نوع المستند). يستخدمه المتصفح ليقرر ما إذا كان محركه يجب أن يعتمد الوضع القياسي أو الوضع شبه القياسي أو وضع المراوغات، والذي سيكون له تأثير كبير على تحليل HTML وCSS وتخطيط CSS ونصوص JavaScript [5]. ليس هناك شك في أننا يجب أن نستخدم النموذج القياسي قدر الإمكان.
على الرغم من أن HTML5 لا يزال في مرحلة المسودة، فقد بدأت أحدث المتصفحات Firefox3.5 وChrome2 وSafari4 وIE8 في دعم بعض الميزات، وعلى وجه الخصوص، أدى إصدار Google Wave إلى حدوث طفرة جديدة في الترويج لممارسة HTML5. لا يعتمد HTML5 على SGML ولا يحتوي على DTD، ولكن من أجل التوافق الأمامي، فهو يقبل حقيقة استنشاق نوع المستند ويحدد أن نوع المستند هو بيان تحويل الوضع الوحيد في النص/html، وليس له أي استخدام آخر. نوع الوثيقة الخاص به موجز للغاية: <!doctype html>[6].
ومن الجدير بالذكر أن IE8 يعتمد عبارة X-UA-Compatible [7] لحل التوافق الأمامي، ونتيجة لذلك، لا يعتمد وضع عرض المتصفح في IE8 على استنشاق نوع المستند فحسب، بل يعتمد أيضًا على عبارة X-UA-Compatible فهو لا يجعل الحكم على الأنماط أكثر تعقيدًا فحسب [8]، ولكنه ينتهك أيضًا فكرة التحسين التدريجي في تصميم الويب [9].
في الطريق إلى معايير الويب، لا نحتاج فقط إلى التوافق الأمامي المليء بالواقعية، ولكن أيضًا التوافق العكسي المليء بالمثالية. وهذا هو الأمل في ضمان إمكانية عمل الويب الخاص بنا بشكل صحيح في المستقبل. وفي ظل أفكار المعايير والبساطة والتحسين التدريجي، فإن الحل الأفضل لصفحتنا الآن قد يكون:
<!doctype html> … <meta http-equiv="X-UA-Compatible" content="IE=Edge"> …
ملحوظة:
[1] HTML هي اللغة المشتركة لنشر النص التشعبي في العالم
شبكة واسعة
[2] http://zh.wikipedia.org/wiki/Html
[3] غالبًا ما كان يُطلق على إعلان DTD اسم "إعلان نوع المستند" في المواصفات السابقة.
من السهل الخلط بينه وبين DTD.
[4] http://web.archive.org/web/20030212115103/http://www.geocrawler.
com/archives/list-name.mbox/123/1998/7/0/1037920/
[5]قم بتنشيط وضع المتصفح باستخدام نوع المستند
[6] http://www.w3.org/TR/html5/syntax.html#the-doctype
[7] بالإضافة إلى أنواع المستندات، تتوافق معايير الويب مع IE8
[8] http://dancewithnet.com/2009/06/14/activating-browser-modes
-with-doctype/#ie8modes
[9] هل يعتمد مستقبل معايير الويب على تقنية المتصفح؟
النص الأصلي: http://ued.koubei.com/?p=928