سؤال

عند تطوير تطبيق جديد يعتمد على الويب، ما هو إصدار html الذي يجب أن تستهدفه؟

يحرر:

لقد كنت أحاول فقط أن أشعر بالآخرين وأميل إلى استخدام XHTML 1.0 Strict في عملي الخاص والانتقالي عندما يشارك الآخرون في إنشاء المحتوى.

لقد قمت بوضع علامة على أول مشاركة انتقالية لـ XHTML 1.0 باعتبارها "الإجابة الصحيحة" ولكني أعتقد بشدة أن جميع الإجابات المقدمة في تلك المرحلة تكون صالحة بنفس القدر.

هل كانت مفيدة؟

المحلول

سأقوم بالتصوير لـ XHTML Transitional 1.0.لا تزال هناك بعض الفروق الدقيقة التي لا تحب لغة XHTML الصارمة، ومعظم المحررين الذين رأيتهم الآن سيعطونك التحفيز المناسب للتأكد من أن الأمور تتم بشكل صحيح.

نصائح أخرى

أتش تي أم أل 4.01.هناك على الاطلاق بدون سبب لاستخدام XHTML في أي شيء باستثناء المشكلات التجريبية أو الأكاديمية التي تريد تشغيلها فقط على متصفحات الويب "الغامضة".

XHTML Transitional لا معنى له على الإطلاق حتى أولئك المتصفحات، لذلك لست متأكدًا من سبب استهداف أي شخص لذلك.إنه في الواقع أمر مثير للقلق للغاية أن يوصي عدد من الأشخاص بذلك.

أود أن أقول إن استهداف HTML 4.01 هو الأكثر توقعًا، لكن Teifion محق حقًا، "أي شيء يعرض صفحتك سيفعله".

للإستجابة ل مايكل ستوم:

يعتمد XHTML على XML، لذا فهو يسمح بتحليل أسهل ويمكنك أيضًا استخدام مكونات XML لمعظم IDEs للاستعلام عن الأشياء وإدراجها برمجيًا.

هذا بالتأكيد ليس صحيحا.الكثير من XHTML على الويب (إن لم يكن معظمها) لا يتوافق مع صلاحية XML (ولا داعي لذلك - لا يتم إرساله بتنسيق XML).إن محاولة التعامل مع هذا مثل XML عند التعامل معه سوف يسبب لك الكثير من الصداع.على سبيل المثال، ستؤدي هذه الصفحة في Stack Overflow إلى إنشاء أخطاء مع العديد من أدوات XML التي لا ترحم بسبب وجود ترميز غير صالح.

انتقالية تم إهمال نكهات XHTML وHTML.وكان المقصود منهم فقط لوكلاء المستخدم القدامى الذين لا يدعمون CSS.يرى شرح في DTD.

ينصح W3C بضرورة استخدام Strict كلما كان ذلك ممكنًا، وهذا ممكن بالتأكيد هذه الأيام.

تمت إزالة الإصدار الانتقالي بالفعل في XHTML/1.1 وHTML5.


يحتوي XHTML/1.0 على نفس العناصر والسمات (الدلالات) تمامًا مثل HTML4.مواصفات XHTML/1.0 لا تحدد حتى أي عناصر!بالنسبة لأي شيء آخر غير بناء الجملة، فإنه يشير إلى HTML4.

بالإضافة إلى ذلك، لن تتمكن من استخدام أي ميزة في XHTML غير متوفرة في HTML (مساحات الأسماء، XML DOM) إذا قمت بإرسال المستندات بتنسيق text/html, ومن المؤسف أن هذا مطلوب للتوافق مع IE ومتصفحات HTML الأخرى فقط.

في عام 2008، سيكون الاختيار الصحيح هو HTML4 Strict:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

ولكن اعتبارا من عام 2016، هناك فقط نسخة واحدة من HTML أن المسائل.

 <!DOCTYPE html>

@ مايك:

على الرغم من أنني أوافق على أن الصلاحية ليست ضرورية لعرض الصفحة (بعد كل شيء، يتعين علينا الحفاظ على توافق IE6 في...)، إلا أن إنشاء XHTML صالحًا ومتوافقًا وصالحًا لا يمثل مشكلة.تبدأ المشاكل عندما يعتاد الأشخاص على HTML 4 ويستخدمون العلامات والسمات المهملة.

