xml的约束技术Schema、dtd

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

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

文档XmlScheme

猜你在找的XML相关文章