使用 validator.nu 网络服务验证 XHTML 代码

Validating XHTML code with validator.nu web service

我正在使用 API validator.nu:

https://github.com/validator/validator/wiki/Service:-Input:-POST-body

我想根据严格或过渡的 XHTML 文档类型强制验证:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

在文档中,他们要求发送请求 header: Content-type: text/html;字符集=utf-8

我认为 XHTML 是一个 XML-like 代码 ?!

在发送包含 non-valid 标记的内容后,如
(无结束“/”),Web 服务不会 return 任何错误。我认为这是将代码处理为 HTML5.

如何验证 XHTML 文档?

关注这个:

  1. 转到:W3C Markup Validation Service
  2. 选择通过URI文件上传直接输入验证.
  3. 然后在更多选项中选择UTF-8字符编码和 XHTML Strict 文档类型。
  4. 然后点击检查

您将获得 XHTML Strict 输出。

您的问题分为两部分:

I want to force validation according to strict or transitional XHTML doctype

你不能。 Validator.nu does not support DTD based validation. It is an (X)HTML 5 validator, not a DTD based validator. The obsolete W3C validator provides an API 确实支持 DTD 检查,并且其他 XML 基于 DTD 的验证器可用。

不过,您可能应该转到 (X)HTML 5。它比 XHTML 1.0 更好地反映了浏览器实际支持的内容。

In the documentation, they are asking to send the request header: Content-type: text/html; charset=utf-8

I think that XHTML is a an XML-like code ?!

文档确实说那只是一个 示例 。 XHTML 文档(包括 XHTML 5 文档)的 Content-Type 是 application/xhtml+xml.

那应该触发 XML 解析,所以 <br> 应该触发错误。它仍然会根据 HTML 5 规范进行检查,而不是 XHTML DTD。