فقط لأن الويب عبارة عن كومة من الفضلات لا يعني أن كل صفحة جديدة يجب أن تكون كومة من الفضلات أيضًا.معظم أخطاء التحقق من الصحة في SO تافهة للغاية، ولا ينبغي أن يستغرق إصلاحها وقتًا طويلاً، مثل علامات الاقتباس المفقودة في السمات.

ولكن ربما لا يزال الأمر لا معنى له، نظرًا لحقيقة أن W3C ليس لديه أي فكرة عن المكان الذي يريدون الذهاب إليه على أي حال (انظر HTML 5) وأن شركة متصفح كبيرة معينة تصنع أيضًا أنظمة التشغيل لا تهتم أيضًا، لذلك يمكن للموقع أيضًا إرسال نوع المستند الخاص به مثل HTML 1337 Sucks وستظل المتصفحات تحاول عرضه.

هناك بعض قهري تحذيرات حول استخدام XHTML، يتمحور بشكل أساسي حول حقيقة أنه يجب إرسال نوع mime لمثل هذا المستند على النحو التالي:

Content-type: application/xhtml+xml

ومع ذلك فإن IE 6 و7 لا يدعمان هذا، ومن ثم يجب على مواقع الويب إرساله على النحو التالي:

Content-type: text/html

للأسف هذا الأسلوب تعتبر ضارة.

يتحسر البعض أيضًا على حقيقة أنه على الرغم من أن هدف XHTML هو جعل صفحات الويب قابلة للتحليل بواسطة محلل XML، فقد فشل عمليًا بسبب الاستخدام غير الصحيح على مواقع الويب الموجودة.

ما زلت أفضل كتابة المستندات بلغة XHTML 1.0 Strict، ويرجع ذلك في الغالب إلى التحدي و النظافة والتحقق من الخطأ أن أ مدقق يعطي.أنا أستمتع ببناء الجملة بشكل أفضل قليلاً، لأنه يجبرني على أن أكون واضحًا جدًا عند انتهاء العلامات، وما إلى ذلك.إنه بالنسبة لي خيار شخصي أكثر من كونه خيارًا تقنيًا بحتًا.

Dillie-O على حق في إجابته عن XHTML 1.0 Transitional ولكني أقترح التصوير لـ XHTML 1.0 Strict والعودة إلى Transitional فقط إذا كان هناك بعض الوظائف التي تحتاجها تمامًا والتي لا يسمح بها Strict.

أي شيء يعرض صفحتك سيتم القيام به بغض النظر عن المعيار الشائع الذي تستخدمه.XHTML أكثر صرامة وربما "أفضل" ولكن لا يمكنني رؤية المزايا التي ستحصل عليها بمعيار واحد على الآخر.

أنا أؤيد XHTML Strict في كل مرة.أعتقد بشدة أن HTML يجب أن يكون أشبه بـ XML.ليس من الصعب التحقق من صحة ذلك إذا كنت تعرف لغة XML ويقوم مدقق W3 بتوجيهك إلى المسار الصحيح على أي حال.

يتجه XHTML 2.0 نحو ما كان W3 يهدف إليه لفترة طويلة - الويب الدلالي.أفضل فائدة لـ XHTML 2.0 بالنسبة لي هي أن كل صفحة متوافقة على الويب ستكون مفهومة كمحتوى، أو مقال (لأن هذه هي الصفحات - المستندات) لأنها تنطبق جميعًا على نفس المعيار.ستتمكن بعد ذلك من إنشاء مترجمين فوريين (أي:المتصفحات) التي تقدم المحتوى بطريقة مختلفة تمامًا - هناك حرفيًا آلاف الأفكار المنتظرة هنا.

إذا كنت تريد استخدام XHTML 1.0 بطريقة متوافقة مع HTML، فلا بأس بذلك.ومع ذلك، لاحظ أن مدقق W3C وXHTML DTDs لا يعرفان شيئًا عن أنواع mime وكيف تتصرف المتصفحات بشكل مختلف (مثل مطابقة الاسم/المعرف <map>) بينهما.لا تعرف DTDs شيئًا عن مدى جودة دعم المتصفحات لعناصر معينة (مثل <embed> على سبيل المثال).

