XML属性可以带有空格吗?

13

我正在为一个xml文档创建DTD。我有一个xml元素的枚举属性。我的问题是:属性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">

所以我想要的是:

  <Link Type="Not Equivalent" \>

但是似乎出了些问题。

我需要进行一些魔法般的操作来处理空格吗?还是只是运气不好?

我搜索了几个 地方,但没有找到任何参考资料。

谢谢!

更新

抱歉 - 当我说“出问题”时,我的意思是当我尝试验证文档(例如在Web浏览器中打开)时,我收到一个错误消息:ATTLIST枚举中发现无效字符。 错误处理资源'file:///C:/myxmldocument.xml'...


1
如果你正在创建DTD,我强烈建议重新考虑并编写XML Schema。它更加灵活,同时也更具体地说明了允许和不允许的内容。 - skaffman
1个回答

15

9
XML本身支持在属性中使用空格 - 只是DTD规范不允许在ATTLIST枚举中使用它。 - skaffman
4
仅澄清一下 - 属性名称中的空格始终无效。属性值中的空格则可以,但是枚举属性声明要求枚举中的所有标记必须仅为名称字符序列,因此不允许出现空格。您可以使用“Not_Equivalent”(甚至“-Equivalent”也可以,尽管这不是一个有效的名称)。 - Max

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接