在编程的时候,不免会涉及到对xml的读写。在对xml数据操作之前,还要对xml进行验证。即通过xsd文件来对xml进行验证。
那什么是xsd呢?
XSD是XML Schemas Definition的缩写,也是XML Schema文件的扩展名。XML是数据的集合。xsd是来规定XML的;xsd验证XML数据是否正确,比如你的XML数据要写进数据库,如果不验证,可能就会有很多问题。当你的XML通过XSD验证后,就可以用XSL进行格式化,生成HTML,矢量图形等。
XSD是W3C推荐的XML SCHEMA标准,SCHEMA即描述XML的结构和元素关系的规则模式,他规定了一个xml文档可以使用那些元素、元素的类型以及一些限制规则。schema和DTD一样,都是描述xml的,只不过SCHEMA的内容更丰富,更具有扩展性,同时他本身也是一个xml文档,更方便解析。
在开发阶段,我们可以根据需求文档中对字段的定义(比如,必填、可选、Int、String)来规定出相应的xsd。
下面是一段规格:
StudentInfo类参数:
字段名称 类型 可选性 释意
sNo String M 学生学号
name String M 学生姓名
age Int M 学生年龄
country String M 所在国家/地区
interest String O 兴趣、爱好
那我们现在就可以根据上图所示的规格,来写出xsd。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="student">
<xs:complexType>
<xs:element name="sNo" type="xs:string">
<xs:annotation>
<xs:documentation>
学生学号
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="name" type="xs:string">
<xs:annotation>
<xs:documentation>
学生姓名
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="age" type="xs:int">
<xs:annotation>
<xs:documentation>
学生年龄
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="country" type="xs:string">
<xs:annotation>
<xs:documentation>
所在国家/地区
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="interest" minOccurs="0" type="xs:string">
<xs:annotation>
<xs:documentation>
兴趣、爱好
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:element>
</xs:complexType>
</xs:schema>
以上xsd是根据规格规定的,用来验证xml文件的合法性。
分享到:
相关推荐
XML 验证器.html
描述中提到的"博文链接:https://fhqiwcw.iteye.com/blog/1696624"虽然未提供具体信息,但通常这类博客文章会包含详细的代码示例和步骤,教读者如何在C#环境中创建一个XML验证器,以检查XML文档是否符合特定的Schema...
非常简单实用的XML验证器
XML文档的结构严谨,为了确保XML文件的数据正确性和一致性,XML验证成为了一个重要的步骤。XML验证通常有两种方式:DTD(Document Type Definition)验证和XSD(XML Schema Definition)验证。本话题主要关注的是XSD...
使用DTD验证XML文档 一、 DTD的定义: a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义...
XML验证的优点在于其灵活性和可读性。开发者可以在Action类旁创建一个与Action类同名的.xml文件,比如Action类名为`UserAction.java`,那么对应的验证文件就是`UserAction-validation.xml`。在这个文件中,我们可以...
在这个项目中,我们关注的是一个基于HTML和JavaScript开发的XML验证器,它能够帮助开发者快速识别并解决XML文档中的格式错误。 XML文档的正确性主要依赖于其是否遵循XML语法,包括但不限于以下几点: 1. 文档必须以...
#### 一、理解 XML 验证的需求 在进行 XML 数据处理时,验证 XML 文件的正确性是非常重要的一步。如果 XML 文件存在语法错误或者结构问题,将会导致后续的数据解析和处理失败。因此,在提交 XML 数据到服务器之前,...
"NIIT_xml验证环境"显然是一种专为学习和测试XML验证技术而设计的平台。NIIT(National Institute of Information Technology)是一家知名的教育机构,提供多种IT课程,包括XML相关的学习资源。 在XML环境中,验证...
XML(Extensible Markup Language)是一种标记语言,常用于存储和传输结构化数据。XML文档的结构严谨,通过一套预定义的规则来确保数据的一致性和有效性。这些规则的一部分就是通过文档类型定义(Document Type ...
在IT领域,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,广泛应用在各种系统间的数据交换、配置文件以及Web服务中。为了确保XML文档遵循预定的结构,我们可以使用Schema进行验证。...
结合`System.Xml.XmlReader`,可以创建一个只读的流式解析器,该解析器在读取XML时进行实时验证。 4. **代码示例**: ```csharp using System; using System.IO; using System.Xml; using System.Xml.Schema; ...
它可能是一个包含产品数据的XML文件,用于演示XML Schema验证的实际应用。 总结来说,"验证XML控件NIIT"的学习资料涵盖了XML的核心组件,如XML Schema和DTD用于定义和验证文档结构,XPath用于查找和操作XML数据,...
在"xmlValidatorTest"这个文件中,很可能包含了一个XML验证的测试用例。可能包括一个XML文档、对应的XML Schema或DTD,以及验证脚本或代码。通过运行这些测试,我们可以确认XML文档是否符合预先设定的规范,确保数据...
"struct2的xml验证与实现单点登录"是一个主题,它涵盖了两个核心概念:XML验证以及单点登录(Single Sign-On, SSO)的实现。接下来,我们将深入探讨这两个知识点。 首先,XML验证是确保XML文档符合特定结构或模式的...
通过`newSchema()`方法,你可以加载一个XSD文件,然后将其与待验证的XML文件关联。 4. **创建DocumentBuilder**: 使用`DocumentBuilderFactory`创建的`DocumentBuilder`,我们可以将其与之前创建的`Schema`关联,...
3. `.fatjar`:通常表示一个包含所有依赖的"胖"jar文件,可以独立运行,包含了运行这个XML验证工具所需的全部类和资源。 4. `rt.jar`:这是Java运行时库的一部分,包含了Java标准类库,如`javax.xml.*`,这些类库...
2. **验证转换结果**:转换后,使用XML验证器检查转换后的XML是否符合语法规则,确保其可解析性。 3. **特殊字符处理**:如果XML中包含特殊字符,如换行符、制表符等,工具应当正确处理,以保持数据的完整性。 4. **...
XML(Extensible Markup Language)是一种用于标记数据的语言,它允许用户自定义标签来表示数据,广泛应用于数据交换、配置文件和文档存储等领域。而XSD(XML Schema Definition)是W3C推荐的一种XML文档结构的规范...
在探讨Struts2框架中的XML验证机制时,我们聚焦于三种最常见的数据类型验证:String、Date、int。这些验证在Web应用开发中至关重要,确保了数据的完整性和正确性,从而提高了应用程序的健壮性和用户体验。 ### 一、...