您的当前位置:首页正文

接口方面XML schema学习

2020-04-12 来源:我们爱旅游
XML与HTML的设计区别是:XML 被设计为传输和存储数据,其焦点是数据的内容。而HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。

为什么上面那样说,因为XML将显示和结构分开,XML对文档(数据)进行了规范化的描述。它标志了数据的含义,数据的格式等等。他与一个表格是对应的,比如下面的表格:

Name Sex Age Height Interest 175 Swimming Lucy Female 18 上面的表格,我们存储关于Lucy的个人信息,我们要存储这段信息,可以使用上面表格的形式,这样便于整理和查找(也就是数据库)。也可以使用XML文件进行描述,如 Lucy 等等。

这样的话,我们就完成了数据的存储,但是这存在一个问题,就是不规范,不能校验。想想我们用数据库,或者通信中的数据帧,设计了一个表格,每个字段多长,存储什么样的数据,字段含义是什么,都是表头规定好的。我们按照这个规定来填写数据,或者在传输中,用于通信。或者在数据库中,用于存储。

XML也一样,为了有一个这样用于校验和格式的规范,我们引用了DTD文件,他是对XML文件格式和结构的一种说明。虽然没有它,XML文件完全能够被浏览器解读和显示,但是就没有了校验的功能,

也不能按规范存储数据,或者进行通信。

因此,我们定义了DTD文件,他可以内嵌在XML内部,也可以在XML文件外部,以单独的文件存在。

而schema,是升级版的DTD文件。因为DTD文件有一些弊端,比如他是按照独立的语法书写,而不是XML语法规则,而schema则完全按照DTD语法规范的。他可以定义元素、定义树状结构是怎样的等等。

XSD是指XML结构定义 ( XML Schemas Definition ) XML Schema 是DTD的替代品。XML Schema语言也就是XSD。 XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。 一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。

XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。

XSD文件的后缀名为.xsd。 XML Schema的优点:

1) XML Schema基于XML,没有专门的语法 2) XML可以象其他XML文件一样解析和处理

3) XML Schema支持一系列的数据类型(int、float、Boolean、date等)

4) XML Schema提供可扩充的数据模型。 5) XML Schema支持综合命名空间 6) XML Schema支持属性组。

WSDL教程

什么是 WSDL?

 WSDL 指网络服务描述语言  WSDL 使用 XML 编写  WSDL 是一种 XML 文档  WSDL 用于描述网络服务  WSDL 也可用于定位网络服务  WSDL 还不是 W3C 标准

WSDL 可描述网络服务(Web Services) WSDL

言 (Web Services Description Language)。 WSDL 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。 WSDL 文档结构

WSDL 文档是利用这些主要的元素来描述某个 web service 的。

WSDL 功能

怎样向别人介绍你的Web service有什么功能,以及每个函数调用时的参数呢?你可能会自己写一套文档,你甚至可能会口头上告诉需要使用你的Web service的人。这些非正式的方法至少都有一个严重的问题:当程序员坐到电脑前,想要使用你的Web service的时候,他们的工具(如Visual Studio)无法给他们提供任何帮助,因为这些工具根本就不了解你的Web service。解决方法是:用机器能阅读的方式提供一个正式的描述文档。Web service描述语言(WSDL)就是这样一个基于XML的语言,用于描述Web service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。

因篇幅问题不能全部显示,请点此查看更多更全内容