Saga o CSS Oficjalny pakiet testowy CSS W3C Nie używajcie własnych nagłówków DTD
CSS WG - Członkowie grupy Pakiet testowy selektorów - Archiwa PROSTY INTERFEJS API DLA CSS
Lokalizacja: http://pressrelease24.com/customdtd.htm
Dokument ten jest tłumaczeniem "Don't use “custom DTDs”!". Przekład ten nie jest przekładem normatywnym i może zawierać błędy wynikające z tłumaczenia. Status normatywny posiada jedynie wersja w języku angielskim na stronie W3C http://www.w3.org/Style/customdtd Dokument jest chroniony prawem autorskim.
Na stronie W3C Style można znaleźć element <blink>. Element <blink> nie należy do języka HTML, a mimo to strona poprawnie przechodzi walidację w niektórych walidatorach poprawności kodu HTML. O co tu chodzi?
W rzeczywistości, ta strona jest poprawna składniowo, ponieważ sam element został zadeklarowany w treści dokumentu. Jeżeli elementy pozostają poprawnie zadeklarowane, strona przejdzie walidację od strony SGML/XML.
Mimo to strona nie jest poprawna od strony semantycznej. Jest to dokument SGML, ale nie jest on dokumentem HTML. Nie istnieją oficjalne standardy definiujące znaczenie i funkcje elementu <blink>.
Na stronie W3C Style niestandardowy element został umieszczony w charakterze żartu. Osoby zaznajomione z historią stylów CSS zapewne pamiętają, że jedną z przyczyn powstania stylów CSS była właśnie potrzeba uniknięcia opracowywania niestandardowych elementów takich jak <blink> tylko dla konkretnego typu przeglądarki.
Od strony techniczne, dodawanie niestandardowych elementów odbywa się poprzez dopisanie własnego nagłówka DTD i dołączenie go do pierwszej linii dokumentu (linii z nagłówkiem DOCTYPE). Własne nagłówki DTD można na przykład tworzyć poprzez skopiowanie i zmodyfikowanie nagłówka DTD HTML4.
Nie róbcie tego! Dokumenty muszą posiadać właściwe znaczenie i poprawną składnię. SGML oraz XML definiują jedynie składnię. HTML oraz XHTML definiują znaczenie. Jeżeli zaczniecie dodawać elementy niezdefiniowane przez standardy, ich znaczenie będzie zrozumiałe tylko dla was, a za 20 czy 50 lat nawet wy przestaniecie je rozumieć...
Oczywiście możecie eksperymentować, na przykład przy opracowywaniu przyszłych formatów sieciowych, ale w pozostałych przypadkach nie należy wykorzystywać własnych elementów.
Bert Bos, W3C Style Activity Lead
Webmaster
Last updated: $Date: 2009/04/02 11:26:54 $ GMT