文档类型定义(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法规则。它是标准通用标记语言(SGML)和可扩展标记语言(XML)1.0版规格的一部分,文档可根据某种DTD语法规则验证格式是否符合此规则。文档类型定义也可用做保证标准通用标记语言、可扩展标记语言文档格式的合法性,可通过比较文档和文档类型定义文件来检查文档是否符合规范,元素和标签使用是否正确。文件实例提供应用程序一个数据交换的格式。
XML以前可用于不同平台语言之间的一个数据传输,但JSON的近两年的一个兴起,弱化了它在JSON中的数据传输能力,而它的另一个能力,系统配置文件的能力就更为突出了,因为它的语法结构特别的去强,用于配置文件更适合不过了。
配子文件,数据传输;
1. 有且只有一个根元素
2. XMl标签严格区分大小写.
3. 正确使用结束标签。
4. 正确嵌套标签。
5. 使用了合法的标签名。
6. 定义有效的属性。
1. 首先加入DTD声明-- <!DOCTYPE root[]>
2.加入元素的分类:
空元素:<!ELEMENT element_name EMPTY>
文本标签元素:<!ELEMENT element_name (#PCDATA)>
混合元素:<!ELEMENT element_name (e1,e2)>
代码实例:
- <!DOCTYPE persons[
- <!ELEMENT persons (person+)>
- <!ELEMENT person (name,age,contact,br*)>
- <!ELEMENT name (#PCDATA)>
- <!ELEMENT age (#PCDATA)>
- <!ELEMENT contact (phone|email)>
- <!ELEMENT br EMPTY>
- <!ATTLIST person
- pid ID #REQUIRED
- sex (男|女) '男'
- qq CDATA #IMPLIED
- parent IDREF #IMPLIED
- >
- ]>
语法:<!ATTLIST element_name_att_name_type desc>
属性类型TYPE:ID,(A|B),CDATA,IDREF,referecen
描述属性:#REQUIRID --必填
#IMPLIED--非必填
'默认值' --只有当type类型为(A|B)才可以用,desc才有默认值
- <persons>
- <person pid="p1" sex="女" qq="321407367" parent="p2">
- <name>李凝</name>
- <age>21</age>
- <contact>
- <phone>1234567</phone>
- </contact>
- <br/>
- </person>
- <person pid="p2">
- <name>安安</name>
- <age>27</age>
- <contact>
- <email>123@qq.com</email>
- </contact>
- </person>
- </persons>
JSON和XML之间的区别:
1、JSON是JavaScript Object Notation;XML是可扩展标记语言。
2、JSON是基于JavaScript语言;XML源自SGML。
3、JSON是一种表示对象的方式;XML是一种标记语言,使用标记结构来表示数据项。
4、JSON不提供对命名空间的任何支持;XML支持名称空间。
5、JSON支持数组;XML不支持数组。
6、XML的文件相对难以阅读和解释;与XML相比,JSON的文件非常易于阅读。
7、JSON不使用结束标记;XML有开始和结束标签。
8、JSON的安全性较低;XML比JSON更安全。
9、JSON不支持注释;XML支持注释。
10、JSON仅支持UTF-8编码;XML支持各种编码。