使用HTML5,您可以选择使用纯HTML语法,这意味着它只与作为text/html提供和处理的软件兼容,而不是格式良好的XML.或者使用仅XHTML语法,这意味着它是格式良好的XML,但使用与HTML不兼容的XML功能.或者,您可以编写一个符合HTML和XHTML处理的Polyglot文档(原则上,这在概念上类似于编写符合附录C指南的XHTML 1.0).
什么是Polyglot文件?
我尝试在我的角度HTML模板中编写大部分有效的多语言(X)HTML 5.他们看起来像这样:
<div class="some-class">
<input type="checkbox" data-ng-model="variable" />
<foo-directive data-ng-if="variable"></foo-directive>
</div>
Run Code Online (Sandbox Code Playgroud)
有时我会忘记正确关闭标签,这会打破一些浏览器.所以我想在我的工具链中加入验证器.
问题是:我不知道可以处理这种情况的验证器.XML验证器通常需要DTD,HTML验证器会抱怨代码中使用的角度指令.
也许验证者是错误的词,我真的想要一个短信.我想要它做的唯一真实的事情是检查每个开始标记是否具有匹配的结束标记.其他一切都是奖金.
你知道这样的验证器吗?
注意:我主要搜索可以与自动化测试集成的命令行工具.但是,Web服务也可能有所帮助.
我一直在考虑将我当前的HTML5文档转换为多语言HTML5文档.我认为,即使它们只是被用作text/html,对XML编写的额外检查也有助于保持我的编码习惯整洁有效.
在HTML5专用空间中是否有任何特别令人兴奋的东西会使这成为一个不明智的选择?
其次,规范在如何验证多语言文档方面有点模糊.我假设基础知识是:
但是我还缺少其他规则吗?
第三,看到它是一个多语言,有没有人知道任何提示它application/xhtml+xml支持浏览器和text/html不支持浏览器的警告?
编辑:经过一小段实验后,我发现实体像 XHTML5中的中断(没有DTD).那个XML解析器是一把双刃剑,我想我已经回答了我的第三个问题.
W3C已经结束了对多语言标记的支持.那么我是否必须将我的网站转换为使用常规HTML5而不是XHTML?他们如何放弃这个概念会影响现有网站?我希望有一个完全有效的标记,如果该代码与标准冲突,我将不得不删除它.
是否有免费的在线多语言标记验证服务,可以正确识别和验证多语言标记?
我确实找到了totalvalidator和htmlvalidator,但那些是(付费的)非基于网络的解决方案.