首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >w3validator API -测试XHTML1文档类型

w3validator API -测试XHTML1文档类型
EN

Stack Overflow用户
提问于 2016-12-06 22:05:28
回答 1查看 131关注 0票数 0

我正在用PHP构建一个时事通讯生成器,我的一个要求是,一旦电子邮件以超文本标记语言编写,它被检查以查看它是否符合w3标准,如果从验证运行中发现任何无效错误,则会向最终用户抛出通知。

目前,我通过PHP Curl请求使用w3validator API,如下所示:https://github.com/validator/validator/wiki/Service:-Input:-POST-body

我的问题是,我似乎无法让验证器使用XHTML1文档类型来处理html内容。默认情况下,它希望看到解析器文档类型,尽管可以设置查询字符串参数(‘HTML5’),但我能测试的最低版本似乎是HTML4。

我还尝试将'parser‘参数保留为空,并使用值' html’,这将使验证器使用html内容中设置的doctype进行验证,但这也不起作用。

是否可以对有效的XHTML1使用w3standards接口?如果不是,是否有其他API允许我们这样做?

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 23:41:05

这里是W3C HTML检查器(验证器)的维护者。

要根据XHTML1模式检查文档,您需要发送:

具有值http://s.validator.nu/xhtml10/xhtml-strict.rnc

  • a的schema查询参数的
  • 具有值application/xhtml+xml; charset=utf-8

Content-Type标头

例如,使用curl发送请求,如下所示:

代码语言:javascript
运行
复制
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'

…其中,JSON被替换为您想要检查的实际文件的名称,而out=json查询参数指定您希望来自检查器的FILE.xhtml格式的结果。(如果需要XML格式的结果,请使用out=xml;如果希望使用GNU error格式的结果,请使用out=gnu。)

http://s.validator.nu/xhtml10/xhtml-strict.rnc只是检查器在内部为XHTML1.0严格模式识别的标识符。在该URL处,Web上没有实际的模式。

检查器识别的此类标识符的列表位于以下文件中:

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

请注意,您可以通过将其他标识符添加到schema值来包括一些其他检查:

代码语言:javascript
运行
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40997233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档