</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