加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 我可以为DTD中的ELEMENT结构引用外部DTD吗?

发布时间:2020-12-16 23:02:32 所属栏目:百科 来源:网络整理
导读:我可以定义一个DTD,使其中的元素在外部DTD中定义其结构吗? 我的意思是类似下面的内容(这是一个我知道在几个方面无效的例子,但希望能让你知道我在寻找什么): ?xml version="1.0" encoding="UTF-8"?!ENTITY % MessageHdr-DTD SYSTEM "./messagehdr.dtd"!ENTI
我可以定义一个DTD,使其中的元素在外部DTD中定义其结构吗?
我的意思是类似下面的内容(这是一个我知道在几个方面无效的例子,但希望能让你知道我在寻找什么):

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % MessageHdr-DTD SYSTEM "./messagehdr.dtd">
<!ENTITY % MessageBody-DTD SYSTEM "./messagebody.dtd">
<!ELEMENT Message (MessageHdr,MessageBody)>
<!ELEMENT MessageHdr (MessageHdr-DTD)>
<!ELEMENT MessageBody (MessageBody-DTD)>

这里的尝试是表示Message需要MessageHdr和MessageBody,但这两个元素是在外部引用的DTD中定义的.

解决方法

是的,你和你的榜样非常接近.您只需要引用 parameter entities.这是一个3 DTD和XML实例的示例.我只将#PCDATA用于MessageHdr和MessageBody,但这可以是您定义的任何结构.

message.dtd

<!ENTITY % MessageHdr-DTD SYSTEM "./messagehdr.dtd">
<!ENTITY % MessageBody-DTD SYSTEM "./messagebody.dtd">
%MessageHdr-DTD;
%MessageBody-DTD;
<!ELEMENT Message (MessageHdr,MessageBody)>

messagehdr.dtd

<!ELEMENT MessageHdr (#PCDATA)>

messagebody.dtd

<!ELEMENT MessageBody (#PCDATA)>

message.xml

<!DOCTYPE Message SYSTEM "message.dtd">
<Message>
  <MessageHdr>header info</MessageHdr>
  <MessageBody>body info</MessageBody>
</Message>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读