XML Shema 笔记整理(1)

XML Schema用于定义XML文档结构,包括元素及属性的数据类型、默认值等。它可以替代DTD,并且自身也是XML文档,具有更好的可扩展性和灵活性。

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

【了解更多请参考:http://www.w3schools.com

Xml Shema 标记合法的XML文档结构(本身也是一个Xml文档)
淘汰了原先的DTD,Xml Shema的优势有(可以定义数据类型,本身是Xml 文档,可扩展...)

Xml Shema 具体做些什么:

  1. 定义可以在文档中使用的元素
  2. 定义可以在文档中使用的属性
  3. 定义哪些是子元素
  4. 定义子元素间排序
  5. 定义元素是否可以是空元素,是否可以拥有文本
  6. 定义元素和属性的数据类型
  7. 定义元素和属性的默认值

示例:

Xml Document
<? xml version="1.0" ?>
< note >
< to > Tove </ to >
< from > Jani </ from >
< heading > Reminder </ heading >
< body > Don't forget me this weekend! </ body >
</ note >

Xml Shema
<? xml version="1.0" ?>
< xs:schema  xmlns:xs ="http://www.w3.org/2001/XMLSchema"
targetNamespace
="http://www.w3schools.com"
xmlns
="http://www.w3schools.com"
elementFormDefault
="qualified" >< xs:element  name ="note" >
    
< xs:complexType >
      
< xs:sequence >
    
< xs:element  name ="to"  type ="xs:string" />
    
< xs:element  name ="from"  type ="xs:string" />
    
< xs:element  name ="heading"  type ="xs:string" />
    
< xs:element  name ="body"  type ="xs:string" />
      
</ xs:sequence >
    
</ xs:complexType >
</ xs:element ></ xs:schema >

上面的Xml Shema 说明了Xml 文档中根节点 note 是个复杂类型(因为它可以包含很多不同类型的子节点)
其他节点(to,from,heading,body)是字符串string类型(它们不包含子节点)

下面将上面这个XML文档应用Xml Shema
<? xml version="1.0" ?> < note
xmlns ="http://www.w3schools.com"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://www.w3schools.com note.xsd" >

< to > Tove </ to >
< from > Jani </ from >
< heading > Reminder </ heading >
< body > Don't forget me this weekend! </ body >
</ note >  

shema 元素是所有Xml Shema文档的根元素(如上面示例)
一个shema声明如下

<? xml version="1.0" ?>
< xs:schema  xmlns:xs ="http://www.w3.org/2001/XMLSchema"
targetNamespace
="http://www.w3schools.com"
xmlns
="http://www.w3schools.com"
elementFormDefault
="qualified" > ...
...
</ xs:schema >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值