`
mixer_a
  • 浏览: 361995 次
社区版块
存档分类
最新评论

XML之Schema验证

 
阅读更多

本片博文是从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支持更多的数据类型与元素类型;

.Schemaelement声明元素,用attribute声明元素的属性;

.SchemasimpleType定义简单类型,用complexType定义复杂类型。

分享到:
评论

相关推荐

    c# XML 验证器 Schema验证XML

    标题"XML 验证器 - C#中的Schema验证XML"着重强调了使用C#来验证XML文档是否符合预定义的XML Schema。XML Schema是W3C标准,用于定义XML文档的结构和数据类型,确保数据的一致性和准确性。 描述中提到的"博文链接:...

    通过Schema验证XML格式是否正确

    5. **XmlSchema类**:该类用于加载和处理XML Schema文件,可以创建一个XmlSchema对象来读取XSD文件,并构建出XML文档必须遵循的结构模型。 6. **XmlDocument类**:此类代表XML文档,提供加载XML数据、验证文档以及...

    根据xml schema生成xml

    &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt; &lt;/xs:schema&gt; ``` 这个例子定义了一个`person`元素,包含`firstName`和`lastName`两个子元素,都是字符串类型。 2. **验证XML文档**:...

    XML与XMLSchema

    【XML与XMLSchema】 XML,全称可扩展标记语言(eXtensible Markup Language),是一种基于标准通用标记语言SGML的简化版本,由万维网联盟(W3C)于1996年开始制定,并在1998年2月10日发布了XML 1.0规范。它的设计...

    XML文件XML Schema.docXML Schema.doc

    在Java中,XML Schema的验证可以使用javax.xml.validation包,提供了独立于模式语言的验证服务接口。该包提供了三个类来验证文档:SchemaFactory、Schema和Validator。 在实际应用中,XML Schema可以用于: 1. ...

    XSD根据xml生成schema文件

    通过学习和实践,你可以熟练地根据XML文件生成XSD schema,从而更有效地管理和维护你的XML数据。这是一项基础但至关重要的IT技能,对于处理XML相关的项目和任务至关重要。同时,不断更新和优化XSD文件,以适应业务...

    理解XML Schema XML Schema进阶

    XML Schema是目前国际标准的XML建模工具,本文将对XML Schema进行详细的介绍,帮助读者初步掌握XML Schema的使用方法和XML Schema文档实例的具体语义。 1. 命名空间的使用 XML Schema中命名空间的使用是非常重要的...

    xml Schema 例子(C#写的验证程序)

    1. **XmlSchema**: 这是XML Schema的根对象,用于表示整个XML Schema文档。 2. **XmlSchemaSet**: 用于存储和加载多个XML Schema,并进行验证。可以使用Add方法添加新的XML Schema。 3. **XmlSchemaValidator**: ...

    XmlSchema-1.4.6.jar

    `XmlSchema-1.4.6.jar` 提供了处理这些XML Schema的API,使得客户端能够理解并正确地构建和验证与服务通信所需的XML消息。 在描述中提到,虽然这个包没有直接在客户端类中被引用,但它对于项目的运行至关重要。这...

    java中实现xmlschema验证文件借鉴.pdf

    在处理XML数据时,进行XML Schema验证是至关重要的步骤,它可以帮助开发者检测并防止不合法的数据输入。 在提供的代码片段中,可以看到一个简单的Java程序,用于验证XML文档是否符合预先定义的XSD规范。以下是程序...

    XML Schema教程

    - **在应用程序中使用 XML Schema**:XML Schema 可以用于验证 XML 数据的有效性,确保其符合预期的结构和格式要求。 #### 四、XML Schema 标准 - **XML Schema 是 W3C 标准**:XML Schema 在 2001 年成为了万维网...

    XML的schema部分代码

    XML解析器可以根据XML Schema进行验证,如果XML文档不符合Schema定义,解析器会报告错误。 在开发过程中,XML Schema可以作为设计阶段的工具,帮助设计者规划XML数据的结构,同时也可以作为开发阶段的检验工具,...

    XMLSchema经典例题

    在“XMLSchema经典例题”中,我们可以深入探讨以下几个核心知识点: 1. **基本元素和类型定义**:XML Schema允许定义基本数据类型,如字符串、整数、浮点数等,并且可以自定义复杂的数据类型。例如,你可以创建一个...

    xmlschema-core-2.0.3的jar

    `xmlschema-core-2.0.3.jar` 提供了处理这些XSD文件的API,使得Spring能够验证发送到服务的请求和从服务返回的响应是否符合预定义的XSD规范。 这个库提供了以下主要功能: 1. **解析和编译XSD文档**:它可以解析...

    xml dom,sax解析,schema验证

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,广泛应用于软件开发、Web...对于初学者,理解DOM和SAX解析的原理,以及如何使用Xerces-C++进行XML Schema验证,是深入学习XML技术的关键步骤。

    XmlSchema-1.4.7.jar

    XmlSchema库则为Java开发者提供了处理这些XML Schema文档的API,使得在Java应用程序中解析、验证和生成符合XML Schema的XML文档变得容易。 在开发过程中,使用XmlSchema-1.4.7.jar可以帮助开发者实现以下功能: 1. ...

    apache xmlschema api文档

    在描述中提到的"apache的xmlschema jar包的api文档"是开发者理解和使用这个API的关键资源。它通常包含详细的方法、类和接口的说明,以及如何使用它们的例子。这些文档能够帮助开发者了解如何在Java程序中导入和使用...

    XMLSchema.chm

    这个“XMLSchema.chm”文件很可能是一个帮助文档,旨在为学习XML Schema的用户提供详细的指导和参考资料。下面我们将深入探讨XML Schema的相关知识点。 1. **XML Schema的作用**:XML Schema的主要功能是规范XML...

    xml实用教程_XML_Schema结构

    &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt; &lt;/xs:schema&gt; ``` 在这个XML Schema中: - 定义了一个`book`元素,它包含了多个子元素如`title`、`author`、`price...

Global site tag (gtag.js) - Google Analytics