如何为包含一些数据和其他元素的元素编写 DTD?
How to write DTD for elements with some data and also other elements?
<Random attri="abc" ,attri2="xyz"/>
<something>
This is random text
<nothing attri="mnop" />
.
</something>
现在如何为像 "something" 这样有一些文本和另一个元素的元素编写 DTD。还有如何在 "nothing" 中声明属性 "attri",因为我们已经在 "Random" 中声明了另一个同名属性?
同时包含文本和其他元素的元素据说具有 mixed content。
只有一种方法可以将元素声明为具有混合内容;它们(#PCDATA 和任何元素)必须全部出现零次或多次 (*
) 并且顺序不限 (|
)。
所以您对 something
的声明需要如下所示:
<!ELEMENT something (#PCDATA|nothing)*>
就声明同名属性 (attri
) 而言,由于 ATTLIST 声明特定于单个元素,因此您必须为每个元素单独声明它。因此,在您的示例中,您需要为 Random
和 nothing
声明它。 See here了解更多详情。
<Random attri="abc" ,attri2="xyz"/>
<something>
This is random text
<nothing attri="mnop" />
.
</something>
现在如何为像 "something" 这样有一些文本和另一个元素的元素编写 DTD。还有如何在 "nothing" 中声明属性 "attri",因为我们已经在 "Random" 中声明了另一个同名属性?
同时包含文本和其他元素的元素据说具有 mixed content。
只有一种方法可以将元素声明为具有混合内容;它们(#PCDATA 和任何元素)必须全部出现零次或多次 (*
) 并且顺序不限 (|
)。
所以您对 something
的声明需要如下所示:
<!ELEMENT something (#PCDATA|nothing)*>
就声明同名属性 (attri
) 而言,由于 ATTLIST 声明特定于单个元素,因此您必须为每个元素单独声明它。因此,在您的示例中,您需要为 Random
和 nothing
声明它。 See here了解更多详情。