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

XML DTD可以为同一元素上的两个属性强制不同的值吗?,xml,xml-validation,dtd,Xml,Xml Validation,Dtd,在XML DTD中有没有办法强制同一元素的两个属性具有不同的值? 我正在编写一个表示图形的XML应用程序,使用DTD而不是XML模式 我声明了元素Link,它有两个属性host1和host2,这两个属性引用了Host元素的属性hostName,其中IDREF 我想添加一种约束(如果有)来禁止host1和host2具有相同的值(指相同的主机) 不,DTD不能表达这种约束。其他选择包括: XSD Schematron[信用:谢谢,@C.M.Sperberg-McQueen] 应用程序级验证

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

我正在编写一个表示图形的XML应用程序,使用DTD而不是XML模式

我声明了元素
Link
,它有两个属性
host1
host2
,这两个属性引用了
Host
元素的属性
hostName
,其中
IDREF


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

不,DTD不能表达这种约束。其他选择包括:

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