您好,登錄后才能下訂單哦!
先說一下xml吧,xml(eXtensible Markup Language)可拓展標記語言,是一種簡單的數據存儲語言,應用簡單的標記描述數據。而dtd和xsd可以說是xml的規范,xml根據規范進行編寫。
dtd(Document Type Definition)即文檔類型定義,是一種xml模式的約束語言,屬于xml的組成部分一個。dtd文檔包含:元素的定義規則,元素間關系的定義規則,元素可使用的屬性,可使用的實體或符號規則。
test.dtd
<?xml version="1.0" encoding="utf-8"?>
<!ELEMENT pome (author,title,content)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
xsd(xml Schemas Definition),描述了xml文檔結構。xsd本身是一個XML文檔,它符合XML語法結構。可以用通用的XML解析器解析它。xsd文件中會定義:文檔中出現的元素、文檔中出現的屬性、子元素、子元素的數量、子元素的順序、元素是否為空、元素和屬性的數據類型、元素或屬性的默認和固定值。
test.xsd(借用http://www.cnblogs.com/chenqingwei/archive/2010/05/10/1731743.html)
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="原子類型" targetNamespace="http://student.com" elementFormDefault="qualified"
xmlns="http://student.com" xmlns:mstns="http://student.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="student">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="nameType"/>
<xs:element ref="age"/>
<xs:element ref="sex"/>
<xs:element ref="phone"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="nameType">
<xs:restriction base="xs:string">
<xs:minLength value="4"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="age">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sex">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="男"/>
<xs:enumeration value="女"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="phone">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\d{3}-\d{8}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
dtd與xsd的區別:
1)dtd 是使用非 XML 語法編寫的。
2)dtd不可擴展,不支持命名空間,只提供非常有限的數據類型 。
3)xsd支持數據類型,支持命名空間
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。