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. 【javascript】如何延迟加载JavaScript(Google推荐的代码)

    下面是Google推荐的代码.这些代码应被放置在</body>标签前(接近HTML文件底部)<script type="text/javascript">f ...

  2. discuz数据库迁移,改密码后,相关配置文件修改

    网上看到这篇文章,觉得有用就收藏下 网站系统需要修改的位置有两处 Discuz 和 UC-center ①路径:/wwwroot/config/config_global.php 这个根据你网站安装的 ...

  3. 用eclipse打包可执行的jar(含第三方jar包)

    在eclipse中的解决方式如下: 在工程目录下(与src同层)建立lib目录,将第三方Jar包放到这个目录里(copy,paste即可)[如果直接引用本地的jar,一旦换电脑就呵呵了...] 右击工 ...

  4. 使用python处理selenium中的xpath定位元素的模糊匹配问题

    # 用contains,寻找页面中style属性值包含有sp.gif这个关键字的所有div元素,其中@后面可以跟该元素任意的属性名. self.driver.find_element_by_xpath ...

  5. ubnut16.4 下 设置静态ip

    一.编辑interfaces sudo vi /etc/network/interface ### i 键进入编辑 二.编辑该文件 auto loiface lo inet loopbackauto ...

  6. win32 去掉窗口边框

    参考:http://www.blitzbasic.com/Community/posts.php?topic=67222 Strict Graphics 320, 200 SetClsColor 0, ...

  7. 记一次 FastAdmin CMS 内容提示空的问题

    记一次 FastAdmin CMS 内容提示空的问题 有小伙伴反馈 FastAdmin CMS 安装后出现内容有文字,但提示错误 的问题. 我在本地重新安装测试并没有发现这个问题,一切正常,编辑器也可 ...

  8. Android Java访问本地方法(JNI)

    当功能需要本地代码实现的时候,Java 代码就需要调用本地代码. 在调用本地代码时,首先要保证本地代码被加载到 Java 执行环境中并与 Java 代码连接在一起,这样 Java 代码在调用本地方法时 ...

  9. NumberUtils、ArrayUtils和RandomUtils工具类用法

    一.NumberUtils工具类 /*1.NumberUtils.isNumber():判断字符串是否是数字*/ NumberUtils.isNumber("5.96");//结果 ...

  10. python接口自动化19-requests-toolbelt处理multipart/form-data

    requests-toolbelt 1.官方文档地址:requests-toolbelt官方文档 2.环境安装 pip install requests-toolbelt multipart/form ...