Schema约束

本文深入解析XML作为通用数据交换格式的优势,以及XMLSchema如何定义和描述XML文档结构。探讨名称空间解决元素冲突问题,及如何引入Schema文档进行数据验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

参考:

<<java web程序开发入门>> 传智博客..  

https://blog.youkuaiyun.com/zhaojw_420/article/details/53391507

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值