在编程的时候,不免会涉及到对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文件的合法性。
分享到:
相关推荐
描述中提到的"博文链接:https://fhqiwcw.iteye.com/blog/1696624"虽然未提供具体信息,但通常这类博客文章会包含详细的代码示例和步骤,教读者如何在C#环境中创建一个XML验证器,以检查XML文档是否符合特定的Schema...
XML文档的结构严谨,为了确保XML文件的数据正确性和一致性,XML验证成为了一个重要的步骤。XML验证通常有两种方式:DTD(Document Type Definition)验证和XSD(XML Schema Definition)验证。本话题主要关注的是XSD...
XML 验证器.html
非常简单实用的XML验证器
使用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. 文档必须以...
"NIIT_xml验证环境"显然是一种专为学习和测试XML验证技术而设计的平台。NIIT(National Institute of Information Technology)是一家知名的教育机构,提供多种IT课程,包括XML相关的学习资源。 在XML环境中,验证...
XML(Extensible Markup Language)是一种标记语言,常用于存储和传输结构化数据。XML文档的结构严谨,通过一套预定义的规则来确保数据的一致性和有效性。这些规则的一部分就是通过文档类型定义(Document Type ...
结合`System.Xml.XmlReader`,可以创建一个只读的流式解析器,该解析器在读取XML时进行实时验证。 4. **代码示例**: ```csharp using System; using System.IO; using System.Xml; using System.Xml.Schema; ...
在Visual Studio 2005(VS2005)中,使用C++来实现XML文档与XSD模式的验证是一个常见的需求。VS2005提供了一套强大的XML工具和库,如MSXML和ATL(Active Template Library),这些工具可以帮助开发者方便地处理XML和...
它可能是一个包含产品数据的XML文件,用于演示XML Schema验证的实际应用。 总结来说,"验证XML控件NIIT"的学习资料涵盖了XML的核心组件,如XML Schema和DTD用于定义和验证文档结构,XPath用于查找和操作XML数据,...
在"xmlValidatorTest"这个文件中,很可能包含了一个XML验证的测试用例。可能包括一个XML文档、对应的XML Schema或DTD,以及验证脚本或代码。通过运行这些测试,我们可以确认XML文档是否符合预先设定的规范,确保数据...
Javascript验证xml格式正确,合法。
"struct2的xml验证与实现单点登录"是一个主题,它涵盖了两个核心概念:XML验证以及单点登录(Single Sign-On, SSO)的实现。接下来,我们将深入探讨这两个知识点。 首先,XML验证是确保XML文档符合特定结构或模式的...
2. **验证转换结果**:转换后,使用XML验证器检查转换后的XML是否符合语法规则,确保其可解析性。 3. **特殊字符处理**:如果XML中包含特殊字符,如换行符、制表符等,工具应当正确处理,以保持数据的完整性。 4. **...
XML(Extensible Markup Language)是一种用于标记数据的语言,它允许用户自定义标签来表示数据,广泛应用于数据交换、配置文件和文档存储等领域。而XSD(XML Schema Definition)是W3C推荐的一种XML文档结构的规范...
6. 在XMLSPY环境中编写DTD文档的操作:XMLSPY是一个XML编辑工具,可以用来编写和编辑DTD文档。在XMLSPY中,可以使用图形化界面来构建DTD文档的结构和约束。 7. DTD文档对XML文档进行有效性验证的原理:DTD文档可以...
在本文档中,我们主要探讨了XML验证的概念,包括“形式良好”XML文档的特征以及XML验证的方法。 “形式良好”的XML文档是指遵循XML语法规则的文档。以下是一些关键规则: 1. **根元素**:每个XML文档必须有一个...
在“XML Schema 例子(C#写的验证程序)”这个项目中,开发者创建了一个C#应用程序,用于验证XML文档是否符合预先定义的XML Schema。这个程序对于那些需要确保XML数据准确无误的应用场景非常有用,比如数据交换、...