首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xhtml无效字符?

Xhtml无效字符?
EN

Stack Overflow用户
提问于 2011-06-25 01:55:28
回答 1查看 1.2K关注 0票数 1

我已经在.NET中制作了自定义的xhtml验证器(通过dtd +一些额外的规则进行验证),并且我注意到我的验证和w3c验证之间存在差异。

在我的验证器中,当id中有冒号时,我会得到以下错误(假设是: id="mustang:horse")

(错误)根据数据类型,'id‘属性具有无效值。

但是对于这个模式,我没有在w3c上得到任何错误。

我试图在xml/xhtml中查找属性的无效字符列表,但找不到?

谢谢你的帮助,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-08 22:57:31

造成这种差异的原因是W3C验证器似乎不会进行名称空间感知的XHTML处理。尽管XHTML文档需要在XHTML名称空间中,但这实际上是合理的,因为HTML文档没有使用名称空间,并且XHTML文档的标准有效结构(如HTML)是由DTD文件定义的,而DTD实际上并不知道名称空间。

就像@Alochi已经提到的那样:

ID类型的

值必须与名称production匹配。

当文档被解析为不支持名称空间时,这是正确的,但如果文档需要符合名称空间,则不是这样。Namespaces in XML规范规定IDs must match NCName production明确禁止冒号字符。名称空间感知解析是一种常见的约定,因此不推荐在id的值中使用冒号,即使当文档解析不支持名称空间时也是允许的。

摘要:如果名称空间被忽略,则ID值必须是有效的Name,并且可以包含冒号;否则,它必须是有效的NCName,并且不能包含冒号。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6471829

复制
相关文章

相似问题

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