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. [转载]在Vmware ESXI中安装群晖Synology DSM 5.0 (4528)

    转载 在Vmware ESXI中安装群晖Synology DSM 5.0 (4528) 文件准备 Vmware ESXi用户安装需要的文件 NB_x64_5032_DSM_50-4528_Xpenol ...

  2. [转]非OpenVZ下利用谷歌TCP-BBR协议单边加速你的VPS

    前段时间谷歌推出了新的 TCP-BBR 开源算法,可以起到单边加速 TCP 连接的效果,也就是不用客户端的配合,用来替代收费的锐速再合适不过,毕竟开源免费.TCP-BBR 的目的是要尽量跑满带宽,并且 ...

  3. WCF安全2-非对称加密

    概述: 数字签名和加密依赖于相应的加密算法 自变量:加密前的数据.密钥 因变量:加密后的数据 加密算法分类:根据加密和解密这两种步骤采用的密钥的是否相同进行分类 相同:对称加密 不相同:非对称加密 非 ...

  4. NOP登录验证管理

    截取Nop登录代码如下: 其实 public ActionResult Login(LoginModel model, string returnUrl, bool captchaValid) { / ...

  5. 简单的session共享的封装

    目的 session存储在缓存服务器上(各种缓存服务器上均可,本文以memcached为例),但对开发者来说,他不用关注,只需要调用request.getSession()方法即可获取到session ...

  6. 【Java】一次SpringMVC+ Mybatis 配置多数据源经历

    需求 现在在维护的是学校的一款信息服务APP的后台,最近要开发一些新功能,其中一个就是加入学校电影院的在线购票.在线购票实际上已经有一套系统了,但是是外包给别人开发的,我们拿不到代码只能拿到数据库,并 ...

  7. 谷歌联合 Adobe 发布 Noto 字体【免费下载】

    Noto 涵盖了世界上所有主要语言,包括欧洲,非洲,中东,印度语,南亚和东南亚,中亚,美洲和东亚语言.也支持几个少数民族和历史语言.不久前,还发布了针对文.日文.韩文的开源字体——Noto Sans ...

  8. HTML简明教程(二)

    HTML简明教程(二) 一.HTML 图像 二.HTML 表格 三.HTML 列表 四.HTML div和 span 五.HTML 布局 六.HTML 表单和输入 七.HTML 框架 八.HTML内联 ...

  9. 【转】sql server开启全文索引方法

    利用系统存储过程创建全文索引的具体步骤: 1) 启动数据库的全文处理功能 (sp_fulltext_database) 2) 建立全文目录 (sp_fulltext_catalog) 3) 在全文目录 ...

  10. JavaScript 面向对象继承详解

    题记 由于js不像java那样是完全面向对象的语言,js是基于对象的,它没有类的概念.所以,要想实现继承,一般都是基于原型链的方式: 一.继承初探 大多数JavaScript的实现用 __proto_ ...