web服务:原理与技术03

电子服务系统设计复习总结03

前言

本文档原意为考试复习所用,基于 《web服务:原理与技术》 课本。

第三章

★1.什么是XML(可扩展标记语言)

1.1XML定义

①是一种标记语言,很类似HTML;

②XML的设计宗旨是传输数据,而非显示数据;

③XML标签没有被预定义,需要自行定义标签,具有自描述性

★1.2XML与HTML的主要差异

①XML不是 HTML的替代。

②XML和HTML为不同的目的而设计。

③XML被设计为传输和存储数据,其焦点是数据的内容

④HTML被设计用来显示数据,其焦点是数据的外观

⑤XML比HTML的语法规则更严格

★1.3XML的特点

①XML是不作为的,XML不会做任何事情,XML 被设计用来结构化、存储以及传输数据。

②XML仅仅是纯文本

③通过XML可以发明自己的标签,具有自描述性

④XML是独立于软件和硬件的信息传输工具

1.4XML的作用

①XML把数据从HTML分离出来

②XML简化数据共享

③XML简化数据传输

④XML简化平台的变更

⑤XML使数据更有用

⑥XML用于创建新的 Internet 语言

2.XML文档结构

XML是一种可扩展标记语言,用于网络上电子标记文本描述发送

2.1XML文档组成(根元素、子元素、属性、注释、内容)

XML文档 = 命名容器+命名容器所包含的数据值

命名容器

 声明,确定XML的版本

 元素,表示一个文本单元,可视为一个结构化组件

 属性,元素的特征

2.2XML树结构

XML 文档必须包含根元素。该元素是所有其他元素的父元素

2.3XML声明
<?xml version="1.0" encoding="UTF-8" ?>
2.4XML语法规则

①所有XML元素都须有关闭标签。

②XML 标签对大小写敏感

③XML 必须正确地嵌套

④XML 文档必须有根元素

⑤XML 的属性值须加引号

⑥实体引用(预定义实体)

★⑦两种类型的实体:预定义实体、自定义实体

★2.5XML元素

①根元素,XML文档最顶端的一个元素

②元素的内容可以是字符数据、其他的嵌套元素,或者是这两者的组合

③包含在其他元素中的元素称为嵌套元素

④包含在文档中的数据值称为文档的内容

⑤不同类型的元素具有不同的名字,对于特定类型元素, XML并不提供表示这些类型元素的具体含义的方法, 而是表示这些元素类型之间的关系

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

2.6XML属性

①在起始标签中添加属性。

②使用属性可以向元素中添加信息,从而更好地表示元素的内容

③属性不可以嵌套,必须在元素的起始标签中进行声明。

2.7XML 元素 vs 属性

①尽量避免使用属性。

②属性无法包含多重的值(元素可以)。

③属性无法描述树结构(元素可以)。

④属性不易扩展

⑤属性难以阅读和维护

3.URI和XML命名空间

3.1统一资源标识符(URI)

①统一资源标识符是一串可以唯一标识因特网资源的字符

3.2URI与URL

①URI比URL更新、含义更广。

②URI既包括使用传统寻址模式(如HTTP和FTP) 的URL,也包括统一资源命名URN。

★3.3XML命名空间

问题:在不同的上下文中可能会使用相同的标签名→命名冲突。

解决:XML命名空间使得不同的元素可以具有相同的本地名,从而避免了名字的冲突

①命名空间中的标签名必须是唯一的。

②所有的命名空间声明都有作用域

命名空间中的名字与元素的本地名一起构成了全局唯一名,该名字也称为限定名。

xmlns:namespace-prefix = "namespaceURI“

用于标示命名空间的地址不会被解析器用于查找信息。 其惟一的作用是赋予命名空间一个惟一的名称。

4.定义XML文档中的结构

4.1Schema

XML中,模式通常指的是一种特定的文档,该文档用于定义某一类别的XML文档的内容和结构

目的:定义XML文档的类别

★4.1XML模式定义语言(XML Schema Definition Language,XSD)

①XSD提供了一种粒度化的方式,可用于描述XML文档的内容。

②XSD可用来声明元素和属性,复用其他模式的元素, 定义复合元素定义约束

XML Schema的作用是定义XML文档的合法构建模块。

4.2XML Schema优势

①XML Schema支持数据类型,定义数据模型(或称数据格式)。

②XML Schema使用XML语法,不必学习新的语言。

③XML Schema可保护数据通信。

④XML Schema可扩展,通过可扩展的Schema 定义,可以在其他Schema中重复使用Schema。

4.3XML模式组件

