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. linux下端口被占用

    1.查看端口 netstat -ano 参数含义: -a, --all  显示监听或非监听状态的接口 Show  both listening and non-listening (for TCP t ...

  2. ASP.NET网站发布时的那些坑

    开发工具:VS2010,MVC4.0,SQLSERVER2008 服务器:Windows server 2012,IIS8,SQLSERVER2012 一.发布后,每个页面第一次打开都很卡,50秒或更 ...

  3. Floyd's Cycle Detection Algorithm

    Floyd's Cycle Detection Algorithm http://www.siafoo.net/algorithm/10 改进版: http://www.siafoo.net/algo ...

  4. matlab 相关系数的计算

    1. 首先说说自相关和互相关的概念.     这 个是信号分析里的概念,他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度,即互相关函数是描述随机信号 x(t),y ...

  5. erl_0016 《硝烟中的erlang》 读书笔记003 “error_logger 爆炸”

    error_logger 爆炸 具有讽刺意味的是,负责错误日志的进程竟然是最为脆弱的之一.在Erlang的缺省安装中,error_logger39负责记录日志(写入磁盘或者发送到网络上),它的速度要比 ...

  6. CodeForces - 321E:Ciel and Gondolas (四边形不等式优化DP)

    题意:N个人排成一行,分成K组,要求每组的不和谐值之和最小. 思路:开始以为是斜率优化DP,但是每个区间的值其实已经知道了,即是没有和下标有关的未知数了,所以没必要用斜率. 四边形优化. dp[i][ ...

  7. MySQL中大数字加减,不产生千位符和科学计数

    mysql数字加减科学计数法 这两天因为需求,需要获取一张表的流水号.规则是这样的.当前日期+8位流水号.比如:2015062400000001,2015062400000002,2015062400 ...

  8. [UOJ310][UNR #2]黎明前的巧克力

    uoj description 给你\(n\)个数,求从中选出两个交集为空的非空集合异或和相等的方案数模\(998244353\). sol 其实也就是选出一个集合满足异或和为\(0\),然后把它分成 ...

  9. matlab调用c程序(转载)

    通过把耗时长的函数用c语言实现,并编译成mex函数可以加快执行速度. Matlab本身是不带c语言的编译器的,所以要求你的机器上已经安装有VC,BC或Watcom C中的一种. 如果你在安装Matla ...

  10. LG1402 酒店之王

    题意 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的房间色调.阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜. 有 ...