(详细学习参考)https://blog.csdn.net/u013087513/article/details/52745509
XML约束之DTD的使用
(1)为什么要有约束?
- XML都是用户自定义的标签,若出现小小的错误,软件程序将不能正确地获取文件中的内容而报错。(如:Tomcat)
- XML技术中,可以编写一个文档来约束一个XML的书写规范,这个文档称之为约束。
- 两个概念:格式良好的XML:遵循XML语法的XML。有效的XML:遵循约束文档DTD的XML
- 总之:约束文档DTD定义了在XML中允许出现的元素名称、属性及元素出现的顺序等等。
XML约束概念:在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
常用的约束技术:XML DTD 和XML Schema
(3)DTD约束快速入门
DTD(Document Type Definition),全称为文档类型定义。
复杂标签:<!ELEMENT 标签名 (子节点)>
(4)将DTD与XML文档关联的三种形式
简单标签:<!ELEMENT 标签名 (#PCDATA)>
引入DTD:<!DOCTYPE 根节点 SYSTEM "dtd的地址">
(4)将DTD与XML文档关联的三种形式
DTD约束既可以作为一个单独的文件编写,也可以在XML文件内编写。
- 使用内部DTD 。<!DOCTYPE 根节点 [DTD的代码]>
- 使用外部DTD。<!DOCTYPE 根节点 "DTD的地址">
- 使用网络DTD。<!DOCTYPE 根节点 PUBLIC "DTD的名称" "DTD的地址">
XML使用DOCTYPE声明语句来指明它所遵循的DTD文档,有两种形式:
当引用的DTD文档在本地时,采用如下方式:
<!DOCTYPE 根元素 SYSTEM “DTD文档路径”>
如:<!DOCTYPE 书架 SYSTEM “book.dtd”>
当引用的DTD文档在公共网络上时,采用如下方式:
<!DOCTYPE 根元素 PUBLIC “DTD名称” “DTD文档的URL”>
如:<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
当引用的DTD文档在本地时,采用如下方式:
<!DOCTYPE 根元素 SYSTEM “DTD文档路径”>
如:<!DOCTYPE 书架 SYSTEM “book.dtd”>
当引用的DTD文档在公共网络上时,采用如下方式:
<!DOCTYPE 根元素 PUBLIC “DTD名称” “DTD文档的URL”>
如:<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">