好吧,不要误会我的意思,我非常喜欢网络标准的想法......用严格的XHTML 1.0编写并验证了许多页面 - 然而,网络正在不断发展......我使用的XML越多,实现DOM的容量,并实现大多数浏览器不关心这种或那种方式,我意识到我意识到我只想破坏约定并开始使用自定义属性。
这个示例在我当前的站点上,它在许多元素上使用“message”属性,然后jQuery匹配这些元素类型并更新页脚消息(类似于静态工具提示)。问题当然是......实际上并不支持。
我的问题是,是否有一些更广泛的spectrumed doctype允许我使用99%的XHTML和/或HTML5标准但是引入一些自定义属性?
或者我只是继续打破验证,然后跟它说地狱,因为浏览器和javascript会“得到它”吗?
答案 0 :(得分:3)
如果要向文档添加额外的命名空间,DTD和XML验证的性质要求使用自定义DTD。有关如何创建自定义DTD的详细信息,请参阅A List Apart文章Validating a Custom DTD和More About Custom DTDs。我不知道这是否可以在DTD语法的范围内进行,但您可以考虑创建自己的命名空间并简单地声明“此命名空间可能包含任何内容” - 这应该为自定义数据提供一个很好的转储基础,而不会干扰XHTML解析。
答案 1 :(得分:3)
如果您对HTML5感兴趣,请确保自定义属性的名称以“data-”开头,并且它们将在HTML5验证器中验证。
否则,我只是打破验证。一旦你知道你正在做什么,XHTML 1.x验证(基于文档类型)和标记的浏览器解释(基于内容类型)远远不足以使XHTML验证可疑值。