我正在尝试生成一个 DTD,我想知道如何允许子元素包含已在 DTD 中声明的元素。你必须再次声明它们吗?举个例子:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE document [
<!ELEMENT document (author,title,body)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT body (br*,hr*,img*,table*)>
<!ELEMENT br EMPTY>
<!ELEMENT hr EMPTY>
<!ELEMENT img EMPTY>
<!ELEMENT table (tr+)>
<!ELEMENT tr (td+)>
<!ELEMENT td (#PCDATA)>
<!--hr element-->
<!ATTLIST hr width CDATA "0">
<!--img element-->
<!ATTLIST img height CDATA "0">
<!ATTLIST img src CDATA #REQUIRED>
<!ATTLIST img width CDATA "0">
<!--td element-->
<!ATTLIST td width CDATA "0">
]>
<document>
<author>My Author</author>
<title>My Title Test</title>
<body>
<hr />
<table>
<tr>
<td>Would like elements here</td>
</tr>
</table>
</body>
</document>
例如,在上面的 XML 中,我想允许 br、hr、img 和 table 标记位于 td 标记内。我是否必须重新定义 DTD 中的那些元素?
感谢您的帮助,并提前感谢您。