您的位置:首页 > 其它

xml dtd 内部dtd 外部DTD 公共DTD

2016-11-19 14:16 351 查看
(一个可以用来校验xml有效性的网站:http://www.xmlvalidation.com/)

(经测试 eclipse neon 对于dtd的校验并不严格,比如DOCTYPE后面的根元素名与实际跟元素名不一致也能通过,可能是DTD技术已经过时了,学习的时候建议使用上面的网站进行测试)

内部DTD

格式:

<!DOCTYPE 根元素名[]
元素描述
>
XML文档主体部分


示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE messages[
<!ELEMENT messages (message)*>
<!ELEMENT message (title,content,hashcode)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
<!ELEMENT hashcode (#PCDATA)>
]>
<messages>
<message>
<title>hello,world</title>
<content>hello</content>
<hashcode>2kljfosaf7912</hashcode>
</message>
</messages>


外部DTD

ExternalDTD.dtd

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT messages (message)*>
<!ELEMENT message (title,content,hashcode)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
<!ELEMENT hashcode (#PCDATA)>


ExternalDTD.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE minedtd SYSTEM "ExternelDTD.dtd">
<messages>
<message>
<title>hello,world</title>
<content>hello</content>
<hashcode>2kljfosaf7912</hashcode>
</message>
</messages>


公用DTD

将上例的SYSTEM换成PUBLIC,则意味着使用公有DTD,使用公有DTD时,还需给该DTD指定一个标识名。

格式:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 根元素 public "DTD的标识名" "公用DTD的URI">


实例

暂缺

----
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: