在 DTD 中定义重复的子元素
我正在尝试生成 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)>
]>
<文档>
<作者>我的作者
<标题>我的标题测试
<正文>
<小时/>>
<表>
想要这里的元素
例如,在上面的 XML 中,我希望允许 br、hr、img 和 table 标签位于 td 标签内。 我是否必须在 DTD 中重新定义这些元素?
我感谢您的帮助并提前感谢您。
I'm trying to generate a DTD and I was wondering how to allow child elements to contain elements that have already been declared in the DTD. Do you have to declare them again? As an example:
<?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>
In the above XML, I'd like to, for example, allow the br, hr, img and table tags to be within the td tag. Do I have to redefine those elements in the DTD?
I appreciate any help and thank you in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该在
定义
编辑中引用它们:
如果您想将解析后的字符数据与新标签一起保留在 td 元素中,则可以定义混合内容元素。
示例:
请参阅 元素声明 at w3.org
you should reference them in the
<!ELEMENT td>
definitionedit:
if you want to maintain the parsed character data in the td element along with the new tags, you can define a mixed content element.
example:
<!ELEMENT td (#PCDATA | br? | hr? | img?)>
see element declarations at w3.org