关于xml:如何为具有某些数据和其他元素的元素编写DTD?

How to write DTD for elements with some data and also other elements?

1
2
3
4
5
6
<Random attri="abc" ,attri2="xyz"/>
<something>
  This is random text
  <nothing attri="mnop" />
  .
</something>

现在如何为具有某些文本和另一个元素的元素(如" something")编写DTD。还有,由于我们已经在" Random"中声明了另一个同名属性,因此如何在" nothing"中声明属性" attri"?


同时包含文本和其他元素的元素被认为具有混合的内容。

只有一种方法可以声明元素具有混合内容。它们(#PCDATA和任何元素)必须全部出现零次或多次(*)并且以任何顺序(|)。

因此,您对something的声明应如下所示:

1
<!ELEMENT something (#PCDATA|nothing)*>

就声明具有相同名称(attri)的属性而言,由于ATTLIST声明特定于单个元素,因此您必须为每个元素分别声明它。因此,在您的示例中,您需要为Randomnothing都声明它。有关更多详细信息,请参见此处。