XML Schma

XMLSchema是一种模式语言,用于定义XML文档的结构与内容。它克服了DTD的局限性,并且提供了更强大的约束能力和更多的数据类型支持。XMLSchema文档自身是XML文件,其根结点为Schema,并可通过schemaLocation属性指定。

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

XML Schema

XML Schema 也是一种用于定义描述 XML 文档结构内容模式语言,其出现是为了克服 DTD 的局限性

      

       XML Schema 的优点:

              XML Schema 符合xml 的语法结构。

              DOM SAX很容易解析出XML Schema 的文档结构和内容。

              XML Schema 对名称空间支持的非常好。

              XML Schema DTD支持更多的数据类型。

              XML Schema 约束能力强大,能对xml 做出细致的限制。

              XML Schema 比较复杂,但是功能非常强大,已经加入W3C,以后取代DTD

XML Schema 文件自身就是一个XML文件,但它的扩展名通常为.xsd

一个XML Schema文档通常称之为模式文档(约束文档),遵循这个文档书写的xml文件称之为实例文档

XML文件一样,一个XML Schema文档也必须有一个根结点,但这个根结点的名称为Schema

编写了一个XML Schema约束文档后,通常需要把这个文件中声明的元素绑定到一个URI地址上,在XML Schema技术中有一个专业术语来描述这个过程,即把XML Schema文档声明的元素绑定到一个名称空间,以后XML文件就可以通过这个URI(即名称空间)来告诉解析引擎,xml文档中编写的元素来自哪里,被谁约束。

 

Xml文件中书写标签时,可以通过名称空间声明(xmlns),来声明当前编写的标签来自哪个Schema约束文档。

注意:名称空间的名字语法容易让人混淆,尽管以 http:// 开始,那个 URL 并不指向一个包含模式定义的文件。事实上,这个 URLhttp://www.itcast.cn根本没有指向任何文件,只是一个分配的名字。

为了在一个XML文档中声明它所遵循的Schema文件的具体位置,通常需要在Xml文档中的根结点中使用schemaLocation属性来指定

schemaLocation此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置,两者之间用空格分隔。

注意,在使用schemaLocation属性时,也需要指定该属性来自哪里。

<书架 xmlns="http://www.it315.org/xmlbook/schema"

                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                   xsi:schemaLocation=http://www.itcast.cn book.xsd">

                   <>

                   <书名>JavaScript网页开发</书名>

                   <作者>东方不败</作者>

                   <售价>28.00</售价>

                   </>

<书架>

 

XML Schema文档中声明名称空间

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

                     targetNamespace="http://www. itcast.cn"

                     elementFormDefault="qualified">

<xs:schema>

 

targetNamespace元素用于指定schema文档中声明的元素属于哪个名称空间。

elementFormDefault元素用于指定,该schema文档中声明的根元素及其所有子元素都属于targetNamespace所指定的名称空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值