一、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基本要素的更多相关文章

  1. [xsd学习]xsd实例

    以下为一个表示学校的xml文件,学校内有若干学生,每个学生都有基本信息,电脑信息,选课信息 <?xml version="1.0" encoding="UTF-8& ...

  2. [xsd学习]xsd介绍

    一直以来项目中对xml格式的判断使用的都是dtd格式,直到最近才发现,不知何时都已经转为xsd来进行判断和校验,于是今天专门找资料看下,不得不说,对于这类资料的入门,w3cschool真是个不错的资料 ...

  3. [xsd学习]xsd元素限定

    限定(restriction)用于为 XML 元素或者属性定义可接受的值 一.xsd中主要限定格式如下: <xs:element name="xxx"><!--元 ...

  4. [xsd学习]复合元素

    对于xsd,复合元素的定义有两种方式: 一.在元素内部直接声明,此种方法只能此元素使用 <xs:element name="employee"> <xs:comp ...

  5. XSD 学习

    1.新建文件 Rhythmk.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema id ...

  6. WebService基础学习(二)—三要素

    一.Java中WebService规范      JAVA 中共有三种WebService 规范,分别是JAX-WS.JAX-RS.JAXM&SAAJ(废弃).   1.JAX-WS规范    ...

  7. xml to xsd ; xsd to xml

    xml to xsd 工具网站 https://www.freeformatter.com/xsd-generator.html 示例xml <?xml version="1.0&qu ...

  8. Python学习 :网络通信要素

    网络通信 OSI 模型 - 定义了计算机互联的标准,是设计和描述计算机网络通信的基本框架 - 把网络通信的工作分为7层,分别是物理层.链路层(数据网络层).网络层.传输层.会话层.表示层和应用层 网络 ...

  9. XML学习笔记7——XSD实例

    在前面的XSD笔记中,基本上是以数据类型为主线来写的,而在我的实际开发过程中,是先设计好了XML的结构(元素.属性),并写好了一份示例,然后再反过来写XSD文件(在工具生成的基础上修改),也就是说,是 ...

随机推荐

  1. 【leetcode】Convert Sorted Array to Binary Search Tree (easy)

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 有序 ...

  2. iOS开发系列--Objective-C 之 KVC、KVO

    概述 由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby.Python的动态特性,例如动态类型.动态加载.动态绑定等.今天我们着重介绍ObjC中的键值编码(KVC).键值监听( ...

  3. Ubuntu之MaxScale安装配置

    原文github:https://github.com/mariadb-corporation/MaxScale/blob/develop/Documentation/Documentation-Co ...

  4. Loadrunner之API测试

    //API函数 web_submit_data web_custom_request   //支持https请求 web_set_sockets_option("SSL_VERSION&qu ...

  5. hdu 2546饭卡

    用5块钱去买最贵的物品,用剩下的m-5块去买尽量多的物品 #include<stdio.h> #include<math.h> #include<vector> # ...

  6. 大话数据结构–1.基础知识+2.算法

      2.算法: 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每个指令表现为一个或多个操作. 特性:输入.输出.有穷性.确定性.可行性.   2.9.1.算法时间复杂度: 语句 ...

  7. 手机站点动态效果插件TouchSlide

    今天看到TouchSlide插件,觉得非常不错,关于使用情况请看demo,下载地址:http://www.superslide2.com/TouchSlide/downLoad.html

  8. JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)

    1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...

  9. [LeetCode] Maximal Rectangle

    Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and ...

  10. CentOS下用yum配置php+mysql+apache(LAMP)

    #安装需要的包,有依赖关系,自动帮你解决 yum install httpd mysql mysql-server php php-gd php-mbstring php-mysql #启动httpd ...