XML Schema也是一种用于定义和描述XML文档结构与内容的模式语言,其出现是为了克服DTD的局限性
  XML Schema符合XML语法结构
  DOM、SAX等XML API很容易解析出XML Schema文档中的内容
  一个XML中个可以有多个schema,多个Schema使用名称空间(类似于Java的包名)进行区分
  XML Schema比XML DTD支持更多的数据类型,并支持用户自定义新的数据类型
  XML Schema定义约束的能力非常强大,可以对XML实例文档做出细致的语义限制
  XML Schema不能像DTD一样定义实体,比DTD更复杂,但XML Schema现在已经是w3c组织的标准,正逐步取代DTD
后缀名为:*.xsd,必须有一个<schema>根节点
  属性
    xmlns="http://www.w3.org/2001/XMLSchema"
      表示当前xml文件是一个约束文件
    targetNamespace="http://www.waykw.com/20160214"
      使用schema约束文件,直接通过这个地址引入约束文件
    elementFormDefault="qualified"
  语法
    (1)有多少个元素就写多少个<element name="元素名"></element>
    (2)元素是复杂的还是简单的
      复杂元素:
        <complexType>
          <sequence>
            子元素
          </sequence>
        </complexType>
      简单元素写在复杂元素中:

 <complexType>
<sequence>
<element name="name" type="string"></element>
<element name="age" type="int"></element>
</sequence>
</complexType>
        All:表示只能出现一次
        Choice:只能出现其中的一个
        Sequence:元素按照顺序出现
        maxOccurs="unbounded":表示出现次数没有限制
 <sequence>
<element name="name" type="string"maxOccurs="unbounded"></element>
</sequence>
        <any></any>:表示任意元素
        定义属性(必须是复杂元素)
          写在</complexType>之前
          <attribute name="p1" type="string" use="required"></attribute>
            name:属性名
            type:属性值类型
            use:属性约束,optional可选,required必须
    (3)在xml中的根元素加入属性
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 在末尾加入-instance
        表示xml是一个被约束文件
      xmlns="tartgetNamespace"
        schema约束文档中的targetNamespace
      xsi:schemaLocation="tartgetNamespace schema文件路径"
        schema约束文档的位置
    (4)引入多个schema文件,可以给每个约束取一个别名
      xmlns:别名="schema文件路径"
      这样使用另一个schema文件中的约束时就使用<别名:元素名></别名:元素名>

