هل أحتاج إلى إعلان XML على صفحة باستخدام XHTML DocType؟

StackOverflow https://stackoverflow.com/questions/1335133

  •  20-09-2019
  •  | 
  •  

سؤال

لقد أرى بعض المعلومات المتضاربة التي يجب أن تعلن وثيقة XHTML أيضا أنها XML.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

ومع ذلك، في أماكن أخرى أراها (بما في ذلك W3.org) أن DocType يجب كن الأول بطاقة شعار تصريح.

منذ W3 يقول ذلك، يجب أن يكون صحيحا. ومع ذلك، ربما لدي بعض الصفحات / التطبيقات ملقاة حول ذلك تتبع الطريقة الأولى. ما هي مخاطري؟

تعديل: أنا فقط ركضت صفحة من خلال W3 Validator. مع وبدون إعلان XML وأمرت كلا الاتجاهين. في هذه المرحلة، إذن، أنا أظن أنه مجرد شيء "أسلوب".

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

المحلول

<?xml version="1.0" encoding="utf-8"?>

... هو الإصدار الافتراضي والترميز XML، لذلك لا تحتاج إليها على الإطلاق. إذا كنت تخدم XHTML كنص / أتش تي أم أل، فمن المحتمل ألا يجب أن يكون هناك على الإطلاق.

ومع ذلك، في أماكن أخرى أراها (بما في ذلك W3.org) أن DocType يجب أن تكون العلامة الأولى.

يبدو وكأنه بعض الارتباك ... Doctype ليس علامة ولا يوجدu003C?xml?> (الذي يسمى إعلان XML، ويبدو وكأنه تعليمات المعالجة، لكنه ليس أحد هؤلاء، إما).

إذا كنت تضم كليهما، يجب أن يأتي إعلان XML أولا. الحيلة هي أن DocType's Sniffer هي أن Doctype IE6 يكتشف فقط وضع المواصفات في وضع المواصفات إذا كانت أول شيء في الصفحة، مما يعني أنه لا يمكنك استخدام إعلان XML ويجب أن تلتصق بترميز XML 1.0 و OUTF-8 (وهو ليس رائعا خسارة).

نصائح أخرى

من XHTML 1.1 المواصفات:

لا يلزم إعلان XML مثل الواحد أعلاه في جميع مستندات XML. يجب على مؤلح مستندات XHTML استخدام تصريحات XML في جميع مستنداتهم. يجب على مؤلح المستندات XHTML استخدام إعلان XML عند ترميز الحرف من المستند بخلاف استخدام UTF-8 أو UTF-16 الافتراضي ولا يتم تحديد ترميز بواسطة بروتوكول أعلى المستوى.

http://www.w3.org/tr/xhtml11/conformance.html.

http://validator.w3.org/ يقبل فقطu003C?xml> الاشياء قبلu003C!DOCTYPE> وبعد في الاتجاه الآخر (doctype من قبل؟ XML) لن يتم التحقق من صحتها.

لم أدرجها أبدا (ذهبت دائما مع Doctype فقط)، وتقول W3C مشاريع XHTML 1.0 الصارمة "صالحة".

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