XML属性可以有空格吗?

Chr*_*yne 9 xml dtd

我正在为xml文档创建一个DTD.我有一个xml元素的Enumerated属性.我的问题是:属性Type是否有空格?

例如:

  <!ELEMENT Link (#PCDATA)>
  <!ATTLIST Link Type (Amendment|Reference|Superseded|Modified|
  Corrigendum|Corresponds|Endorsement|Equivalent|Identical|Modified|
  Not Equivalent|Note taken of|Related|Similar) "Reference">
Run Code Online (Sandbox Code Playgroud)

所以我想要的是:

  <Link Type="Not Equivalent" \>
Run Code Online (Sandbox Code Playgroud)

但这似乎是barf.

我需要为空间做一些神奇的伏都教吗?还是只是运气不好?

我看了几个 地方,但看不到任何参考

谢谢!

更新

对不起 - 当我说barf时,我的意思是当我尝试验证文档时(例如在Web浏览器中打开它),我收到一条错误消息:在ATTLIST枚举中找到无效字符.处理资源'file:/// C:/myxmldocument.xml'时出错....

Jim*_*nts 12

最简洁的答案是不.Xml属性是名称标记,名称标记不能包含空格.相关规格是相互关联的:

属性

属性类型(请参阅NotationType)

名称(见4a - NameChar)

无效字符是空格.您可以使用 '.' 如果你愿意,可以用' - '作为分隔符.

  • XML本身支持属性中的空格 - 这是DTD规范,它不允许在"ATTLIST"枚举中使用它. (8认同)
  • 只是为了澄清 - 属性名称中的空格始终无效.属性值中的空格是OK,但是枚举属性声明要求枚举中的所有标记必须只是名称字符序列,因此不能有空格.您可以使用'Not_Equivalent(甚至'-Equivalent'即可,但这不是有效的名称). (4认同)