A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Congroo 初级黑马   /  2019-5-31 18:37  /  536 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马