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. UNIX环境高级编程笔记之进程环境

    本章讲的都是一些非常基础的知识,目的是为了下一章讲进程控制做铺垫,所以,本章就不做过多的总结了,直接看图吧.

  2. POJ 1308 Is It A Tree?

    Is It A Tree? Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18778   Accepted: 6395 De ...

  3. 当您尝试从 64 位 SQL Server 客户端上运行分布式的查询到链接的 32 位 SQL Server 时,您可能会收到一条错误消息

    如何处理64位SQL访问32位SQL执行脚本语句问题 链接服务器"SERVER_YBJK"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 &qu ...

  4. CG

    //设置线的宽度 CGContextSetLineWidth(ctx, 12); //设置线的连接处 (拐点) CGContextSetLineJoin(ctx, kCGLineJoinRound ) ...

  5. MyBatis知多少(9)不同类型的数据库

    并非所有的数据库都如此复杂,需要使用昂贵的数据库管理系统以及企业级的硬件.一些数 据库其实非常小,足以运行在一台老式的PC机上.所有的数据库都是不一样的.它们有各自不 同的需求和不同的挑战.iBATI ...

  6. [Python] Search navigation in Pycharm

    From: http://blog.csdn.net/u013088062/article/details/50323393 From: http://blog.csdn.net/u013088062 ...

  7. Linux shell tee指令学习

    转载自:http://blog.163.com/xujian900308@126/blog/static/12690761520129911304568/   tee tee:读取标准输入的数据,并将 ...

  8. 利用栈实现算术表达式求值(Java语言描述)

    利用栈实现算术表达式求值(Java语言描述) 算术表达式求值是栈的典型应用,自己写栈,实现Java栈算术表达式求值,涉及栈,编译原理方面的知识.声明:部分代码参考自茫茫大海的专栏. 链栈的实现: pa ...

  9. C中extern的用法

    /*********************************************************************** INPUT3.C -- Input data pars ...

  10. 前端比较好的学习资料(包括js和css)以及 最全前端资源汇集

    js详细资料: http://javascript.ruanyifeng.com/ 『引』最全前端资源汇集: 来源:http://www.jeffjade.com/2016/03/30/104-fro ...