大二 第三次 Javaweb

Javaweb

DTD约束

在现实生活中,如果一篇文章语法正确,但内容包含违法言论或逻辑错误,这样的文章是不允许发表的,同样,在书写xml文件时,其内容必须满足某些条件的限制。
DTD约束是早期出现的一种xml约束模式语言,根据它的语法创建的文件称为dtd文件。在一个dt d文件中,可以包含元素的定义,元素之间关系的定义,元素属性的定义,以及实体和符号的定义。

DTD的引入

对dtd文件有了大致了解后,如果想使用dtd文件约束差一毛也要文档,必须在xml文档中引入dtd文件。

DTD语法

在编写xml文件时,需要掌握xml语法同理,在编写dtd文件时也需要遵循一定的语法dtd的结构一般由元素类型定义,属性定义实体定,记号定义等构成。一个典型的文档类型定义会把将来要创建的 XML 文档的元素结构、属性类型、实体引用等预先进行定义。接下来,针对 DTD 结构中所涉及的语法进行详细讲解。
(1)元素定义
元素是 XML 文档的基本组成部分,在 DTD 定义中,每一条<!ELEMENT…>语句用于定义一个元素,其基本的语法格式如下所示。
<!ELEMENT…元素名称 元素内容>
在上面元素的定义格式中,包含了“元素名称”和“元素内容”。其中,“元素名称”是自定义的名称,它用于定义被约束 XML 文档中的元素;“元素内容”是对元素包含内容的声明,包括数据类型和符号两部分,它共有 5 种内容形式,具体如下。
1)#PCDATA:表示元素中嵌套的内容是普通文本字符串,其中,关键字 PCDATA 是 Parsed Character Data 的简写。例如,<!ELEMENT 书名(#PCDATA)>表示书名所嵌套的内容是字符串类型。
2)子元素:说明元素包含的元素。通常用一对括号将元素中嵌套的一组子元素括起来。例如,<!ELEMENT 书(书名,作者,售价)>表示书中嵌套的子元素书名包含零个或多个。
4)EMPTY:表示该元素既不包含字符数据,也不包含子元素,是一个空元素如果在文档中元素本身已经表明了明确的含义,就可以在 DTD 中用关键字 EMPT例如<!ELEMENT br EMPTY>,其中,br 是一个没有内容的空元素。
5)ANY:表示该元素可以包含任何的字符数据和子元素。

schema约束

同dtd一样,xml schema也是一种用于定义和描述xml文档结构与内容的语言模式,它的出现克服了dtd的局限性。
(1) DTD 采用的是非XML 语法格式,缺乏对文档结构、元素、数据类型等全面的描述。而XML Schema 采用的是 XML 语法格式,而且它本身也是一种 XML文档,因此,XML Schema语法格式比 DTD 更好理解。
(2)XML有非常高的合法性要求,虽然 DTD和XML Schema 都用于对 XML 文档进行描述,都被用作验证 XML合法性的基础。但是,DTD 本身合法性的验证必须采用另外一套机制,而 XMLSchema 则采用与 XML 文档相同的合法性验证机制。
(3)XML Schema 对名称空间支持得非常好,而 DTD 几乎不支持名称空间。
(4)DTD 支持的数据类型非常有限。例如,DTD 可以指定元素中必须包含字符文本(PCDATA),但无法指定元素中必须包含非负整数(nonNegativeintieger),而XML Schema比XML DTD 支持更多的数据类型,包括用户自定义的数据类型。
(5)DTD定义约束的能力非常有限,无法对XML实例文档作出更细致的语义限制,例如,无法很好地指定一个元素中的某个子元素必须出现 7~12 次;而XML Schema 定义约束的能力非常强大,可以对 XML 实例文档作出细致的语义限制。
通过上面的比较可以发现,XML Schema 的功能比 DTD 强大很多,但相应的语法也比 DTD复杂很多。

http协议

Http是一种请求响应时的血液,客户端在与服务器端建立连接后,就可以向服务器端发送请求,这种请求被称作http请求服务端收到。请求后会做出响应,称为http响应
Http协议的特点
1.支持客户端服务器模式。
2.简单快速:客户端向服务器请求服务时,只需传送请求方式和路径常用的请求方式,有get post等,每种方式规定了客户端与服务器联系的类型不同,由于http简单写的http服务器的程序规模小。因而通信速度很快。
3.灵活:http允许传说任意类型的数据,正在传输的数据类型有content-type加以标记
4.无状态:http是无状态协议,无状态是指协议对于事务处理没有记忆能力,如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

2020080605045 袁雪华 大数据2005

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值