[xsd学习]xsd介绍

  一直以来项目中对xml格式的判断使用的都是dtd格式,直到最近才发现,不知何时都已经转为xsd来进行判断和校验,于是今天专门找资料看下,不得不说,对于这类资料的入门,w3cschool真是个不错的资料库,许多东西在上边直接可以找到资料。

  xsd作为dtd的替代者,主要是因为如下原因:

    • XML Schema 可针对未来的需求进行扩展
    • XML Schema 更完善,功能更强大
    • XML Schema 基于 XML 编写
    • XML Schema 支持数据类型
    • XML Schema 支持命名空间

  不得不说,在这里的概念在我们了解具体情况之前都是没作用的,只能随着之后的进一步了解来进行体验。

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified"><xs:element name="note">
  <!--表示根节点为note-->
<xs:complexType><xs:sequence><xs:element name="to" type="xs:string"/><xs:element name="from" type="xs:string"/><xs:element name="heading" type="xs:string"/><xs:element name="body" type="xs:string"/>
    <!--表示note节点中有四个元素,格式全为字符串-->
</xs:sequence></xs:complexType> </xs:element> </xs:schema>

以上为最简单的xsd格式,主要用于定义主节点和节点内的子节点,对应的xml文件为:

<?xml version="1.0"?>
<note
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd"><to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
View Code

而对应的此xml文件的dtd校验文件格式为:

<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

从以上文件看出,xsd格式书写更为复杂,层次更多,但是支持更多的数据类型,可以直接指定为字符串。

 

转载于:https://www.cnblogs.com/jyyzzjl/p/4477928.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教学目标四个维度_【深度好文】体育教案中的教学目标与学习目标应如何表述...

体育教师大本营教学/训练/职业/成长强 烈 建 议 大 家 星 标 我 们教 学 路 上 ☆ 不 离 不 弃在以往看到的体育课的教案上&#xff0c;目标部分不是用教学目标就是用学习目标来表述&#xff0c;然而&#xff0c;这两种目标表达形式有没有本质区别&#xff1f;分别该如何表述…

java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常

异常处理是java语言的重要特性之一&#xff0c;《Three Rules for effective Exception Handling》一文中是这么解释的&#xff1a;它主要帮助我们在debug的过程中解决下面的三个问题。什么出错了哪里出错了为什么出错java语言可以说是提供了过于完善的异常处理机制&#xff0c…

why I need a flow learn note.

1.其实学网站学安卓也写了txt的学习笔记。然后扔着&#xff0c;&#xff08;没有时间线和互动性&#xff09;&#xff0c;然后就没有然后了。 2.知识体系&#xff0c;一个月后&#xff0c;哎呦我擦&#xff0c;我会啥来着&#xff08;搞了这么久&#xff0c;深有体会&#xff0…

nodejs readfilesync 路径_Linux 磁盘多路径聚合multipath

在日常工作中我们经常遇到配置存储的多路径聚合。多路径的目的是&#xff0c;当主机HBA卡、线缆、交换机或者存储设备的控制器故障等原因造成一条物理路径失效时,服务器可以将通过此物理路径的I/O转移到其他正常的物理路径上面,应用程序不会觉察到这种改变&#xff0c;从而提高…

php考勤分析,php考勤系统

【实例简介】自己写的php学生考勤系统&#xff0c;包括开题报告&#xff0c;结题报告&#xff0c;mysql数据库【实例截图】【核心代码】PHPkaoqinsystem└── PHP考勤系统├── database│ └── kaoqin.sql├── kaoqin│ ├── addrd.php│ ├── addstd.php│ …

遥 控 器

acm.zznu.edu.cn/problem.php?id1617 遥 控 器 时间限制: 1 Sec 内存限制: 128 MB提交: 25 解决: 9[提交][状态]题目描述 Dr.Kong 有一台高级电视机&#xff0c;这台电视机可以接受100个频道&#xff08;从0到99编号&#xff09;。电视的配套遥控器有13个按钮&#xff1a; 1…

php7与golang,golang 调用 php7

