`
versioneye
  • 浏览: 18262 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

xml验证(一)

阅读更多
    在编程的时候,不免会涉及到对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文件的合法性。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics