前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【xml】DTD文档和内部DTD 实验三

【xml】DTD文档和内部DTD 实验三

作者头像
韩旭051
发布2019-11-08 00:44:18
4170
发布2019-11-08 00:44:18
举报
文章被收录于专栏:刷题笔记刷题笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/shiliang97/article/details/101296688

外部DTD文档

不需要在外面再套一层

<!DOCTYPE NEWSPAPER[

]>

这个了。直接这样写

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT NEWSPAPER (ARTICLE+)>
<!ELEMENT ARTICLE (HEADLINE, BYLINE, LEAD, BODY, NOTES)>
<!ELEMENT HEADLINE (#PCDATA)>
<!ELEMENT BYLINE (#PCDATA)>
<!ELEMENT LEAD (#PCDATA)>
<!ELEMENT BODY (#PCDATA)>
<!ELEMENT NOTES (#PCDATA)>
<!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
<!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
<!ATTLIST ARTICLE DATE CDATA #IMPLIED>
<!ATTLIST ARTICLE EDITION CDATA #IMPLIED>
<!ENTITY NEWSPATER "Vervet Logic Times">
<!ENTITY PUBLISHER "Vervet Logic Press">
<!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press">

然后相应的xml文件

不能用&了,会报错error on line 7 at column 20: Entity 'PUBLISHER' not defined等等错误

要用&amp;替换这个

把实体引用编码后使用,即 把“&”编码为 “&amp;” 把“<”编码为“&lt;” 把“>”编码为 “&gt;” 把“'”编码为 “&apos;” 把“"”编码为 “&quot;

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE NEWSPAPER SYSTEM "3-2dtd.dtd">
<NEWSPAPER>
	<ARTICLE AUTHOR="&amp;NEWSPATER;" EDITOR="&amp;PUBLISHER;" DATE="2009-6-1" EDITION="&amp;COPYRIGHT;">
		<HEADLINE>Environment Protection</HEADLINE>
		<BYLINE>Material waste</BYLINE>
		<LEAD>&amp;PUBLISHER;</LEAD>
		<BODY>
dfjaljdklafhjkdfhsjkdafgjhkfgdshdafsdfjhsgdafjkdasgfsgjdafdfasdfdsfa

</BODY>
		<NOTES>
jdslfjklasdhfjkdshfjksldahfjkdshfkhasdfdsaf
</NOTES>
	</ARTICLE>
</NEWSPAPER>

内部DTD直接写不需要注意前面的问题

咱也不知道为啥不用替换&amp;

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE NEWSPAPER[
<!ELEMENT NEWSPAPER (ARTICLE+)>
<!ELEMENT ARTICLE (HEADLINE, BYLINE, LEAD, BODY, NOTES)>
<!ELEMENT HEADLINE (#PCDATA)>
<!ELEMENT BYLINE (#PCDATA)>
<!ELEMENT LEAD (#PCDATA)>
<!ELEMENT BODY (#PCDATA)>
<!ELEMENT NOTES (#PCDATA)>
<!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
<!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
<!ATTLIST ARTICLE DATE CDATA #IMPLIED>
<!ATTLIST ARTICLE EDITION CDATA #IMPLIED>
<!ENTITY NEWSPATER "Vervet Logic Times">
<!ENTITY PUBLISHER "Vervet Logic Press">
<!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press">
]>
<NEWSPAPER>
<ARTICLE AUTHOR="&NEWSPATER;" EDITOR="&PUBLISHER;" DATE="2009-6-1" EDITION="&COPYRIGHT;">
<HEADLINE>Environment Protection</HEADLINE>
<BYLINE>Material waste</BYLINE>
<LEAD>&PUBLISHER;</LEAD>

<BODY>
dfjaljdklafhjkdfhsjkdafgjhkfgdshdafsdfjhsgdafjkdasgfsgjdafdfasdfdsfa

</BODY>
<NOTES>
jdslfjklasdhfjkdshfjksldahfjkdshfkhasdfdsaf
</NOTES>
</ARTICLE>
</NEWSPAPER>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 外部DTD文档
    • 要用&amp;替换这个
    • 内部DTD直接写不需要注意前面的问题
    • 咱也不知道为啥不用替换&amp;
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档