Webservice(基础)——DTD
一直觉得Webservice和DTD根本是八竿子打不着的关系,但是最近仔细想想,DTD,Schema都是Webservice学习必不可少的学习内容,所以重新梳理一下DTD和Schema这块知识! 一、DTD基本含义 文档类型定义(Document Type Definition)是一套关于标记符的语法规则。它是标准通用标记语言和可扩展标记语言1.0版规格的一部分,是文档的验证机制。文档类型定义是一种保证标准通用标记语言、可扩展标记语言文档格式正确的有效方法,可通过比较文档和文档类型定义文件来看文档是否符合规范,元素和标签使用是否正确。 自己一句话理解:用来限定和检测XML文件是否符合规范的一种语法规则! 二、实例驱动? ? 通过两个实例,来理解和实践一下DTD规范! 实例1、classroom
classroom.dtd
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT classroom (claname,grade,students)> <!ATTLIST classroom id ID #REQUIRED> <!ELEMENT claname (#PCDATA)> <!ELEMENT grade (#PCDATA)> <!ELEMENT students (student+)> <!ELEMENT student (stuname,age)> <!ATTLIST student id ID #REQUIRED> <!ELEMENT stuname (#PCDATA)> <!ELEMENT age (#PCDATA)> 简要说明:顶级标签只能是classroom,其中可以包含claname,grade,students标签,而students标签下只能包含student标签,可以是多个student标签;student标签又有id属性,同时包括了stuname和age标签 classroom.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE classroom SYSTEM "classroom.dtd"> <classroom id="c1"> <claname>2010级</claname> <grade>历史学</grade> <students> <student id="stu1"> <stuname>leilei</stuname> <age>23</age> </student> <student id="stu2"> <stuname>nane</stuname> <age>23</age> </student> </students> </classroom> 通过eclipse右键验证,无误说明正确 实例2、personspersons.dtd
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT persons (person+)> <!ELEMENT person (sex,name,age,messages)> <!ATTLIST person id ID #REQUIRED> <!ELEMENT sex (#PCDATA)> <!ELEMENT nam#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT messages (message+)> <!ELEMENT message (title,content)> <!ELEMENT title (#PCDATA)> <!ELEMENT content (#PCDATA)> persons.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persons SYSTEM "persons.dtd"> <persons> <person id="p1"> <sex>男</sex> <name>leilei</name> <age>23</age> <messages> <message> <title>您好</title> <content>我是肥罗</content> </message> <message> <title>hello</title> <content>I am feiluo</content> </message> </messages> </person> </persons> 三)、小结DTD作为一种对xml文件的限定规范,可以实现我们想要对xml的限定,但是由于其限定的标签或者说内容不尽详细,所以渐渐的被一种新的限定规范schema所替代,故我们下篇博客接着来说schema的相关知识! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |