</pre>0、<span style="font-weight:bold">book.xml:</span><p></p><pre name="code" class="html"><?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
<书>
<书名>Java就业培训教程</书名>
<作者>张孝祥</作者>
<售价>39.00元</售价>
</书>
<书>
<书名>JavaScript网页开发</书名>
<作者>张孝祥</作者>
<售价>28.00元</售价>
</书>
</书架>
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、设置目标空间名
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace=“www.itcast.cn"
elementFormDefault="qualified">
<xs:element name='书架' >
<xs:complexType>
<xs:sequence maxOccurs='unbounded' >
<xs:element name='书' >
<xs:complexType>
<xs:sequence>
<xs:element name='书名' type='xs:string' />
<xs:element name='作者' type='xs:string' />
<xs:element name='售价' type='xs:string' />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</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"?>
<itcast:书架 xmlns:itcast=www.itcast.cn
xmlns:demo=http://www.it315.org/demo/schema
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.it315.org/xmlbook/schema http://www.it315.org/xmlbook.xsd
http://www.it315.org/demo/schema
http://www.it315.org/demo.xsd">
<itcast:书>
<itcast:书名>JavaScript网页开发</itcast:书名>
<itcast:作者>张孝祥</itcast:作者>
<itcast:售价>28.00元</itcast:售价>
<售价 demo:币种=”人民币”>28.00元</售价>
</itcast:书>
</itcast:书架>
4、 名称空间:
名称空间的名字语法容易让人混淆,尽管以 http:// 开始,那个 URL 并不指向一个包含模式定义的文件。事实上,这个 URL:http://www.itcast.cn根本没有指向任何文件,只是一个分配的名字。
(实际的文件在:www.itcast.cn book.xsd)
5、参看: 文档DTD