XML DTD 可以强制为同一元素上的两个属性设置不同的值吗?

Can XML DTD force different values for two attributes on same element?

XML DTD 中有没有办法强制同一元素的两个属性具有不同的值?

我正在编写一个 XML 应用程序来表示图形,使用 DTD 而不是 XML Schema。

我声明了元素 Link,有两个属性 host1host2 引用 Host 元素的属性 hostName [=16] =].

我想添加一种约束(如果有的话)来禁止 host1host2 具有相同的值(指的是同一主机)。

不,DTD 无法表达该约束。其他选项包括:

  • XSD
  • Schematron [来源:谢谢,@C.M.Sperberg-McQueen]
  • 应用程序级验证