XML基础

XML可扩展的标记语言,标记语言专为信息增加额外的标记。
XML不侧重于数据如何表现,而是更多地关注数据如何存储和传输。
XML是可扩展的标记语言,因此没有预定义任何标签,开发者可以自行定义任意的标签。


XML有严格的格式:
1. 整个XML文档有且仅有一个根元素
2. 每个元素都有开始标签和结束标签组成
3. 元素与元素之间应该合理嵌套
4. 元素的属性必须有属性值,而且属性值应该用引号引起来

当XML文档遵循上面的4个亏反时,可以准确地转换成树状结构,因此XML也成为结构化文档,可以更方便地编写程序来进行处理,为XML作为数据交换工具提供了基础。

如果希望XML文档是有效的XML文档,除了要满足XML文档的基本规则之外,还必须为其提供对其进行语义约束的DTD或Schema,而且该文档必须遵守相应的DTD或Schema所定义的语义约束。

XML文档声明部分encoding属性指的是读取XML文档时所使用的字符集,简体中文windows平台保存文件时默认使用GBK字符集,而XML文档的encoding属性默认是UTF-8。


DTD:
1. 内部DTD,写在XML内部
<!DOCTYPE 根元素名[
元素描述
]>
XML文档主体部分
2. 外部DTD,独立文件,用SYSTEM引入
<!DOCTYPE 根元素名 SYSTEM “外部DTD的URI”>
3. 公用DTD,权威机构制定独立文件,用PUBLIC引入
<!DOCTYPE 根元素 PUBLIC “DTD的标识名” “公用DTD的URI”>

定义任何类型的元素:<!ELEMENT 元素名 ANY>
定义空元素:<!ELEMENT 元素名 EMPTY>
定义字符串内容的元素:<!ELEMENT 元素名 (#PCDATA)>

有序的子元素:<!ELEMENT 元素名 (子元素名1,子元素名2,…)>
互斥的子元素:<!ELEMENT 元素名 (子元素名1|子元素名2|…)>
无序的子元素:<!ELEMENT 元素名 (子元素名|,子元素名|,…)+>

子元素出现的频率:
1.+:一次或多次
2.*:0次或多次
3.?:0次或一次
4.没有标记:只能出现一次,且必须出现一次

定义元素属性:<!ATTLIST 属性所属的元素 属性名 属性类型 [元素对属性的约束] [默认值]>
1. 没有指定“元素对属性的约束”时,必须为该属性指定“默认值”
2. 指定“元素对属性的约束” 是#REQUIRD时,不能为该属性指定“默认值”
3. 指定“元素对属性的约束”#IMPLIED时,不能为该属性指定“默认值”

4. 指定“元素对属性的约束”是#FIXED时,必须为该属性指定“默认值”

属性类型:
1. CDATA:字符串
2. (en1|en2|en3)一系列枚举值之一
3. ID唯一的有效标示符
4. ENTITY外部实体,例如图片文件
5. ENTITIES多个外部实体,以空格隔开
6. xml:预定义的XML值
……


XML Schema是DTD的替代者,它采用标准XML语法来定义XML文档语义约束,不仅可以定义XML文档的结构,还可以定义XML文档内容约束。XML Schema也被称为XML Schema定义(XML Schema Definition,XSD)。


Web Service平台概述

Web Service平台主要涉及的技术有SOAP,WSDL,UDDI。

SOAP是一种具有扩展性的XML消息协议,协议允许一个应用程序向另一个应用程序发送XML消息。SOAP仅定义消息结构和消息处理的协议,与底层的传输协议独立。SOAP消息底层可通过HTTP,JMS,SMTP协议传输,目前大多用HTTP传输。

WSDL使用XML描述Web Service,包括访问和使用Web Service所必须的信息,定义该Web Service的位置,功能及如何通信等描述信息。

UDDI包括一组允许企业向外注册Web Service以使其他企业发现、访问的实现标准。UDDI的核心组件是UDDI注册中心,它使用XML文件来描述企业及其提供 的Web Service。通过UDDI,Web Service提供者可以对外注册Web Service,从而允许其他企业调用该企业注册的Web Service。

Web Service应用:
1. 复用已有的应用程序组件
2. 应用程序集成
3. B2B整合
4. 重用系统数据


SOAP基本语法

SOAP消息基于XML文档构建,一条SOAP消息就是一份特定的XML文档,SOAP消息包含以下3个主要元素:
1. 必需的<Envelope…/>根元素,SOAP消息对应的XML文档以该元素作为根元素
2. 可选的<Header…/>元素,包含SOAP消息的头信息
3. 必需的<Body…/>元素,包含所有的调用和响应消息

WSDL基本语法

WSDL模型充分运用了规范和实现分离的原则,将Web Service的服务接口和服务实现分成两个部分定义。
WSDL的第一个部分定义了服务接口,它由<message…/>和<portType…/>两个元素组成。其中,<message…/>元素定义了操作的交互方式;而<portType…/>元素里则可包含任意数量的<operation…/>子元素,每个<operation…/>元素代表一个允许远程调用的操作(即方法)。

WSDL第二个部分定义了服务的实现,它由<binding…/>和<service…/>两个元素组成。其中<binding…/>元素定义使用特定的通信协议、数据编码和底层通信协议,将Web Service服务接口定义到具体实现;而<service…/>元素则包含一系列<prot…/>子元素,<prot…/>子元素会把绑定机制、服务访问协议和端点地址结合在一起。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值