XML是一种通用的数据交换格式,可以使数据再各种应用程序之间轻松地实现数据交换。
而XMLSchema是一种定义和描述XML文档结构与内容的模式语言。DTD也是XML的一种XML约束,但是没有Schema好。
一个XML文档可以引入多个约束文档,如果不同约束文档中定义了同名元素或属性,则会导致名称冲突,于是Schema引入了名称空间。同名的元素或属性可以通过名称空间区分。
名称空间
使用名称空间需要先声明名称空间,如:
<itcast:书架 xmlns:itcast=“http://www.itcast.cn”>
xmlns是已经默认定义过的前缀,不必再绑定相应的名称空间。所谓声明名称空间就是将一个前缀绑定到代表某个名称空间的URI上,然后在该名称空间内的元素和属性都需要加上该前缀。上面的例子中xmlns是默认定义过的前缀,itcast是自定义的前缀,绑定后面的URI。
声明名称空间时不写前缀,则该空间为元素的默认名称空间。如下面的例子中,book、name、author元素的名称空间为“http://www.itcast.cn”
<book xmlns=“http://www.itcast.cn”>
<name>javascript web development</name>
<author>mrs.zhang</author>
</book>
引入schema文档
可以使用名称空间引入schema文档,也可以不使用名称空间。使用名称空间需要使用xsi:schemaLocation,而xsi在标准名称空间"http://www.w3.org/2001/XMLSchema-instance"中定义的,需要声明名称空间,但不需要引入schema文档。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
</beans>
beans及其包含的元素的默认名称空间为"http://www.springframework.org/schema/beans",该名称空间对应的schema文档由xsi:schemaLocation定义,为http://www.springframework.org/schema/beans/spring-beans.xsd。
|
|