执行php文件func Test_exec(t *testing.T) {engine.Initialize()ctx : &engine.Context{Output: os.Stdout,}err : engine.RequestStartup(ctx)if err ! nil {fmt.Println(err)}defer engine.RequestShutdown(ctx)err ctx.Exec("/tmp/index.php")if err ! nil {…

u 20ubuntu 安装 postfix_极力推荐和田咨询问题U型钢托盘厂家

12极力推荐和田咨询问题U型钢托盘厂家泊头市毅伽属制品有限公司坐落于河北省泊头市龙华街北4公里&#xff0c;濒临京沪、石黄高速公路以及104、307国道&#xff0c;另有廊泊路贯穿南北交通十分便利。本公司设计生产各种冷弯型钢&#xff0c;产品包括C型钢、Z型钢、U型钢、M型钢…

HTML5中lineCap端点样式遇到closePath()

定义和用法 lineCap 属性设置或返回线条末端线帽的样式。 注释&#xff1a;"round" 和 "square" 会使线条略微变长。 默认值&#xff1a;buttJavaScript 语法&#xff1a;context.lineCap"butt|round|square";属性值 值描述butt默认。向线条的每…

php鼠标悬停显示图片,鼠标滑过出现预览的大图提示效果

当鼠标滑过图片时&#xff0c;图片会出现预览的大图&#xff0c;大图下面还会有介绍文字。.aa{width:88px;height :100px;}$(function () {var x 10;var y 20;$("a.tooltip").mouseover(function (e) {this.myTitle this.title;this.title "";var imgT…

405 not allowed什么意思_二驴质问散打:为什么不救天道!面临一个亿赔款?次惑小仙女宣布与可乐分手!...

次惑小仙女发作品表示&#xff1a;对不起让你们失望了&#xff0c;慢慢也学着长大了,懂得了很多,以前每天就知道天真傻笑的玩,后来懂得了努力和加油,但是很多东西并不是大家看到的那样背后的事情谁又能知道。都认为他对我很好&#xff0c;只有自己知道&#xff0c;呵呵。有些时…

阿里面试

阿里面试 转载于:https://www.cnblogs.com/chen310/p/4492243.html

matlab提示output,强制Matlab输出到命令行(Force Matlab output to command line)

强制Matlab输出到命令行(Force Matlab output to command line)我正在从Windows命令提示符运行MATLAB脚本&#xff1a;"C:\Program Files\MATLAB\R2014B\bin\matlab" -nodisplay -nosplash -nodesktop -wait -r "test.m"test.m很简单&#xff1a;function …

hdu.1254.推箱子(bfs + 优先队列)

推箱子 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6021 Accepted Submission(s): 1718 Problem Description推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运…

ae合成设置快捷键_怎么在ae中剪切视频?怎么在ae里裁剪视频?

ae剪切裁剪视频教程&#xff1a;零基础学AE软件影视后期必修课程-AE新建合成-羽兔网​www.yutu.cn1、启动After Effects并导入视频第一个任务是打开一个新项目&#xff0c;并将视频加载到其中。首先从主菜单中选择新的构图。然后打开构图菜单&#xff0c;选择所需的分辨率等&am…

php js获取元素id,javascript通过中文id和class获取元素的方法

以前以为html元素中的id和class等只能通过字母数字或者下划线等特殊字符命名&#xff0c;如果单存使用中文浏览器不会报错&#xff0c;但是js是获取不到的&#xff0c;但是今天逛论坛的时候发现不是这样的。代码如下&#xff1a;运行结果&#xff1a;论坛来源是这个&#xff1a…

java漂亮界面编程_计算机二级之JAVA篇

JavaJava是一门面向对象编程语言&#xff0c;不仅吸收了C语言的各种优点&#xff0c;还摒弃了C里难以理解的多继承、指针等概念&#xff0c;因此Java语言具有功能强大和简单易用两个特征。深受程序员们的追捧&#xff0c;据TIBOE2020年最新统计&#xff1a;Java使用人数大涨&am…

idea 设置java栈空间,如何为Intellij编译器提供更多堆空间?

当我创建一个Intellij项目时&#xff0c;我不断收到以下内存错误。我已经在idea.vmoptions中增加了我的堆大小&#xff1a;-Xms128m-Xmx2048m-XX:MaxPermSize1024m-XX:ReservedCodeCacheSize64m-ea但我仍然得到这个错误&#xff1a;Information:The system is out of resources…

Java for LeetCode 042 Trapping Rain Water

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. For example, Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6. 解题思路&#xff1a; 先找到第一块最高的木板&…

delphi random 六位_《蒙面唱将猜猜猜》第五季将播,六位唱将率先登场

原标题&#xff1a;《蒙面唱将猜猜猜》第五季将播&#xff0c;六位唱将率先登场新京报讯(记者 刘玮)《蒙面唱将猜猜猜》第五季将于11月1日21&#xff1a;10在江苏卫视首播&#xff0c;优酷视频全网独播。第五季中&#xff0c;猜评团不仅“觊觎”各路唱将的真实身份&#xff0c;…