本片博文是从http://blog.csdn.net/csh624366188的博客转载过来的。因为我现在也学XML,学习便Copy过来了。XMLSchema是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式。XMLSchema规定XML文档实例的结构和每个元素/属性的数据类型。
为什么要用Schema
DTD的局限性
1.DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)
2.DTD数据类型有限(与数据库数据类型不一致)
3.DTD不可扩展
4.DTD不支持命名空间(命名冲突)
.Schema的新特性
1.Schema基于XML语法
2.Schema可以用能处理XML文档的工具处理
3.Schema大大扩充了数据类型,可以自定义数据类型
4.Schema支持元素的继承—Object-Oriented’
5.Schema支持属性组
一:Schema基础知识
1.Schema(模式):其作用与dtd一样,也是用于验证XML文档的有效性,只不过它提供了比dtd更强大的功能和更细粒度的数据类型,另外Schema还可以自定义数据类型。此外,Schema也是一个XML文件,而dtd则不是。
2.所有的schema文档,其根元素必须为schema。
3.Schema的文档结构
4.schema的数据类型
1.基本类型
2.扩展数据类型
3.数据类型的特性
二:schema的元素类型
1.schema元素:
作用:包含已经定义的schema
用法:<xs:schema>
•属性
–xmlns–targetNamespace
2.element元素作用:声明一个元素
属性:–name–type–ref–minOccurs–maxOccurs
–substitutionGroup–fixed–default
示例:
3.group元素
作用:把一组元素声明组合在一起,以便它们能够一起被复合类型应用
•属性:name/ref
示例:
4.attribute元素
作用:声明一个属性
•属性:name/type/ref/use
•示例:
5.attributeGroup元素
作用:把一组属性声明组合在一起,以便可以被复合类型应用
.属性:name/ref
.示例:
6.simpleType元素
作用:定义一个简单类型,它决定了元素和属性值的约束和相关信息
.属性:name
.内容:应用已经存在的简单类型,三种方式:
–restrict→限定一个范围
–list→从列表中选择
–union→包含一个值的结合
1.子元素为:<xs:restriction>定义一个约束条件
2.子元素为:<xs:list>从一个特定数据类型的集合中选择定义一个简单类型元素
3.子元素为:<xs:union>从一个特定简单数据类型的集合中选择定义一个简单类型元素
示例:<xs:simpleTypename="roadbikesize">
7.complexTyep类型
作用:定义一个复合类型,它决定了一组元素和属性值的约束和相关信息
•属性:name
•示例:
simpleType元素和complexTyep类型的区别(重要)
simpleType类型的元素中不能包含元素或者属性。
•当需要声明一个元素的子元素和/或属性时,用complexType;
•当需要基于内置的基本数据类型定义一个新的数据类型时,用simpleType。
8.simplecontent元素
作用:应用于complexType,对它的内容进行约束和扩展
9.choice元素
作用:允许唯一的一个元素从一个组中被选择
.属性:minOccurs/maxOccurs
10.sequence元素
作用:给一组元素一个特定的序列
Schema总结:
Schema是另一种文档类型定义,它遵循XML的语言规范。
.Schema是可扩展的,支持命名空间;
.Schema支持更多的数据类型与元素类型;
.Schema用element声明元素,用attribute声明元素的属性;
.Schema用simpleType定义简单类型,用complexType定义复杂类型。
分享到:
相关推荐
java中实现xmlschema验证文件借鉴.pdf
NULL 博文链接:https://fhqiwcw.iteye.com/blog/1696624
C#源码, 通过Schema验证XML文件格式是否正确
xerces-c++ 2.8应用,主要报错xml文件的解析,创建,修改保存。schema验证的。希望对初学者有所帮助.
xml Schema 例子(C#写的验证程序)QQ:292258449
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
ava校验XML是件很扯淡的事情,因为Sun的XML相关软件包会令你云里雾里。 W3C这块的XML相关的规范相当的多,这也是导致XML处理器起来费劲的主要原因。要想精通这些规范和相关的API,实在是异想天开(新的规范在不停...
java中实现xmlschema验证文件参照.pdf
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
分析XML文档结构特点,以及XML Schema的基本规则,结合自动机理论,探讨基于XML Schema的表示方法以及对XML进行模式验证的实现方法。
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
提供xml文件实例到xmlschema的转换
[实验目的]: 1、掌握使用XMLSpy软件创建DTD和Schema文档 2、掌握在XML文档如何引入DTD和Schema,并验证有效 3、掌握DTD中声明元素、属性的方法 4、掌握Schema中声明元素,属性,类型的方法
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...
可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML...
在知识的讲解上,《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书...
xmlschema:适用于Python的XML模式验证器和数据转换库
xml验证,以及动态部署的例子 博文链接:https://aga.iteye.com/blog/201934
-v=xxx,Schema验证,xxx可以是:always,never或auto。默认情况下xxx=auto,如果DOCTYPE声明或schema声明出现在XML文档中,将进行验证:xxx=always,强制进行验证:xxx=never,不使用验证。 -n,允许处理名字空间。...
1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...