schema约束

  dtd语法:<!ELEMENT 元素名称 约束>

schema符合xml的语法,xml语句

一个xml中可以有多个schema,多个schema用名称空间区分(类似java包名)

dtd里面有PCDATA类型,但是在schema里面可以支持更多的数据类型

比如年龄只能是整数,在schema里面可以直接定义一个整数类型

schema语法更加复杂,目前不能代替dtd

快速入门

*创建一个schema文件(后缀名一般为.xsd)

根节点为<schema>

**在schema文件里面

属性:xmlns="http://www.w3.org/2001/XMLSchema"//表示当前xml文件是一个约束文件

targetNamespace="http://www.zyf.cn/20191111"//使用schema约束文件,直接通过这个地址引入约束文件
elementFormDefault="qualified"//表示元素质量良好

(1)看xml中有多少个元素

<element>

(2)看是简单元素还是复杂元素

 <element name="person">
<complexType>
<sequence>
<element name="name" type="string"></element>
<element name="age" type="int"></element>
</sequence>
</complexType>
</element>

(3)在被约束的文件中引入约束文件

<person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"//其中instance表明这是一个被约束的xml
xmlns="http://www.itcast.cn/20151111"//这与约束文件中的targetNamespace相同
xsi:schemaLocation="http://www.itcast.cn/20151111 2.xsd">//targetNamespace+空格+约束文件路径

xml(4)的更多相关文章

  1. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  2. .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?

    物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...

  3. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  4. XML技术之DOM4J解析器

    由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...

  5. UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)

    最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...

  6. PHP中遍历XML之SimpleXML

    简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...

  7. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  8. Mybatis XML配置

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  9. Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  10. C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”

    Q: 在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常. 即在 XML文档(0, 0)中有一个错误:缺少根元素. A: 首先看下代码: StringBuilder sb = new Stri ...

随机推荐

  1. 详解 LinkedHashMap

    同学们可能在看到这个类的时候就明白了很多关于这个类的特点,那么,本人就在这里来啰嗦一下,再来介绍下这个类: (有关Map集合的基本性质,请观看本人博文-- <详解 Map集合>) Link ...

  2. JDBC 工具类封装

    每次使用jdbc 我们都要 加载驱动类 创建链接 创建Statement 接口对象执行sql 关闭资源 按照这样的套路可以封装一些重用代码方便在其他方法中调用 package com.xzlf.jdb ...

  3. 单线程下实现IO切换

    1.Greenlet greenlet可以实现两个任务之间的来回切换,但遇到IO会阻塞,不会切(使用这个模块之前需要在电脑命令提示符中输入 pip3 install greenlet 进行安装) 例如 ...

  4. 学Python的你必须要知道,这十个Python常用库

    想知道Python取得如此巨大成功的原因吗?只要看看Python提供的大量库就知道了 包括原生库和第三方库. 不过,有这么多Python库,有些库得不到应有的关注也就不足为奇了. 此外,只在一个领域里 ...

  5. Android--sos闪光灯

    Camera camera = null; Parameters parameters = null; Handler handler = new Handler() { @Override publ ...

  6. PHPSTORM快捷键On Mac

    Command+Shift+O快捷定位文件,需要输入文件名称 Command+鼠标左键点击方法,快捷转到方法实现 Command+Option+方向左键,快捷返回上一步跳转方法之前 Shift+F6统 ...

  7. HTTP 1.1, 返回值100.

    HTTP 1.1支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,否则返回401.客户端如果接受到100,才开始把请求body发送到服务器. 这样 ...

  8. vs code 打开文件时,取消文件目录的自动定位跟踪

    文件-->首选项-->设置-->在搜索栏中搜索:explorer.autoReveal;    去掉勾选即可.

  9. 【集群实战】NFS网络文件共享服务2-mount挂载(参数,优化)

    1. NFS客户端挂载深入 1.1 NFS客户端挂载参数说明 在NFS服务端,可以通过cat /var/lib/nfs/etab查看NFS服务器端配置参数的细节. 在NFS客户端,可以通过cat /p ...

  10. Python封装应用程序的最佳项目结构是什么?

    Python封装应用程序的最佳项目结构是什么? 转载来源于stackoverflow:https://stackoverflow.com/questions/193161/what-is-the-be ...