学习笔记——XML Schema简介及命名空间

原创 2012年03月23日 23:04:50

XML Schema Definition(XSD)
XML本身也是XML文档,其根元素是<schema.../>

<schema.../>支持的属性:

elementFormDefault=qualified | unqualified:用于指定在XML文档中使用该Schema中的定义的局部元素时是否必须命名空间。

atttributeFormDefault=qualified | unqualified:用于指定在XML文档中使用该Schema中的定义的局部属性时是否必须命名空间。

 

 

Schema使用<element..,/>定义元素

Schema使用<attribute.../>定义属性,属性必须指明其所属的元素后,方可使用。

 

Schema有两种方式指定元素或属性的类型:

1:直接type属性指定一个全局的数据类型,type的值是一个数据类型名。

2:使用局部的数据类型。

 

使用全局数据类型示例:

 

<?xml version="1.0" encoding="GBK"?>
	<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
		<xs:element name="element1" type="xs:string"/>
		<xs:attribute name="attribute1" type="xs:boolean"/>
</xs:schema>

 

使用局部数据类型示例:

 

<?xml version="1.0" encoding="GBK"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="element1">
		<xs:simpleType>
			<xs:restriction base="xs:int">
				<xs:maxInclusive value="100"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
</xs:schema> 

命名空间

XML Schema文件的命名空间方法:

 xxx.xsd

 

 <?xml version="1.0" encoding="GBK"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns="http://www.namespace.org/Schema"
	targetNamespace="http://www.namespace.org/Schema">
	...
</xs:schema>

xmlns[:xxx]属性作用:引入语义约束,xxx为该命名空间的限定名,

http://www.w3.org/2001/XMLSchema是XML Schema语义约束的命名空间。

xmlns=http://www.namespace.org/Schema表明使用该命名空间的组件,无需使用前缀。

targetNamespace=http://www.namespace.org/Schema表明该Schema定义的元素、属性和类型等Schema组件放在那个命名空间下。

  

在XML中引用Schema的方法:

 

<?xml version="1.0" encoding="GBK"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

</web-app>

XML DTD和XML SCHEMA以及命名空间的作用

xmlns xsi   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xmlns:context="http://www.sprin...
  • gol_phing
  • gol_phing
  • 2015年07月29日 22:34
  • 818

Xml_Schema命名空间详解

1. Xml命名空间 1.1 XML命名空间XML Namespaces XML 命名空间提供避免元素命名冲突的方法。XML命名空间属性被放置于元素的开始标签之中,并使用以下的语法: xml...
  • qq105319914
  • qq105319914
  • 2016年01月13日 14:01
  • 1406

schema命名空间介绍

Schema是用于描述和规范XML文档的逻辑结构的一种语言,它最大的作用就是验证XML文件逻辑结构的正确性。可以理解成与DTD(文档类型定义)功能差不多,但是Schema在当前的WEB开发环境下优越很...
  • flyingdog123
  • flyingdog123
  • 2017年03月30日 21:25
  • 377

XML Schema中的几个名称空间

对XML Schema中名称空间的两个错误理解(转自:http://magicwd.com/march/zblog/catalog.asp?cate=1)最近开始进入XML实践阶段,主要是因为神奇一刻...
  • xiaowu703
  • xiaowu703
  • 2005年07月19日 17:17
  • 2517

关于XML Schema命名空间中已经有xmlns却还要targetnamespace的理解

最近在学习XML Schema,没法很好的分清命名空间的xmlns、targetnamespace的区别,为什么在已经有全局命名空间xmlns和定义的命名空间xmlns:prefix后还要加入一个ta...
  • Ruizhe_Hao
  • Ruizhe_Hao
  • 2016年12月02日 10:56
  • 2166

一个使用自定义命名空间的Schema文件,xml文件和castor生成的java代码的例子

[转载]一个使用自定义命名空间的Schema文件,xml文件和castor生成的java代码例子。平时只使用到了最简单的xml数据绑定,现在测试一个稍微复杂点的例子。关于xml Schema,有篇好文...
  • alexmajy
  • alexmajy
  • 2005年02月17日 12:27
  • 2316

XML Schema命名空间:xmlns介绍

XML和Schema具有无关平台,技术厂商,简单,规范统一等特点,极具开放性,所以使用极为广泛,而且使用简单,在XML和Schema和,名称空间是W3C推荐标准提供的一种统一命名XML文档中的元素和属...
  • Aeroleo
  • Aeroleo
  • 2015年08月09日 18:05
  • 1888

自定义命名空间使用技巧之——命名空间与XML

      在一部分AS3项目 中XML是我们经常使用的一种保存数据 的手段,我们经常用XML来保存一些数据或者一些参数的设置。使用FLEX的朋友更是对MXML这个XML的加强定制版非常熟悉。那么...
  • wkyb608
  • wkyb608
  • 2010年11月05日 09:24
  • 750

XML三部曲之Schema详解

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

在 XML Schema和WSDL中使用名称空间

 对于名称空间,理解了OO思想的人应该是比较简单的了,特别是对学过C++的人来说更是如此;但很多看了我前面文章的朋友,在和我的交流中,好像对名称空间都不怎么清楚,下面我们就来说说怎么样在 XML Sc...
  • tongdoudpj
  • tongdoudpj
  • 2007年10月18日 22:17
  • 1365
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习笔记——XML Schema简介及命名空间
举报原因:
原因补充:

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