XML的约束(schema)的更多相关文章

  1. XML(二)之DTD——XML文件约束

    前面介绍了XML的作用和基本的格式,今天我给大家分享的是关于XML的约束.废话不多说,我们直接来正题! 一.DTD简介 1.1.DTD概述 DTD(Document Type Definition,文 ...

  2. XML文件定义约束

    今天在做Android项目的时候,用到了XML解析,服务端返回的不是JSON,而是XML,这时候就需要我们解析XML了,当然在解析XML的时候,需要了XML文件的定义结构,任何一个文件的定义都是要遵循 ...

  3. [讨论] Window XP 安装msxml6后,load xml时提示schema验证失败

    现象:在windows XP x64下,使用用户安装的msxml6库加载xml文件时失败. 进一步说明: 该xml文档使用了W3C的名称空间 xmlns:xsi= "http://www.w ...

  4. xml文件的schema也是经过jdk编译器编译的,如果xsd没引入完整,而xml中又用到了这些标签,就会编译不通过啊。

    1.xml文件的schema也是经过jdk编译器编译的,如果xsd没引入完整,而xml中又用到了这些标签,就会编译不通过啊. 2.java编译器会下载xsd的指定链接文件,加在代码里,一起编译

  5. XML约束——Schema约束

    XML Schema 也是一种用于定义和描述 XML 文档结构与内容的模式语言,其出现是为了克服 DTD 的局限性 XML Schema VS DTD: •XML Schema符合XML语法结构. • ...

  6. XML DTD跟SCHEMA约束 语法了解

    dtd语法 元素: <!Element 元素名称 数据类型|包含内容> 数据类型: #PCDATA:普通文本 使用的时候一般用()引起来 包含内容: 该元素下可以出现哪些元素, 用()引起 ...

  7. 【javaweb学习】XML和约束模式

    xml:可扩展标记语言,w3c组织发布的,用于保存有关系的数据,作为配置文件,描述程序模块之间的关系 <?xml version="1.0" encoding="g ...

  8. xml 引入约束文件

    <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ...

  9. 【Javaweb学习笔记】XML和约束模式

    一.XML语法 xml 可扩展标记语言,w3c组织发布的,用于保存有关系的数据,作为配置文件,描述程序模块之间的关系 xml 文件开头必须包括下面的标签: <?xml version=" ...

随机推荐

  1. uniGUI试用笔记(十四)TUniTreeView的CheckBox

    TUniTreeView目前版本没有封装CheckBox功能,所以需要手工处理,幸好0.99版提供部分代码了,修改过程如下: 1.uniGUIAbstractClasses.pas单元中修改基类TUn ...

  2. MySQL降权:MySQL以Guests帐户启动设置方法

    MySQL安装到Windows上,默认是以SYSTEM权限运行,如下图: SYSTEM是超级管理员.不是必须,不推荐用此权限运行任何程序. 本文将演示如何在GUEST帐户下运行MySQL. 第一步:建 ...

  3. MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API(转)

    转自:http://www.cnblogs.com/Yahong111/archive/2007/08/16/857574.html 续上文[翻译]MSIL 教程(一) ,本文继续讲解数组.分支.循环 ...

  4. 2012年中国科学技术信息研究所发布自然科学SCI(E)论文期刊分区列表

    分区 期刊名称 ISSN 学科名称 学科名称(中文) 总被引频次 影响因子 5年影响因子 即年影响因子 被引半衰期 特征因子 论文影响指标 1区 ACM COMPUT SURV 0360-0300 C ...

  5. 十、EnterpriseFrameWork框架的分层架构及意义(控制器、业务对象、实体、Dao之间关系)

    本章内容主要包括两个方面,一.是框架分层(控制器.业务对象.实体.Dao)的详细说明,二.是对比常用三层结构的区别和优势: 本文要点: 1.框架中的各个分层详细说明 2.对比常用三层结构的区别和优势 ...

  6. D3D11中的MSAA

    这两年我的工作都转到了D3D11,目前新出硬件几乎全部支持此标准,加上D3D11接口清晰,概念直观,等到windows7普及,想必未来都是D3D11的天下.最近时间较空,我陆续开始写些基础文章,希望对 ...

  7. 【原创】14. MYSQL++之SSQLS(原理解析)

    从之前所介绍的SSQLS的介绍中我们可以感受到,SSQLS的精髓应该在sql_create_#这个宏,他所创建出来的这个结构体将会是突破的关键,所以我将会从以下顺序入手. 1. sql_create_ ...

  8. AC_Dream 1216 G - Beautiful People

    题意:有n个人每人有一个力气值Si,美丽值Bi,满足Bi>Bj&&Si>Sj 或者 Bi<Bj&&Si<Sj 的人可以一起参见晚会,问最多有多少 ...

  9. codeforce A. Design Tutorial: Learn from Math

    题意:将一个数拆成两个合数的和, 输出这两个数!(这道题做的真是TMD水啊)开始的时候不知道composite numbers是啥意思,看了3遍才看懂.... 看懂之后又想用素数筛选法来做,后来决定单 ...

  10. 潮流设计:15个创意的 3D 字体版式作品欣赏

    3D字体设计是真的很棒,它最适用于广告.使用3D文字和不同的惊人效果,例如灯光或纹理带来了很多东西.在版式设计中,最重要的是消息.如果它抓住了用户的注意力,设计工作是在正确的轨道上. 您可能感兴趣的相 ...