关闭

schema 学习笔记

242人阅读 评论(0) 收藏 举报
分类:

下面介绍全部是在eclipse中运行的

 

下面以user.xsd为例子说明

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
	targetNamespace="http://www.example.org/user"
	xmlns:tns="http://www.example.org/user" 
	elementFormDefault="qualified">
	
	<element name="user">
		<complexType>
			<sequence>
				<element name="id" type="int"></element>
				<element name="username" type="string"></element>
				<element name="born" type="date"></element>
			</sequence>
		</complexType>
	</element>
	
</schema>

 

1、如果是创建一个自定义的schema配置文件,则需要指明引入schema,就需要在第一个标签<schema>标签内添加 xmlns="http://www.w3.org/2001/XMLSchema" 这个是不能改变的。

 

2、<schema>标签内有targetNamespace,标示当前这个schema文件的命名空间,类似于java的包,如果其他xml文件需要引入这个schema文件,就是根据它来确定的。

 

3、<schema>标签内有xmlns:tns,指明当前schema文件的命名空间(因为当前schema文件的命名空间和引入的命名空间一致,如果不一致,则是引用其他schema文件)

 

 

eclipse如何让自己写的schema文件能够起作用,给出提示

window ---- preferences ---- xml catalog ---- 选中“user specified entries” --- 点击 add 按钮 ---- 选择 workspace(选择自己创建的schema文件)---- 最终会发现 location 和 key 这两个 "文本框"内有相关的值 ---- 最后点击确定  ---- 重启需要使用这个schema文件的 xml文件。

 

 

创建一个XML文件,引入自己创建的schema文件(如何引入)?

还是以上面的为例子,

<?xml version="1.0" encoding="UTF-8"?>
<user 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	 xmlns="http://www.example.org/user"
     xsi:schemaLocation="http://www.example.org/user ">
	<id>1</id>
	<username></username>
	<born>1999-9-9</born>
</user>

 

如果想让xml需要用schema来做校验,需要添加如下代码(引入schema):

//下面这个是固定的,引入schema

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

//xsi:schemaLocation是固定的,后面的内容是引入的schema文件的 targetNamespace

xsi:schemaLocation="http://www.example.org/user "

 

因为当前xml文件的命名空间是 xmlns="http://www.example.org/user" ,因此会找到 targetNamespace="http://www.example.org/user" 的schema文件,由于该schema文件的根节点是 user,因此这个xml文件的根节点就是user。

 

通过上面的赘述,基本上就能够完成eclipse利用自己写的schema文件来校验xml文件了。

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:279772次
    • 积分:8431
    • 等级:
    • 排名:第2295名
    • 原创:1096篇
    • 转载:14篇
    • 译文:0篇
    • 评论:4条
    最新评论