一个元素可以同时拥有 id 和 attribute 吗?

Can an element have both id and attribute at the same time?

我知道这个问题可能很简单,但我真的需要知道这些东西。

下面是我的意思的一个例子:

XML代码:

<product id="01" quantity="4 peaces"> Chocolate Cake </product>

此外,在这种情况下,DTD 文件中的属性类型声明是什么? 也许 'CDATA'?

在我看来是的,它可以兼而有之。 id 只是一个属性,如数量,每个 xml-element 可以有 n 属性。所以它应该可以工作。

但是你的第二个问题我帮不了你。我从来没有用过DTD-files。 也许这个转换器可以帮助你:http://bsp.mits.ch/xsd2dtd/

您的示例显示了一个具有两个属性的元素:idquantity。 XML 不限制元素可以具有的属性数量,因此, 是的,一个元素可以同时具有 id(属性)和其他属性同时.

DTD 声明:

<!ELEMENT product (#PCDATA)>
<!ATTLIST product 
          id ID #REQUIRED
          quantity CDATA #REQUIRED>

或者,如果您必须容纳以数字开头的 id 值,而 Daniel Haley 正确地 不允许 ID,您可以使用 CDATA id.