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. 转:php park、unpark、ord 函数使用方法(二进制流接口应用实例)

    在工作中,我也逐渐了解到park,unpark,ord对于二进制字节处理的强大. 下面我逐一介绍它们.     park,unpark,ord这3个函数,在我们工作中,用到它们的估计不多. 我在最近一 ...

  2. ios ZBar扫二维码奇奇怪怪的错误

    Undefined symbols for architecture armv7: "_CVPixelBufferGetHeight", referenced from: -[ZB ...

  3. PHP 常见语法 集合

    1.die()与exit()的真正区别 die 为 exit 的别名, 执行过程 将释放内存,停止代码执行 echo "begin exec <br/>"; show( ...

  4. 精确计算TFS中新增以及更改的代码行数

    <configuration> <configSections> <section name="LOCTargets" type="Cons ...

  5. c# C++接口封装 汽车模拟仿真

    struct PinCamParIn//用户输入的针孔相机参数结构体{    char CameraName[512];    float Offset[3];    float Angle[3];  ...

  6. HTML CSS——margin和padding的学习

    你在学习margin和padding的时候是不是懵了,——什么他娘的内边距,什么他娘的外边距.呵呵呵,刚开始我也有点不理解,后来通过查资料学习总算弄明白了,现在我来谈一下自己对margin和paddi ...

  7. CSS HACK 及常见问题

    一.CSS常用hack 1.方式一:条件注释法 这种方式是IE浏览器专有的Hack方式,微软官方推荐使用的hack方式.举例如下 只在IE下生效 <!--[if IE]> 这段文字只在IE ...

  8. C#基础总结之五Dictionary<string, string[]>和while循环

    #region 第五天作业 名片集(01) //Dictionary<string, string[]> PersonCard = new Dictionary<string, st ...

  9. tomcat6 使用comet衍生出的两个额外问题

    开发了一个轮询推送功能,网上也有很多文章讲这个就不说怎么做的了.现在发现两个问题: 一:就是登录进主页面后,由于浏览器在不停轮询,导致后端认为前端一直在操作,而正常设定的session超时就跳转到登录 ...

  10. 自动化基础普及之selenium是啥?

    Selenium 并不像QTP那样让人一下子就明白是什么?它是编程人员的最爱,但它却对测试新手产生了很大的阻碍. Selenium 是啥? Selenium RC是啥? Webdriver 又是啥? ...