溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

dtd與xsd去區(qū)別

發(fā)布時(shí)間:2020-07-31 13:18:14 來(lái)源:網(wǎng)絡(luò) 閱讀:697 作者:瀟灑如我 欄目:開發(fā)技術(shù)

  先說(shuō)一下xml吧,xml(eXtensible Markup Language)可拓展標(biāo)記語(yǔ)言,是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語(yǔ)言,應(yīng)用簡(jiǎn)單的標(biāo)記描述數(shù)據(jù)。而dtd和xsd可以說(shuō)是xml的規(guī)范,xml根據(jù)規(guī)范進(jìn)行編寫。

     dtd(Document Type Definition)即文檔類型定義,是一種xml模式的約束語(yǔ)言,屬于xml的組成部分一個(gè)。dtd文檔包含:元素的定義規(guī)則,元素間關(guān)系的定義規(guī)則,元素可使用的屬性,可使用的實(shí)體或符號(hào)規(guī)則。

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文檔結(jié)構(gòu)。xsd本身是一個(gè)XML文檔,它符合XML語(yǔ)法結(jié)構(gòu)??梢杂猛ㄓ玫腦ML解析器解析它。xsd文件中會(huì)定義:文檔中出現(xiàn)的元素、文檔中出現(xiàn)的屬性、子元素、子元素的數(shù)量、子元素的順序、元素是否為空、元素和屬性的數(shù)據(jù)類型、元素或?qū)傩缘哪J(rèn)和固定值。

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的區(qū)別:

     1)dtd 是使用非 XML 語(yǔ)法編寫的。

     2)dtd不可擴(kuò)展,不支持命名空間,只提供非常有限的數(shù)據(jù)類型 。

     3)xsd支持?jǐn)?shù)據(jù)類型,支持命名空間


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI