API w3validator — тестирование XHTML1 DOCTYPE

Я создаю конструктор новостных рассылок на PHP, и одно из моих требований заключается в том, что после того, как электронная почта составлена ​​в HTML, она проверяется на соответствие стандарту w3 и выдается уведомление конечному пользователю, если из проверочный прогон.

На данный момент я использую API w3validator через запрос PHP Curl, следующий за этим: https://github.com/validator/validator/wiki/Service:-Input:-POST-body

Моя проблема в том, что я не могу получить валидатор для обработки html-содержимого с использованием типа документа XHTML1. По умолчанию он ожидает увидеть тип документа HTML5, и, хотя есть возможность установить параметр строки запроса (‘parser’), представляется, что минимальная версия, которую я могу протестировать, — это HTML4.

Я также попытался оставить параметр ‘parser’ пустым и со значением ‘html’, что должно было сделать так, что валидатор использовал для проверки doctype, заданный в html-содержимом, но это тоже не работает.

Можно ли использовать API w3standards для правильного XHTML1? А если нет, то есть ли альтернативный API, который позволил бы нам сделать это?

0

Решение

Сопровождающий проверки W3C HTML (валидатор) здесь.

Чтобы проверить документы по схеме XHTML1, вам необходимо отправить:

  • schema параметр запроса со значением http://s.validator.nu/xhtml10/xhtml-strict.rnc
  • Content-Type заголовок со значением application/xhtml+xml; charset=utf-8

Например, используя curl Чтобы отправить запрос, это выглядело бы так:

curl -H "Content-Type: application/xhtml+xml; charset=utf-8" \
--data-binary @FILE.xhtml \
'https://validator.w3.org/nu/?schema=http://s.validator.nu/xhtml10/xhtml-strict.rnc&out=json'

…где FILE.xhtml заменяется любым именем фактического файла, который вы хотите проверить, и out=json Параметр запроса указывает, что вы хотите отформатировать результаты в формате JSON из средства проверки. (Использование out=xml если вы хотите результаты в формате XML, или out=gnu результаты в формате ошибок GNU.)

http://s.validator.nu/xhtml10/xhtml-strict.rnc это просто идентификатор, который контролер распознает внутри для строгой схемы XHTML 1.0. В этом URL нет реальной схемы в Интернете.

Список таких идентификаторов, которые распознает программа проверки, находится в следующем файле:

https://github.com/validator/validator/blob/master/resources/presets.txt

Обратите внимание, что вы можете включить некоторые дополнительные проверки, добавив другие идентификаторы к schema значение:

curl -H "Content-Type: application/xhtml+xml; charset=utf-8" \
--data-binary @FILE.xhtml \
'https://validator.w3.org/nu/?schema=http://s.validator.nu/xhtml10/xhtml-strict.rnc%20http://s.validator.nu/html4/assertions.sch%20http://c.validator.nu/all-html4/&out=json'

Идентификаторы схемы должны быть разделены %20 (процентный кодированный пробел).

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]