关于xml Schema DTD

     

  XML Schema 是基于 XML 的 DTD 替代者,可以 描述 XML 文档的结构。XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。那么我们如何在应用程序中读取和创建 XML Schema 语言呢?XML Schema 为何比 DTD 更加强大呢?如何在您的应用程序中使用 XML Schema呢?

 

  XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。

  XML Schema:

  • 定义可出现在文档中的元素
  • 定义可出现在文档中的属性
  • 定义哪个元素是子元素
  • 定义子元素的次序
  • 定义子元素的数目
  • 定义元素是否为空,或者是否可包含文本
  • 定义元素和属性的数据类型
  • 定义元素和属性的默认值以及固定值

  

 XML Schema 是 DTD 的继任者,而且XML Schema 很快会在大部分网络应用程序中取代 DTD。原因如下:

  1、XML Schema 可针对未来的需求进行扩展

  2、XML Schema 更完善,功能更强大

  3、XML Schema 基于 XML 编写

  4、XML Schema 支持数据类型

  5、XML Schema 支持命名空间

  

  

  请看这个名为 "note.xml" 的 XML 文档:

  

<?xml version="1.0"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>

  

 下面这个例子是名为 "note.dtd" 的 DTD 文件,它对上面那个 XML 文档的元素进行了定义:

 

 <!ELEMENT note (to, from, heading, body)>
 <!ELEMENT to (#PCDATA)>
 <!ELEMENT from (#PCDATA)>
 <!ELEMENT heading (#PCDATA)>
 <!ELEMENT body (#PCDATA)>

 

 

 第 1 行定义 note 元素有四个子元素:"to, from, heading, body"。

 第 2-5 行定义了 to, from, heading, body 元素的类型是 "#PCDATA"。

 

 

 下面这个例子是一个名为 "note.xsd" 的 XML Schema 文件,它定义了上面那个 XML 文档的元素:

 <?xml version="1.0"?>
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://www.w3school.com.cn"
  xmlns="http://www.w3school.com.cn"
  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>

note 元素是一个复合类型,因为它包含其他的子元素。其他元素 (to, from, heading, body) 是简易类型,因为它们没有包含其他元素。

 

 

 

此文件包含对 DTD 的引用:

<?xml version="1.0"?> <!DOCTYPE note SYSTEM "http://www.w3school.com.cn/dtd/note.dtd"> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>

 

此文件包含对 XML Schema 的引用:

<?xml version="1.0"?> <note xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3school.com.cn note.xsd"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>

以上文件引用来自W3school!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值