事先声明:搞定不是精通,只是能够运用!
其实schema很简单,之前写过DTD,比DTD学习成本还低!最近做的项目基于文件系统的,一堆的xml文件,所以想写个验证,也方便IDE操作,既然推荐Schema,那就用Schema
不废话,看xml文件。
<?xml version="1.0" encoding="gb2312"?>
<tests id="1" name="2">
<name>Ivan</name>
<test id="test1">
<name>hi</name>
</test>
<test id="test2">
<name>hello</name>
</test>
</tests>
这个应该算是个比较典型的xml文件了。看schema怎么写。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.iteye.com"
xmlns:tns="http://www.iteye.com"
elementFormDefault="qualified">
<!-- 一个tests标签-->
<xs:element name="tests">
<!-- 由于tests标签由属性和其它标签组成,所以是复合类型 -->
<xs:complexType>
<!-- 这是一个序列,包含所有的子标签-->
<xs:sequence>
<!--叫name的子标签-->
<xs:element name="name"/>
<!--叫test的子标签,maxOccurs是出现的次数,这里不定,能多次出现-->
<xs:element name="test" maxOccurs="unbounded">
<!--又是一个复合类型-->
<xs:complexType>
<xs:sequence>
<xs:element name="name"/>
</xs:sequence>
<!--test的id属性-->
<xs:attribute name="id"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<!--testsde id和name属性-->
<xs:attribute name="id"/>
<xs:attribute name="name"/>
</xs:complexType>
</xs:element>
</xs:schema>
很简单吧!其实就是个xml文件而已!敲一遍就知道是什么意思了!
将Schema添加到xml文件里面,如下:
<?xml version="1.0" encoding="gb2312"?>
<tests id="1" name="2" xmlns="http://www.stsoft.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.iteye.com ../test.xsd">
<name>Ivan</name>
<test id="test1">
<name>hi</name>
</test>
<test id="test2">
<name>hello</name>
</test>
</tests>
这样就可以了,../test.xsd是相对路径,如果test.xsd和xml在同一目录下,直接写名字就可以了。
应该没多少人会用到Schema,知识积累,以备后用
分享到:
相关推荐
definitive+XML+Schema中文版本 XML课程资料 XML+Schema官方教程(9loong中文版)修正版2009 实战XML第二版 XML+指南 XML笔记 轻松搞定XML XML手册+第4版
XML,全称Extensible Markup ...总的来说,“轻松搞定XML”这个资源可能涵盖了XML的基础概念、语法、验证、解析、查询以及在实际开发中的应用。通过学习,你可以掌握XML的核心知识,从而在配置开发的世界中游刃有余。
通过阅读《轻松搞定XML》这本书,你将深入理解XML的原理,学习如何创建有效的XML文档,掌握XML解析和验证技术,并了解XML在实际项目中的应用。配合`说明.htm`、`轻松搞定xml.pdf`及`readme.txt`,你将获得全方位的...
### 5. 导入根的语法定义 #### 38.1 根文件 hrss-initial-data.ldif 定义 `ldif`(LDAP Data Interchange Format)文件是一种文本格式,用于描述目录数据的结构。在`hrss-initial-data.ldif`中,你会看到一系列的...
五、XML Schema与DTD 1. DTD(Document Type Definition):DTD用于定义XML文档的结构和数据类型,是XML的早期验证方式。 2. XML Schema:XML Schema是更现代、更强大的验证工具,提供更复杂的类型系统和数据约束...
2. 架构(XSD,XML Schema Definition):XSD是另一种更为现代的XML结构定义方式,相比DTD,它提供了更强大、更复杂的验证规则。 3. 名称空间(Namespace):在XML中,名称空间用于解决命名冲突问题,允许使用相同...
5. **解析XML**: 解析XML文档有两种主要方式:DOM(Document Object Model)和SAX(Simple API for XML)。DOM将整个XML文档加载到内存中,形成一个树形结构,便于访问和修改;SAX则采用事件驱动的方式,逐行读取,...
本资源"轻轻松松搞定XML"是一份PDF教程,旨在帮助读者深入理解和掌握XML的核心概念与技术。 XML的设计原则是简单、通用和可扩展。它的语法严格,要求元素都进行闭合,这使得数据结构清晰,易于解析。XML文档由一...
5. **DTD(Document Type Definition)或XSD(XML Schema Definition)**:这两种都是用来定义XML文档结构的规范,用于验证XML文档是否符合预设的规则。 6. **解析器**:XML解析器读取XML文档并将其转换为易于处理...
5. XML Schema和DTD:讲解XML Schema和Document Type Definition(DTD)用于验证XML文档结构和内容的工具。 6. 实战应用:通过案例分析,展示XML在实际项目中的应用,如Web服务、配置文件、数据交换等。 7. XML相关...
XML的DTD(Document Type Definition)和XSD(XML Schema Definition)是两种验证XML文档结构的方法。DTD用来定义元素、属性的规则,确保文档符合预定的结构。而XSD更强大,支持数据类型、约束和复杂结构的定义,是...
在本资源包中,"轻松搞定XML"这本书将引导你深入理解这一重要的数据描述语言。 首先,XML的基本结构包括元素、属性和标签。元素是XML文档的核心,它们描述了数据的结构和内容。例如,`<book>`可以表示一本书,而`...
### 轻轻松松搞定XML:全面解析及应用实践 #### 一、XML概述与重要性 ##### XML:可扩展标记语言 可扩展标记语言(XML,eXtensible Markup Language)是一种用于存储和传输数据的标准标记语言。与HTML相比,XML...
还有DTD(Document Type Definition)或XSD(XML Schema Definition),它们是用来定义XML文档结构和数据类型的规范,确保数据的一致性和准确性。 源代码部分则可能包含XML解析、DOM(Document Object Model)、SAX...
9. JSON Schema验证:虽然`org.json`库不包含JSON Schema验证功能,但可以结合其他库如`json-schema-validator`来实现JSON数据的规范验证。 10. 性能与兼容性:`org.json`库小巧且轻量级,适合小型项目或对性能要求...
"替换jar之后就都搞定了",这强调了解决问题的关键在于找到正确的`jar`文件版本,这也体现了Java生态系统的复杂性和多样性。 现在让我们深入探讨一下`jar`文件及其在Java开发中的重要性: 1. **代码封装和分发**:...
手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,... 第五章:Kudu原理深入搞定面试题 1.Table与Schema原理分析 2.Kudu数据模型分析 3.Kudu数据存储流程 4.Kudu数据读取流程 5.Kudu数据更新流程