schema 学习笔记

原创 2013年12月04日 10:28:35

下面介绍全部是在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文件了。

XML三部曲之Schema详解

前几篇博客讨论了XML及DTD的用法,通过讨论了解到XML是一种元标记语言,通过它可以定义新的标记语言。另外,文档定义模型为XML文档提供了规范,DTD的引入虽然解决了XML文档的规范化问题,但它文件...
  • zhang_xinxiu
  • zhang_xinxiu
  • 2013年11月28日 22:16
  • 2767

schema学习笔记

1.  schema简介 1.1.  schema是什么? Ø  XML Schema 是基于 XML 的 DTD 替代者。 Ø  XML Schema 可描述 XML 文档的结构。 Ø  XML S...
  • u022812849
  • u022812849
  • 2014年11月01日 20:18
  • 17507

XML Schema教程 学习笔记

1.声明:2.扩展名:xsd3.根元素http://www.w3.org/2001/XMLSchema">4.元素定义   引用5.元素修饰:  复杂类型 元素按顺序出现  二选一6.元素类型 a.简...
  • Ghost_Wolf
  • Ghost_Wolf
  • 2006年12月30日 20:22
  • 773

XML学习笔记(三) -- Schema

标签(空格分隔): 学习笔记Schema的格式XML Schema文档是由元素、属性、命名空间和XML文档中的其他节点构成的。 XML Schema有两种重要的Schema模型:Microsoft ...
  • u010161630
  • u010161630
  • 2016年10月16日 10:56
  • 342

xml 学习笔记 3.xml Schema

XML  Scema:XML模式语言,用来描述XML结构、数据内容、相关约束等方面特征的语言。 与dtd相比,XML  Scema的优点:一致性,XML  Scema是一种XML文档,从而使XML模...
  • qq981932962
  • qq981932962
  • 2014年04月30日 13:35
  • 1375

XML schema学习笔记

XML schema学习笔记         写在前面的话,很多文章里面把schema和XML Schema当成了一个东东,其实schema或XML schema泛指XML文档的模式,而XML Sch...
  • lbh9158
  • lbh9158
  • 2006年12月21日 13:00
  • 632

学习笔记——XML Schema一致性约束

Schema提供了3种一致性约束: 1:key:内容必须存在且唯一; 2:keyref:要求指定内容必须引用另一个key或unique。 3:unique:内容必须唯一,但可以不存在。   ...
  • Crystalbruce
  • Crystalbruce
  • 2012年03月27日 08:44
  • 663

XML Schema学习笔记(二)

Data Types1.    String Data Types1.1            String Data Type可包含字符、缩进、回车、tab 在这样的Schema定义中:XML中的元...
  • buoymp
  • buoymp
  • 2006年09月08日 13:44
  • 1033

XML Schema学习笔记(一)

1.SchemaXML Schema是基于XML的DTD替代品XML Schema描述XML文档的结构XML Schema语言也指XML Schema Definition(XSD)XML Schem...
  • buoymp
  • buoymp
  • 2006年09月07日 23:24
  • 969

学习笔记——XML Schema注释

Schema的注释方法有两种: 1: 2: 供人阅读 向其他应用程序提供信息
  • Crystalbruce
  • Crystalbruce
  • 2012年03月24日 07:49
  • 993
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:schema 学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)