[xsd学习]xsd基本要素
一、xsd常用数据格式
xs:string
xs:decimal
xs:integer
xs:boolean
xs:date
xs:time
二、简易元素
<xs:element name="xxx" type="yyy" default="aaa" fixed="bbb" />
其中:
xxx表示元素名称,
yyy表示数据格式,
aaa表示元素默认值,如果没有值,则元素值为aaa,
bbb表示元素为固定值bbb,如果为其他值则报错
那么以下格式的xml报文对应的xsd文件为:
<lastname>Smith</lastname>
<age>28</age>
<dateborn>1980-03-27</dateborn>
这是相应的简易元素定义:
<xs:element name="lastname" type="xs:string" default="张三"/>
<!--表示定义lastname,如果数据为空,则默认为张三-->
<xs:element name="age" type="xs:integer" fixed="28"/>
<!--定义age,固定值为28,如果为其他值,则报错-->
<xs:element name="dateborn" type="xs:date"/>
三、属性
简易元素指没有任何属性的元素,如果拥有属性,则成为复合元素。此节主要介绍元素的声明。
<xs:attribute name="xxx" type="yyy" default="aaa" fixed="bbb" />
其中:
xxx表示属性名称,
yyy表示数据格式,属性格式参考第一节,
aaa表示属性默认值,如果没有值,则属性值为aaa,
bbb表示属性为固定值bbb,如果为其他值则报错
例如:
<xs:attribute name="lang" type="xs:string" default="EN"/>
<xs:attribute name="encodding" type="xs:string" fixed="GBK"/>
对应xml为,其中lang为CN,覆盖了EN设置,encoding仅能为GBK
<lastName lang="CN" encoding="GBK">zhangsan</lastName>
[xsd学习]xsd基本要素的更多相关文章
- [xsd学习]xsd实例
以下为一个表示学校的xml文件,学校内有若干学生,每个学生都有基本信息,电脑信息,选课信息 <?xml version="1.0" encoding="UTF-8& ...
- [xsd学习]xsd介绍
一直以来项目中对xml格式的判断使用的都是dtd格式,直到最近才发现,不知何时都已经转为xsd来进行判断和校验,于是今天专门找资料看下,不得不说,对于这类资料的入门,w3cschool真是个不错的资料 ...
- [xsd学习]xsd元素限定
限定(restriction)用于为 XML 元素或者属性定义可接受的值 一.xsd中主要限定格式如下: <xs:element name="xxx"><!--元 ...
- [xsd学习]复合元素
对于xsd,复合元素的定义有两种方式: 一.在元素内部直接声明,此种方法只能此元素使用 <xs:element name="employee"> <xs:comp ...
- XSD 学习
1.新建文件 Rhythmk.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema id ...
- WebService基础学习(二)—三要素
一.Java中WebService规范 JAVA 中共有三种WebService 规范,分别是JAX-WS.JAX-RS.JAXM&SAAJ(废弃). 1.JAX-WS规范 ...
- xml to xsd ; xsd to xml
xml to xsd 工具网站 https://www.freeformatter.com/xsd-generator.html 示例xml <?xml version="1.0&qu ...
- Python学习 :网络通信要素
网络通信 OSI 模型 - 定义了计算机互联的标准,是设计和描述计算机网络通信的基本框架 - 把网络通信的工作分为7层,分别是物理层.链路层(数据网络层).网络层.传输层.会话层.表示层和应用层 网络 ...
- XML学习笔记7——XSD实例
在前面的XSD笔记中,基本上是以数据类型为主线来写的,而在我的实际开发过程中,是先设计好了XML的结构(元素.属性),并写好了一份示例,然后再反过来写XSD文件(在工具生成的基础上修改),也就是说,是 ...
随机推荐
- iOS应用架构谈(一):架构设计的方法论
当我们讨论客户端应用架构的时候,我们在讨论什么? 其实市面上大部分应用不外乎就是颠过来倒过去地做以下这些事情: 简单来说就是调API,展示页面,然后跳转到别的地方再调API,再展示页面. 那这有什么好 ...
- Web前端开发工程师的就业前景
Web前端开发工程师的就业前景 Web前端开发工程师是一个全新的职业,在IT行业真正受到重视的时间不超过5年.因此,大家越来越关心web前端工程师前景怎么样?web前端工程师就业如何?Web前端开发是 ...
- volatile和const
volatile可理解为“编译器警告指示字” volatile用于告诉编译器必须每次去内存中取变量值 volatile主要修饰可能被多个线程访问的变量 volatile也可以修饰可能被未知因数更改的变 ...
- 10.11 cocoapods安装
手动安装gem 手动下载 rubygem https://rubygems.org/pages/download#formats 10.11 cocoapods安装 sudo gem install ...
- java的system.arraycopy()方法
java.lang.System的静态方法arraycopy()可以实现数组的复制,讲课的老师说这个方法效率比较高,如果数组有成千上万个元素,那么用这个方法,比用for语句循环快不少.于是我试了试,发 ...
- Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7
第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示
- Android Studio 生成Jar包时遇到的gradlew下载问题
网上介绍说使用gradlew打包jar,可是输入gradlew makeJar后就开始download XXX.zip,但是等了很久都没有完成.解决办法如下: 原文:http://blog.csdn ...
- jQuery – 8.事件和事件参数
事件 (*)JQuery中的事件绑定:$("#btn").bind("click",function(){}),每次都这么调用太麻烦,所以jQuery可 ...
- C++杂记
变量就是一个地址,同进程内可以直接访问,要做好线程之间的同步就是了.——摘自CSDN 2015-06-18 16:58:10(注:注意变量的生命周期(作用域就可以不在意))
- [LeetCode] Remove Element (三种解法)
Given an array and a value, remove all instances of that value in place and return the new length. T ...