the - www w3schools com html5




أين هو تعريف نوع مستند HTML5؟ (4)

أعتقد أنهم ابتعدوا عن DTDs القديمة ، والآن نبدأ صفحات HTML مع: <!DOCTYPE HTML>

ربما سوف يخرج W3C مع واحد في نهاية المطاف.

تحتوي معايير HTML / XHTML "القديمة" على DTD (تعريف نوع المستند) مخصص لها:

HTML 4.01 http://www.w3.org/TR/html401/sgml/dtd.html
XHTML 1.0 http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict Strict

تحدد DTDs قواعد عناصر التعشيش - "أي أنواع العناصر قد تظهر في أنواع العناصر". لقد وضعت رسمًا بيانيًا لـ XHTML 1.0 هنا (آسف ، لم يعد عندي هذا المورد)

أرغب في تحديث هذا الرسم البياني بإصدار جديد يتضمن أيضًا عناصر HTML5 الجديدة. ومع ذلك ، لا يبدو أن هناك DTD بلغة HTML5. يبدو أن قواعد التعشيش يتم تحديدها من خلال نماذج المحتوى المختلفة التي تم تعريفها في HTML5.

لذلك لا يوجد DTD ، صحيح؟

سؤال المتابعة: هل هناك سبب لعدم وجود DTD في HTML5؟ DTD هي طريقة لطيفة لتحديد قواعد التعشيش لجميع أنواع العناصر المختلفة. لماذا لا تشمل هذه الأشياء؟

تحديث: لقد وجدت هذا: http://www.w3.org/TR/html5/dom.html#kinds-of-content أعتقد أن هذا هو الأقرب إلى وجود DTD.

تحديث: قام فريق Visual Studio بعمل مخطط XML لـ XHTML5. أعتقد أن الإجابة عن سؤالي: http://blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for-visual-studio-2008-and-visual-web-developer.aspx



لا يوجد HTML5 DTD. يقول HTML5 RC هذا صراحة عند مناقشة التسلسل XHTML ، وهذا ينطبق بوضوح على التسلسل HTML أيضًا.

تم اعتبار DTDs من قِبل مصممي HTML5 كمحددات محدودة للغاية في القدرة التعبيرية ، كما أن أدوات التحقق من HTML5 (أساسًا وضع HTML5 الخاص بـ http://validator.nu ونسخته على http://validator.w3.org ) تستخدم المخططات والإعلانات الشيكات ، وليس التحقق من صحة DTD-.

وعلاوة على ذلك ، فقد تم تصميم HTML5 بحيث يكون من المستحيل كتابة DTD. على سبيل المثال ، لا توجد طريقة SGML لالتقاط قاعدة HTML5 التي تفيد بأن أي اسم سمة يبدأ بـ "data-" ويتوافق مع قواعد عامة معينة يكون صالحًا. في SGML ، يجب إدراج السمات بشكل فردي ، لذلك يجب أن يكون DTD غير محدود.

من الممكن تصميم DTDs التي تتوافق مع HTML5 مع بعض عمليات الحذف وربما مع فرض بعض القواعد الإضافية ، لكنها لن تكون في الواقع HTML5 DTDs. تجربتي مع هذه الفكرة ليست مشجعة جدا: الكثير من القيود ، وصعبة جدا ، و DTD سوف تحتاج إلى أن تكون متساهلة بحيث أن العديد من الأخطاء النحوية سوف لا يتم تجاهلها.


لقد قمت بإنشاء HTML5 DTD للاستخدام في مشاريع XML PHP الخاصة بي. انها ليست جميلة ، لكنها تعمل مع XHTML5 جيد التشكيل (أي ، HTML5 أعرب عن XML).

يمكنك الاستيلاء عليها من حسابي في bitbucket هنا:

https://bitbucket.org/kashbridge/dtd/overview

استمتع!







sgml