2010-02-23 12 views
12

Czy istnieje typ dokumentu W3C z obsługą przejściową XHTML 1.0 i obsługą RDFa?DTD z RFDa i XHTML 1.0 Transitional support

Jestem świadomy DTD XHTML + RDFa 1.0 (http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd), ale to jest XHTML 1.1, który nie jest zgodny z moją bieżącą witryną. Wygląda na to, że dostępny jest również DTD HTML4 + RDFa 1.0 (http://www.w3.org/MarkUp/DTD/html4-rdfa-1.dtd).

Głównym powodem, dla którego nie obsługuję XHTML 1.1, jest Internet Explorer, ale prawdopodobnie mógłbym służyć jako text/html dla użytkowników IE, jeśli nie ma innego sposobu.

Odpowiedz

10

Nie wierzę, że istnieje taki DTD, nie.

HTML jest coraz bardziej rozproszony i tworzenie DTD dla każdej możliwej kombinacji nie będzie praktyczne. HTML5 nie jest oparty na SGML i skutecznie rezygnuje z DTD. W przyszłości weryfikatory prawdopodobnie będą musiały się zmienić, aby wywoływały zbiory komponentów, takie jak RDFa i ARIA, i wskazywać w swoich wynikach, które kolekcje są wymagane, aby umożliwić każdemu konkretnemu elementowi uzupełnienia.

Niestety, obecnie jesteśmy w punkcie przejściowym, więc nie ma żadnego rozwiązania problemu. Jednak pewna ilość pragmatyzmu da ci długą drogę.

Teraz XHTML + RDFa 1.0 może być zdefiniowany przez DTD jako rozszerzenie XHTML 1.1, ale w rzeczywistości nie jest to XHTML 1.1, ani nie jest XHTML 1.0 przejściowy lub ścisły, ani w rzeczywistości nie jest to "XHTML + RDFa 1.0 ".

Możesz przyjąć pragmatyczne podejście do serwowania. Zastanów się nad tym w stosunku do HTML5. Mówi ona, że ​​wszystko, co służysz jako text/html, jest serializacją HTML modelu obiektów, niezależnie od zadeklarowanej deklaracji DOCTYPE. W praktyce to właśnie robią przeglądarki.

Podobnie, wszystko, co obsługujemy z typem treści XML, takim jak application/xhtml + xml, jest serializacją XML. Te części XML, które mają przestrzeń nazw xhtml, tworzą XHTML.

Tak więc, w praktyce, możesz bez problemu obsługiwać swój XHTML + RDFa 1.0 jako tekst/html lub application/xhtml + xml, pod warunkiem, że oznaczenie spełnia wymagania dla dokumentów poliglota.

Zostaje to zatwierdzenie. Pomijając RDFa, czy jest jakaś marża, na której używasz zgodnego XHTML 1.0 Transitional, ale nie zgodnego z XHTML 1.1? Jeśli tak, czy dbasz o doskonalą walidację, aby je zmienić, lub zrezygnować z używania RDFa? Prawdopodobnie używasz RDFa dla korzyści użytkowników, podczas gdy walidacja jest zasadniczo dla ciebie wygodnym narzędziem.

Ostatnio stanąłem w podobnej sytuacji, kiedy zdecydowałem się dodać atrybuty ARIA do moich stron XHTML 1.0. Postanowiłem, że Accessibility ma ważność Validity, a dodaję atrybuty i zapomnę o tym, by moje strony były w 100% prawidłowe.

+0

Standard XHTML + RDFa 1.0 rzeczywiście wymaga dużo pracy, aby przekonwertować z bieżących stron przejściowych XHTML 1.0, więc jestem dość niechętny, aby podjąć ten krok. Chociaż różnica między przejściami XHTML 1.0 i XHTML 1.1 nie jest duża, wystarczy, aby była bolesna konwersja dla wszystkich szablonów. Jednak celem weryfikacji jest sprawdzenie, czy na stronach nie ma rzeczywistych błędów, a właściwym rozwiązaniem byłoby zignorowanie błędów W3. To nic więcej niż irytacja, którą można łatwo naprawić przy pomocy małego userksu;) – Wolph

1

W rzeczywistości, jeśli nie chodzi o implementację DTD, prawie nie ma różnic między różnymi wersjami XHTML i prawie nigdy nie ma uzasadnionego powodu, aby nie używać XHTML 1.1. W jaki sposób twoja strona jest zależna od przejściowej wersji 1.0? Jeśli twoja strona jest ważna przy 1.0 strict, to przejście od tego do 1.1 nie powinno powodować problemów, ponieważ w zasadzie jedyną różnicą jest modularyzowany DTD, który naprawdę nie ma żadnych wad.

Jeśli wciąż zmagasz się z filozoficznym problemem MIME XHTML, nie martwiłbym się, ponieważ koncepcyjnie służąc niewłaściwemu rodzajowi mediów z lepiej zorganizowanym 1.1 DTD nie jest bardziej przestępstwem niż 1.0.Powód, dla którego RDFa jest implementowany tak, jak jest, ponieważ dodanie modułu RDFa do DTD XHTML 1.1 wymaga jedynie dodania kilku linii do głównego modułu. Zrobienie tego na 1.0 DTD byłoby trudniejsze i nie tak czyste.

Niektóre inne rzeczy do rozważenia to, że specyfikacja XHTML 1.1 drugiej edycji zawiera implementację schematu XML. Ponadto najnowszy szkic roboczy XHTML + RDFa 1.1 ostatecznie zrzuca (głupi) wymóg dotyczący całkowitego określenia typu dokumentu, więc można użyć sprawdzania poprawności tylko schematu. Sprawdziłoby się to bardzo dobrze, gdybyś mógł znaleźć sposób na użycie mimetów XML/XHTML, ponieważ deklaracja typu doctype nie jest wymagana, aby uzyskać rendering w trybie standardowym w przeglądarkach, które go obsługują (wszystkie oprócz IE8 i poniżej).

Powiązane problemy