XML模式由模式组件构成,模式组件是一些构建模块,可用于构建模式的抽象数据类型。

★4.4XML模式文档
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2003/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">
<xs:element name="note">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="to" type="xs:string"/>
 <xs:element name="body" type="xs:string"/>
 </xs:sequence>
 </xs:complexType>
</xs:element>
</xs:schema>
★4.5XSD类型定义、元素和属性声明

①通过定义可以创建新的类型。

②通过声明,具有特定名字和类型(简单类型或复合类型)的元素和属性可以出现在文档实例中。

★4.6XSD元素声明

①元素是模式的主要组成部分,使用XSD中的<xs:element>声明。

②元素所定义的位置确定了元素在模式中的可用性。

若元素声明是元素<xs:schema>的直接后代,则称为全局元素声明。

<schema>元素是每一个 XML Schema 的根元素,可包含属性。

④XSD 简易元素,仅包含文本的元素,不会包含任何其他的元素或属性。

<xs:element name="xxx" type="yyy"/>

内建的数据类型:

xs:string

`xs:decima`

`xs:integer`

`			xs:boolean`

xs:date

xs:time

简易元素可拥有指定的默认值或固定值

★4.7属性声明

①XML属性不能嵌套不能重复,也不能具有基数

②可以使用XSD的元素表示复合元素的属性

③属性的类型必须是简单类型之一:

boolean、byte、date、dateTime、decimal、double、 duration、float、integer、language、long、short、string、 time、token

简易元素无法拥有属性

④定义属性

<xs:attribute name="xxx" type="yyy"/>

​ 属性可拥有指定的默认值固定值

​ 可选的和必需的属性

★4.8XSD 限定

用于为 XML 元素或者属性定义可接受的值

限定

xs:restriction base=“xs:XXX” 限定类型

xs:enumeration 限定枚举约束

xs:pattern 限定一系列值

xs:whiteSpace 限定空白符

xs:length/maxLength/minLength 限定长度

4.9简单类型

通过创建<simpleType>来自定义数据类型,基于一个所支持的数据类型,然后向这个数据类型中添加约束来创建新的数据类型。

★4.10复合类型

①一个元素假如包含子元素和/或子属性,则该元素为复合类型。

②可以使用**<complexType>**元素来定义结构化类型

③复合类型定义通常包含一组元素声明元素引用属性声明

④有四种类型的复合元素

​  空元素

​  包含其他元素的元素

​  仅包含文本的元素

​  包含元素和文本的元素

定义复合元素

有两种方式来定义复合元素 :  通过命名此元素  使用type属性,引用要使用的复合类型的名称

XSD复合类型指示器

​ 通过指示器,可以控制在文档中使用元素的方式。

有七种指示器

​  Order 指示器,用于定义元素的顺序

​  All:子元素可以按照任意顺序出现,且每个子元素必须只出现一次

​  Choice:定可出现某个子元素或者可出现另外一个子元素(非此即彼)。(多选1)

​  Sequence:元素必须按照特定的顺序出现。

​  Occurrence 指示器,用于定义某个元素出现的频率

​  maxOccurs(某个元素可出现的最大次数)、minOccurs (某个元素能够出现的最小次数)

​  Group 指示器,用于定义相关的数批元素

​  Group name:元素组,通过group声明进行定义

<xs:group name=”xx”> 声明

</xs:group>

<xs:group ref=”xx”/> 引用

​  attributeGroup name:属性组,通过attributeGroup声明来进行定义

<xs: attributeGroup name=”xx”>

<xs: attributeGroup ref=”xx”/>

​ XSD <any> 元素:

<xs:any/>可以通过未被schema规定的元素来拓展

​ XSD <anyAttribute> 元素

<xs:anyAttribute/>可以通过未被schema规定的属性来扩展

​ 元素替换:substitutionGroup

4.11派生的复合类型

①扩展:可以扩展复合类型,不能修改或删除已有的属性

<xs:extension base="PO:已有属性名">

</xs:extension>

②约束:通过删除属性、对属性进行约束以及设置内容模型的子集,可以对复合类型进行约束。

<xs:restriction base="PO:已有属性名">

</xs:restriction>

★4.12导入模式与包含模式

在XSD中,使用include元素和import元素实现模式的组合,称为包含模式导入模式

可以有效地“继承”被引用的模式中的属性和元素

import和include有两点主要的不同:

include元素仅在相同的命名空间中使用,import可以跨不同的命名空间使用

include元素具体地引入其他的模式文档,import元素依赖另一个命名空间,但不需要另一个模式文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值