ما يعنيه هذا هو أن XHTML DTDs وأداة التحقق لا تعكس الواقع وأن محاولة التوافق معها لا معنى لها.

إذا كنت تريد استخدام XHTML فقط حتى تتمكن من إغلاق عناصر معينة باستخدام /> (حيث يكون متوافقًا مع html)، فما عليك سوى استخدام ترميز HTML5 (بحيث يكون المتصفح في الوضع القياسي الكامل).يسمح HTML5 باستخدام /> بطريقة متوافقة مع HTML (نفس الطريقة المتوافقة مع HTML التي يتعين عليك القيام بها عند استخدام ترميز XHTML 1.0 مع النص/html).بعد ذلك، التزم فقط بما ينجح (أنت تعرف أفضل من بعض DTD) في المتصفحات.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8"/>
        <title></title>
    </head>
    <body>
        <p>Line1<br/>Line2</p>
        <p><img src="" alt="blank"/></p>
        <p><input type="text"/></p>
        <p><embed type="application/x-something" src=""/></p>
    </body>
</html>

ثم استخدام http://validator.nu/ للتأكد من تشكيلها بشكل جيد على الأقل.

إذا كانت لديك أدوات لإنشاء XHTML الخاص بك مثل أي مستند XML آخر، فانتقل إلى XHTML.ولكن عندما تستخدم فقط قوالب النص العادي، وتسلسل النص، وما إلى ذلك.أنت موافق على إصدار HTML 4.01 القديم الجيد.

تبدأ المتصفحات الآن في دعم هذا المعيار الذي يبلغ عمره 10 سنوات.

مهم: تجنب أن يطلق عليك اسم bozo عند إنتاج XML

أنا شخصياً أفضل XHTML 1.0 Transitional.

يعتمد XHTML على XML، لذا فهو يسمح بتحليل أسهل ويمكنك أيضًا استخدام مكونات XML لمعظم IDEs للاستعلام عن الأشياء وإدراجها برمجيًا.

الانتقالية ليست صارمة مثل الصارمة، مما يجعل من السهل نسبيًا العمل معها، مقارنة بالصرامة التي غالبًا ما تكون بمثابة بيتا. مقارنة بين الانتقالية والصارمة

1.0 "أكثر توافقًا" من 1.1 ويبدو أن 1.1 لا يزال قيد التطوير.

أهدف إلى XHTML 1.0 Trans.من الأفضل الالتزام بذلك، فعندما يتم إصلاح الأخطاء في المتصفحات، لن تعمل فجأة ضد الساعة في محاولة لمعرفة ما يحتاج إلى التغيير فعليًا.

في رأيي، تم تحطيم الإصدار 1.1 وتم تحطيم الإصدار 2.0 إلى قطع صغيرة:هل أحتاج حقًا/أريد علامة رأس/تذييل؟

لا أعتقد أنه من المهم حقًا ما إذا كنت تستخدم XHTML أو HTML العادي.الهدف النهائي هنا هو الحصول على صيانة منخفضة وتطوير سريع من خلال عرض يمكن التنبؤ به.يمكنك الحصول على ذلك من خلال استخدام xhtml أو html، طالما أن لديك رمز التحقق من الصحة.لقد سمعت حتى حججًا مفادها أنه من الأفضل استهداف وضع المراوغات، لأن الإصدارات الجديدة من المتصفحات لا تغير وضع المراوغات، لذا فإن الصيانة سهلة.

في النهاية، يتحول الأمر كله إلى حساء علامات، لسبب وجيه، لأن جعل مطوري تطبيقات الويب يكتبون لغة HTML خالية من الأخطاء يعني مطالبتهم بكتابة تعليمات برمجية خالية من الأخطاء.لا تساعد أدوات التحقق من الصحة، لأنها تتحقق فقط من صحة العرض الأولي للصفحة.وهذا هو السبب أيضًا في أنني لم أر مطلقًا النقطة في xhtml بمثابة xml لأي شيء يتجاوز المواقع الثابتة.إن مستوى الغطرسة الذي سيحتاجه مطور تطبيقات الويب لخدمة تطبيق الويب الخاص به بتنسيق XML هو أمر مذهل.

HTML 4.0 Strict، أو ISO HTML.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top