WebService--day01

最近公司需要使用到WebService技术,之前没学过,边学边实践,也整理下学习笔记,一来巩固学习成果,二来加深印象。


目录

一、schema规范

1. 概要


一、schema规范

在正式学习webservice之前,需要先了解下schema规范,方便后面的学习。

1. 概要

DTD和Schema都是用来约束XML的,但是Schema表现得更加出色,,这里我们只学习schema,那么什么是XML约束?

– XML技术里可以编写一个文档(文件)来约束一个XML文档的书写规范,这称之为XML约束。最常见的是spring的xml配置文件,我们只能写人家规定好的标签而不能随意增加标签,这就是XML约束。

2. 创建schema文件

新建一个普通工程,在resources文件夹下创建home.xsd文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.example.com/bookschema" elementFormDefault="unqualified" >
    <element name="家庭">
        <complexType>
            <sequence maxOccurs="unbounded">
                <element name="家庭成员">
                    <complexType>
                        <sequence>
                            <element name="爸爸" type="string" />
                            <element name="妈妈" type="string" />
                            <element name="姐姐" type="string" />
                            <element name="弟弟" type="string" />
                        </sequence>
                    </complexType>
                </element>
            </sequence>
        </complexType>
    </element>
</schema>
schema文件参数说明
参数名说明
targetNamespace每个schema文档都应该赋予一个唯一的id,这里称为命名空间。命名空间的值用URI表示,而这个URI大多数情况都不存在,只是我们自己定义的,用来表示命名空间的一个值而已。
elementFormDefault

用来指定schema文档中的元素和属性是否都关联到命名空间,

true-关联所有/false-仅关联根元素。

xmlnsxmlns(XML nameSpace)是用来引入schema约束的, 这里我们在写约束文件的时候也引用了w3c组织定义的标签和属性, 它的命名空间就是http://www.w3.org/2001/XMLSchema

 

 

 

 

 

 

 

3.引用schema约束文件

创建一个home.xml文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<家庭 xmlns="http://www.example.com/homeSchema"
    xmlns:dd="http://www.w3.org/2001/XMLSchema-instance" dd:schemaLocation="http://www.example.com/homeSchema home.xsd">
    <家庭成员>
        <爸爸>张三</爸爸>
        <妈妈>李四</妈妈>
        <爷爷>张五</爷爷>
        <奶奶>赵六</奶奶>
    </家庭成员>
</家庭>

 

参数说明:

 

 

 

 

 

 

4.总结

schema规范中:

   1. 所有标签和属性都需要有schema文件来定义

   2. 所有的schema文件都需要有一个id, 但在这里它叫namespace,

   3. namespace的值由什么来指定?

      由targetNamespace属性来指定, 它的值是一个url(很有可能不存在)

   4. 如何引入一个Schema约束?

      属性? : 用xmlns属性

      属性值: 对应的schema文件的id(namespace值)

   5. 如果引入的schema不是w3c组织定义, 必须指定schema文件的位置

   6. schema文件的位置由什么属性来指定?

      属性? : schemaLocation

      属性值: namespace path

7. 如果引入了N个约束, 需要给n-1个取别名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值