【发布时间】:2011-10-12 06:37:47
【问题描述】:
我一直在抨击 xsd:ID 不允许在 id 属性中使用冒号 (":")。我在 Emacs 中使用 James Clark 的 nxml-mode 时首先注意到这一点,因为它验证了我正在使用的 XHTML 文件。然后我使用 Jing 对 RNG(提供 nxml-mode-20041004)运行 XHTML 文件并收到以下错误:
error: value of attribute "id" is invalid; must be an XML name without colons
我看到的大多数 W3 页面都表明冒号是有效的。然后我找到了http://www.w3.org/XML/xml-19980210-errata#E98,我认为它的意思是:“你不应该在 id 属性中使用冒号,但应该允许你这样做。”鉴于这种解释,我很困惑为什么 Jing 说我不能。
谢谢你,
扎卡里
【问题讨论】:
-
这是该文档的最新版本:w3.org/TR/xml/#sec-common-syn
-
你好 BoltClock。是的,这是我所指的 W3 页面之一。在此链接w3.org/TR/xml/#id 中,“ID 类型的值必须与名称产生式相匹配。”有一个“名称生成”链接显示有效字符,如果我正确阅读“NameStartChar”,则表明冒号是有效的。所以,如果我没看错的话,我应该可以做出类似“id=':::::'”的东西。如果我没有正确阅读此内容,请告诉我如何阅读此内容。 :) 谢谢。