DTD - 是否有办法要求具有特定值的属性?

时间:2013-03-04 23:56:47

标签: xml dtd

我想要做这样的事情:

<div type="foobar"></div>

在外行说话中我想要要求文件具有foobar类型的元素。更具体地说,我想要求属性值对类型“foobar”唯一存在。

我意识到我可以做类似的事情:

<!ATTLIST div type CDATA #REQUIRED>

但这并不像我想要的那样限制价值。

可选地

<!ATTLIST div type CDATA #FIXED "foobar">

要求属性为特定值。这接近我想要的,但我希望其他值可能。我只想确保存在属性/值对的一个定义。 有没有办法用XML DTD做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以使用枚举:

<!ATTLIST div
          type (foobar) #REQUIRED>

通过将它们添加到枚举中,可以实现其他值。

例如,以下声明要求type元素上的div属性值为foobarbarfoo

<!ATTLIST div
          type (foobar|barfoo) #REQUIRED>

有关详细信息,请参阅http://www.w3.org/TR/REC-xml/#sec-attribute-types中的“枚举属性类型”。

相关问题