1. schema约束
一 几个重要知识:
1 . namespace 相当于Schema文档的id,它的值必须是唯一
2. targetNamespace 属性用来指定schema文档的namespace值
3. xmlns 属性 引入某个命名空间
4. schemaLocation 属性 指定引入的命名空间的 schema 文件的位置
二 Schema 规范
1. xml文件中的所有标签和属性都需要有schema文件来定义(约束)
2. 如何引入约束? xmlns属性来指定:它的值为一个schema文件的namespace值
3. 每个schmema文件都必须有一个唯一标识,平常一般取名为id,但在schema中以namespace(命名空间)来表达
也就是每个Schema文件都有一个唯一的namespace值
text.xsd
book.xml
4. schema文件的namespace值如何指定?
targetNamespace 属性来指定:它的值是一个url 格式的文本 (路径不一定真实存在,但必须唯一)
5. 如果引入的schema约束不是w3c组织定义, 那么在引入后还需要指定schema文件的位置
6. 如何来指定schema文件的位置? schemaLocation 属性来指定:它的值由两部分组成:namcespace+path
7. 如果引入了N个约束, 那反必须给n-1个取别名, 在使用到某个取了别名的schema文档的标签或属性时,必须通过别名来引导
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.zhouwuji.cn" elementFormDefault="qualified"> <!-- qualified 关联约定所有的标签 默认为unqualified --> <element name="books"> <complexType> <!-- 复合类型 unbounded 无限的 --> <sequence maxOccurs="unbounded"> <element name="book"> <complexType> <sequence maxOccurs="1"> <element name="bookname" type="string" /> <element name="author" type="string" /> <element name="price" type="string" /> </sequence> </complexType> </element> </sequence> </complexType> </element> </schema>
<?xml version="1.0" encoding="UTF-8"?> <books xmlns="http://www.zhouwuji.cn" xmlns:ss="http://www.w3.org/2001/XMLSchema-instance" ss:schemaLocation="http://www.zhouwuji.cn test.xsd"> <book> <bookname>javascript</bookname> <author>淘气老师</author> <price>¥32.1</price> </book> </books> <!-- schema规范中: 1.所有的标签和属性都需要有schema文件来定义 2.所有的schema文件都需要有一个id,但在这里他叫namespace 3.namespace的值由什么来决定? 有targetNamespace属性来指定,必须制定schema文件的位置 4.如何引用一个schema约束? 属性:用xmlns属性 属性值:对应的schema文件的id 5.如果引入的schema不是w3c组织定义,必须指定schema文件的位置 6.shcema文件的位置有什么属性指定? 属性:schemaLocation 属性值:namespace path 7.如果引入N个约束,需要给n-1个取别名 -->
2 关于 Web Service 的几个问题
1. 基于 Web 的服务:服务器端整出一些资源让客户端应用访问(获取数据)
2. 一个跨语言、跨平台的规范(抽象)
3. 多个跨平台、跨语言的应用间通信整合的方案
例: (实际) 以各个网站显示天气预报功能为例: 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过 WebService Server),
而各大站点的应用就去调用它们得到天气信息并以不同 的样式去展示(WebService Client). 网站提供了天气预报的服务,
但其实它们什么也没有做,只是简单了调 用了一下气象中心服务器上的一段代码而已。
4、 为什么要用 Web service?
web service 能解决: 跨平台调用 、跨语言调用 、远程调用
5. 什么时候使用 web Service?
-- 同一家公司的新旧应用之间
-- 不同公司的应用之间 分析业务需求:天猫网与中通物流系统如何交互?
-- 一些提供数据的内容聚合应用:天气预报、股票行情
3. Web Service 中的几个重要术语
1. WSDL:web service definition language
a 直译 : WebService 定义语言
b. 对应一种类型的文件.wsdl
c. 定义了 web service 的服务器端与客户端应用交互传递请求和响应数据的格式 和方式
d. 一个 web service 对应一个唯一的 wsdl 文档
. 2. SOAP:simple object access protocal
a 直译: 简单对象访问协议
b. 是一种简单的、基于 HTTP 和XML的协议, 用于在 WEB 上交换结构化的数据
c. soap 消息:请求消息和响应消息
d. http+xml 片断
3. SEI:WebService EndPoint Interface
a 直译: web service 的终端接口,
b 就是 WebService 服务器端用来处理请求的接口
4. CXF:Celtix + XFire
a 一个 apache 的用于开发 webservice 服务器端和客户端的框架