2015-07-16 4 views
1

Я пытаюсь получить эту (простую) веб-страницу для моего задания, и ей необходимо пройти через http://validator.w3.org/
Также необходимо использовать RDFa. Однако независимо от того, что я делаю, RDFa vocab никогда не проходит мимо валидатора.Как использовать RDFa «vocab» в XHTML

Вот что я получил:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML+RDFa 1.0//EN' 'http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd'> 

<body vocab="http://xmlns.com/foaf/0.1/"> 

Что я делаю неправильно?

ответ

2

Вам действительно нужно использовать XHTML? Я бы рекомендовал использовать доктрину HTML5. http://www.w3.org/TR/html-rdfa/ имеет несколько примеров.

Кроме того, убедитесь, что вы используете валидатор NU от W3C: https://validator.w3.org/nu/ - тот, который вы используете, является старым и больше не должен использоваться.

+0

Спасибо, очень признателен! – Vojtek

3

Атрибут vocab определен в RDFa 1.1, но с вашим текущим DOCTYPE вы используете RDFa 1.0.

Ваши варианты:

  • Keep с помощью XHTML 1.1 и RDFa 1.0, и использовать атрибут (ы) xmlns:… вместо недействительного vocab атрибута:

    <body xmlns:foaf="http://xmlns.com/foaf/0.1/"> 
    

    (Тогда вы должны использовать префикс foaf:.)

  • Продолжайте использовать XHTML 1.1, но switch DOCTYPE, который поддерживает порты RDFa 1,1:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd"> 
    
  • Переключить на XHTML5, который поддерживает RDFa 1.1 по умолчанию:

    <!DOCTYPE html> 
    
+0

Спасибо, большое спасибо! – Vojtek