DTD с поддержкой RFDa и XHTML 1.0 Transitional - PullRequest
12 голосов
/ 24 февраля 2010

Доступен ли тип документа W3C с поддержкой переходного процесса XHTML 1.0 и поддержкой RDFa?

Мне известно о XHTML + RDFa 1.0 (http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd) DTD, но это XHTML 1.1, который не совместим с моим текущим веб-сайтом. Похоже, существует также HTML4 + RDFa 1.0 (http://www.w3.org/MarkUp/DTD/html4-rdfa-1.dtd) DTD доступно.

Моя основная причина не использовать XHTML 1.1 - это, конечно, Internet Explorer, хотя я мог бы использовать его как text / html для пользователей IE, если нет другого пути.

Ответы [ 2 ]

10 голосов
/ 24 февраля 2010

Я не верю, что есть такой DTD, нет.

HTML становится все более фрагментированным, и создание DTD для каждой возможной комбинации не будет практичным. HTML5 не основан на SGML и эффективно отказывается от DTD. В будущем валидаторам, вероятно, придется измениться, чтобы они вызывали коллекции компонентов, такие как RDFa и ARIA, и указывали в своих результатах, какие коллекции требуются для того, чтобы каждый конкретный фрагмент разметки соответствовал.

К сожалению, мы действительно достигли точки перехода, поэтому нет ясного решения вашей проблемы. Тем не менее, определенное количество прагматизма поможет вам пройти долгий путь.

Теперь, XHTML + RDFa 1.0 может быть определено DTD как расширение XHTML 1.1, но на самом деле это не XHTML 1.1, а также не XHTML 1.0 переходный или строгий, или что-то иное, чем «XHTML + RDFa 1.0» ,

Так что вы можете принять прагматичный подход к служению. Рассмотрим отношение HTML5 к этому. Он говорит, что все, что вы используете как text / html, является сериализацией HTML объектной модели, независимо от того, какой DOCTYPE вы объявляете. Это на практике то, что в любом случае делают браузеры.

Аналогично, все, что вы обслуживаете с типом контента XML, таким как application / xhtml + xml, является сериализацией XML. Те части XML, которые имеют пространство имен xhtml, составляют XHTML.

Таким образом, на практике вы можете без каких-либо трудностей использовать XHTML + RDFa 1.0 как text / html или application / xhtml + xml при условии, что разметка соответствует требованиям для документов полиглота.

Это оставляет подтверждение. Оставляя в стороне RDFa, существует ли какая-либо разметка, которую вы используете, которая соответствует XHTML 1.0 Transitional, но не соответствует XHTML 1.1? Если да, то достаточно ли вы заботитесь об идеальной валидации, чтобы изменить их или отказаться от использования RDFa? Предположительно, вы используете RDFa для пользы своих пользователей, в то время как валидация по сути является для вас удобным инструментом.

Недавно я столкнулся с подобной ситуацией, когда решил добавить атрибуты ARIA на свои страницы XHTML 1.0. Я решил, что Доступность превосходит Действительность, и я добавил бы атрибуты и забыл о том, что мои страницы были на 100% действительны.

1 голос
/ 01 февраля 2011

В действительности, если вы не заинтересованы в реализации DTD, между различными версиями XHTML почти нет различий, и почти никогда не существует веской причины не использовать XHTML 1.1. Каким образом ваш сайт зависит от версии 1.0? Если вы можете сделать свой сайт действительным с версией 1.0, то переход с этого на 1.1 не должен вызывать проблем, потому что, по сути, единственным отличием является модульное DTD, у которого действительно нет недостатков.

Если вы все еще боретесь с философской проблемой XHTML MIME, я бы не волновался, потому что концептуальное обслуживание неправильного типа носителя с лучше организованным DTD 1.1 - не более преступление, чем с 1.0. Причина, по которой RDFa реализован как есть, заключается в том, что добавление модуля RDFa в DTD XHTML 1.1 включает только добавление нескольких строк в основной модуль. Делать это с 1.0 DTD будет сложнее и не так чисто.

Некоторые другие вещи, которые следует учитывать, это то, что спецификация второго издания XHTML 1.1 включает реализацию схемы XML. Кроме того, последний рабочий проект XHTML + RDFa 1.1, наконец, отбрасывает (глупое) требование для указания типа документа в целом, так что вы можете использовать проверку только для схемы. Это сработало бы очень хорошо, если бы вы могли найти способ использовать mimetypes XML / XHTML, потому что не требуется объявление doctype для получения режима отображения в стандартном режиме в браузерах, которые его поддерживают (все они, кроме IE8 и ниже).

...