xml的约束技术Schema、dtd

前端之家收集整理的这篇文章主要介绍了xml的约束技术Schema、dtd前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

  1. </pre>0、<span style="font-weight:bold">book.xml:</span><p></p><pre name="code" class="html"><?xml version="1.0" encoding="gb2312"?>
  2. <!DOCTYPE 书架 SYSTEM "book.dtd">
  3. <书架>
  4. <书>
  5. <书名>Java就业培训教程</书名>
  6. <作者>张孝祥</作者>
  7. <售价>39.00元</售价>
  8. </书>
  9. <书>
  10. <书名>JavaScript网页开发</书名>
  11. <作者>张孝祥</作者>
  12. <售价>28.00元</售价>
  13. </书>
  14. </书架>

book.dtd:

<!ELEMENT书架 (书+)>

<!ELEMENT 书 (书名,作者,售价)>

<!ELEMENT 书名 (#PCDATA)>

<!ELEMENT 作者 (#PCDATA)>

<!ELEMENT 售价 (#PCDATA)>



1、 目的:

需要掌握名称空间的概念,会读简单的Schema就可以了

2、 特点:

Schema是xml的约束技术,出现的目的是为了替代dtd

本身也是一个xml,非常方便使用xml的解析引擎进行解析

名称空间有非常好的支持

支持更多的数据类型,并且支持用户自定义数据类型

可以进行语义级别的限定,限定能力大大强于dtd

相对于dtd不支持实体

相对于dtd复杂的多,学习成本比较的高

3、扩展名通常为.xsd。

targetNamespace=“www.itcast.cn"

实例:

约束文件

1、获得xs(xmlns:xs="http://www.w3.org/2001/XMLSchema")

2、设置目标空间名

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  3. targetNamespace=“www.itcast.cn"
  4. elementFormDefault="qualified">
  5. <xs:element name='书架' >
  6. <xs:complexType>
  7. <xs:sequence maxOccurs='unbounded' >
  8. <xs:element name='书' >
  9. <xs:complexType>
  10. <xs:sequence>
  11. <xs:element name='书名' type='xs:string' />
  12. <xs:element name='作者' type='xs:string' />
  13. <xs:element name='售价' type='xs:string' />
  14. </xs:sequence>
  15. </xs:complexType>
  16. </xs:element>
  17. </xs:sequence>
  18. </xs:complexType>
  19. </xs:element>
  20. </xs:schema>
  1. </pre><p></p><p><strong>文件</strong></p><p><strong>0、 名称空间:</strong></p><p>xmlns:itcast=”www.itcast.cn”xmlns:demo=<a target=_blank target="_blank" href="http://www.it315.org/demo/schema">http://www.it315.org/demo/schema</a></p><p><strong></strong></p><p>1、获得xsi(xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance")</p><p><strong>2、书架这个东西都受www.itcast.cn book.xsd里面的文件的约束</strong></p><pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>
  2. <itcast:书架 xmlns:itcast=www.itcast.cn
  3. xmlns:demo=http://www.it315.org/demo/schema
  4.  
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6.  
  7. xsi:schemaLocation="http://www.it315.org/xmlbook/schema http://www.it315.org/xmlbook.xsd
  8.  
  9. http://www.it315.org/demo/schema
  10. http://www.it315.org/demo.xsd">
  11. <itcast:书>
  12. <itcast:书名>JavaScript网页开发</itcast:书名>
  13. <itcast:作者>张孝祥</itcast:作者>
  14. <itcast:售价>28.00元</itcast:售价>
  15. <售价 demo:币种=”人民币”>28.00元</售价>
  16. </itcast:书>
  17. </itcast:书架>

4、名称空间:

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

(实际的文件在:www.itcast.cn book.xsd)

5、参看: 文档DTD

文档XmlScheme

猜你在找的XML相关文章