什么是Schema呢?
可描述xml文档的结构,这点和dtd是一样的。
可以针对未来的需求进行扩展,比DTD更加完善,功能更加强大,并且支持数据类型,支持命名控件。
为什么使用Schema
可以更容易的描述文档内容,验证数据的正确性。
上篇说到Schema是DTD的替代者,这篇就来做一下解释。
首先这是一个简单的文档
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
用DTD定义上面的文件
<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
用Schema定义上面的文件。
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
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>
可以看出。后者的操作性能更加强大。