【发布时间】:2010-02-05 15:39:04
【问题描述】:
如果您使用的是基于组件(又名 Pull-based)的 Web 框架(例如 Tapestry、Wicket 等),您如何确定您的标记是否通过了 W3C 验证?想到了两种方法:
抓取正在运行的应用
专业版:
- 验证所需的所有标记都存在于页面上。
缺点:
- 点击每个页面和每个案例可能非常复杂。
- 如果出现问题,可能不清楚是哪个组件导致了问题(尤其是在大型应用中)。
- 您可能会一遍又一遍地验证同一个组件(重复工作)。
- 如果页面/组件很多,可能需要很长时间。
离线抓取 HTML 模板
优点:
- 您只需验证每个组件一次。
- 如果您发现问题,您将确切知道是哪个组件造成的。
缺点:
我能想到的大多数缺点都涉及丢失组件的上下文,因为您不会拥有页面的完整标记。
- 您可能不知道给定组件的 DOCTYPE。
- 可能很难知道组件的父级是什么,这可能会导致问题。例如。检测包含块标记(例如
<form>或<p>)的内联标记(例如<span>)的无效大小写。 - 这些类型的框架中的 HTML 模板通常包含无效的属性和特殊符号(通常用于向框架指示某些内容),这些将无法验证。
所以问题是,如果您使用的是基于组件的架构,您如何验证您的标记?是否有任何推荐的技术或更好的工具来做到这一点?
编辑:我有点惊讶没有更多的答案。使用基于组件的框架时验证标记是否不常见?还是只是没有多少人在使用它们?
【问题讨论】:
标签: html validation w3c web-frameworks