1、新建文件 Rhythmk.xsd

<?xml version="1.0" encoding="utf-8"?>

<xs:schema id="Rhythmk"
targetNamespace="http://tempuri.org/Rhythmk.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/Rhythmk.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vs="http://schemas.microsoft.com/Visual-Studio-Intellisense"
>
<xs:element name="sqlMap">
<xs:complexType>
<!-- xs:all 控制子元素单一出现 -->
<xs:all>
<xs:element ref="rhythmk" minOccurs="0"/>
<xs:element ref="books" minOccurs="0" maxOccurs="1" />
</xs:all>
<xs:attribute name="namespace" type="xs:string" use="required"/>
</xs:complexType>
</xs:element> <!--
1、elementFormDefault="qualified":
指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定 -->
<xs:element name="rhythmk">
<xs:complexType>
<xs:sequence>
<!-- 指定类型为整行-->
<xs:element name="id" type="xs:integer">
</xs:element>
<xs:element name="realname" type="xs:string"></xs:element>
<xs:element name="body" type="xs:string"></xs:element>
<xs:element name="birthday" type="xs:date"></xs:element>
<!-- 为性别设置默认值 "男"-->
<xs:element name="sex" type="xs:string" default="男"></xs:element>
<!--设置默认值,且无法修改-->
<xs:element name="url" type="xs:string" fixed="http://rhythmk.cnblogs.com"></xs:element>
<!-- 定义属性 -->
<xs:element name="address" >
<xs:complexType >
<!--必填属性-->
<xs:attribute name="area" use="required" >
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN" >
<xs:enumeration value="长沙"></xs:enumeration>
<xs:enumeration value="衡阳"></xs:enumeration>
<xs:enumeration value="岳阳"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element> <!--包住子元素让其可以多次出现-->
<xs:element name="books">
<xs:complexType>
<!-- 允许子节点多次出现 -->
<xs:choice maxOccurs="unbounded">
<xs:element ref="book"></xs:element>
</xs:choice>
</xs:complexType>
</xs:element> <xs:element name="book">
<xs:complexType>
<xs:sequence>
<!-- 指定类型为整行-->
<xs:element name="id" type="xs:integer">
</xs:element>
<xs:element name="bookname" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

2、根据定义 书写XML

<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="" xmlns="http://tempuri.org/Rhythmk.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<rhythmk>
<id> 1</id>
<realname>wk </realname>
<body> body</body>
<birthday>1990-01-25</birthday>
<sex>男</sex>
<url>http://rhythmk.cnblogs.com</url>
<address area="长沙"></address>
</rhythmk>
<books>
<book>
<id>1</id>
<bookname>book1</bookname>
</book>
<book>
<id>2</id>
<bookname>book1</bookname>
</book>
<book>
<id>3</id>
<bookname>book1</bookname>
</book>
</books> </sqlMap>

下载地址:http://pan.baidu.com/share/link?shareid=3470703694&uk=3826187342

XSD 学习的更多相关文章

  1. [xsd学习]复合元素

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

  2. [xsd学习]xsd实例

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

  3. [xsd学习]xsd介绍

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

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

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

  5. [xsd学习]xsd基本要素

    一.xsd常用数据格式 xs:string xs:decimal xs:integer xs:boolean xs:date xs:time 二.简易元素 <xs:element name=&q ...

  6. JAXB常用注解讲解(超详细)

    简介: JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例 ...

  7. JAXB—Java类与XML文件之间转换

    JAXB-Java类与XML文件之间转换 简介         JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生 ...

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

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

  9. XML学习笔记5——XSD复杂数据类型

    和简单数据类型对应就是复杂数据类型了,XML元素的数据类型可以是简单数据类型,也可以是复杂数据类型,而XML属性的数据类型就只能是简单数据类型.这篇笔记,就来学习一下XSD中的复杂数据类型了. 1.定 ...

随机推荐

  1. Tensorflow 运行警告提示 Your CPU supports instructions that this TensorFlow binary was not compiled to use

    由于现在神经网络这个东西比较火,准确的说是深度学习这个东西比较火,我们实验室准备靠这个东西发几个CCF A类的文章,虽然我不太懂这东西,兴趣也一般都是毕竟要跟随主流的,于是今天安装起了 Tensorf ...

  2. JNative用法注意事项

    公司要做个跟设备打交道的web系统,需要java调用dll.搞java的同事说JNative看起来挺好使的,找俺帮忙调通.用的是1.3.1版本 环境设置. JNative的调试信息需要打开才能更清楚些 ...

  3. Hash学习小结

    Hash 简要说明 \(OI\)中一般采用进制\(hash\).模数可以用\(unsigned \ long \ long\)自然溢出,也可以使用大质数.值得一提的是,\(unsigned\ long ...

  4. 【angularJS】$Scope

    $Scope Scope(作用域)是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带,用来保存AngularJS Model(模型)的对象. Scope 是一个对象,有可用的 ...

  5. 开发中常见的ES6语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. iptables规则绑定在port而不是拦截在协议栈

    版权声明:本文为博主原创,无版权.未经博主同意能够任意转载,无需注明出处,任意改动或保持可作为原创! https://blog.csdn.net/dog250/article/details/2417 ...

  7. 什么是YARN

    YARN的核心组件: 1)ResourceManager,扮演Master角色(和HDFS的nameNode很像)主要用于资源分配:RM有两个子组件,分别是Scheduler(Capacity Sch ...

  8. bzoj2748(HAOI2018)音量调节

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2748 水得不想写.别忘了-1. #include<iostream> #incl ...

  9. (转)Tomcat迁移JBoss杂症—不识别及不能解析web.xml

    本文介绍了在将tomcat下的web工程迁移到jboss下面时遇到的问题 背景: Tomcat 7.0 JBoss AS 4.2.2 IED: Eclipse Java EE IDE for Web ...

  10. kotlin与fastjson的异常

    出现这个原因是因为kotlin的非空特性. 如果一个类中声明了一个字段(kotlin的特性,该字段默认是非空的), 使用fastjson进行转化的时候,如果json数据中没有该字段的数据,则会出现转换 ...