为什么我不能用'xml''启动XML实体名称?

时间:2010-05-12 08:56:29

标签: xml w3c

<XmlInfo />

我使用Perl流行的SOAP :: Lite模块遇到了问题,它不接受以“xml”开头的XML实体名称(题为字母的情况)。该模块的作者回复电子邮件说,在XML规范中不允许以“xml”开头的实体名称,但我无法在W3C的1.0和1.1规范的文档中找到它,我也找不到任何有关XML实体命名的文章或指南文档。事实上,一些指南文档使用以xml开头的名称作为示例,很多人都在使用它,正如我通过Google Code Search看到的那样。

在XML中的实体命名中是否存在任何限制(除了W3C文档中定义的字符之外)?是否有限制说你不能命名以“xml”开头的实体?

2 个答案:

答案 0 :(得分:4)

此链接:http://www.exforsys.com/tutorials/xml/xml-elements-attributes-entities.html提供了答案:

  
      
  1. XML名称必须以以下之一开头:letter,underscore,冒号,有效名称   字符包括前面的加号,连字符或句号。
  2.   
  3. 除了作为命名空间分隔符
  4. 之外,不应使用冒号字符   
  5. XML命名约定不限于ASCII字符和   可以使用表意字符。
  6.   
  7. 它可能不以字符串“xml”,“XML”或其中任何匹配开头   字符
  8.   

你正在寻找的是第4号。

答案 1 :(得分:1)

我在 HTML&amp;中找到了一个提及它的内容。 XML,The Definitive Guide ,在“15.3.3。实体声明”下:

  

唯一的限制是名字可以   不要以序列“xml”开头   (大写或小写)。