DTD ya XML

语法正确的 XML 文档被称为“格式良好”。

根据 DTD 验证的 XML 文档,既是“格式良好”的,又是“有效”的。

什么是 DTD?

DTD 代表文档类型定义(Document Type Definition)。

DTD 定义 XML 文档的结构,以及合法的元素和属性。

有效的 XML 文档

“有效”的 XML 文档既是“格式良好”的,同时也要符合 DTD 的规则:

<?xml version="1.0" encoding="UTF-8"?>
!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Do not forget the meeting!</body>
</note>

上面的 DOCTYPE 声明包含对 DTD 文件的引用。下面展示并解释了 DTD 文件的内容。

DTD ya XML

DTD 的目的是定义 XML 文档的结构,以及合法的元素和属性:

Note.dtd:

!DOCTYPE note
[
!ELEMENT note (to,from,heading,body)
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

Tafsiri ya DTD juu ni kama iliyotokana:

!DOCTYPE note - ingiza root element ya andiko kama note
!ELEMENT note - ingiza elementi ya note inayoweza kuwa na uwanja wa heri "to, from, heading, body"
!ELEMENT to - ingiza elementi ya to kama #PCDATA
!ELEMENT from - ingiza elementi ya from kama #PCDATA
!ELEMENT heading - ingiza elementi ya heading kama #PCDATA
!ELEMENT body - ingiza elementi ya body kama #PCDATA

Mbinu:#PCDATA inaeleza data za heri (parseable character data).

Tumia DTD kwa kumtumia heri

DOCTYPE kuanza hivi inaweza kutumika kuandika heri au upande wa jumla wa wasomaji waandiko:

Mfano

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp " ">
<!ENTITY writer "Writer: Bill Gates.">
<!ENTITY copyright "Copyright: CodeW3C.com.">
]>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Do not forget the meeting!</body>
<footer>&writer; ©right;</footer>
</note>

Mbinu:Mfano una mawazo tatu: kuanza na heri (&), baada ya kumwambaa jina la mfano, na kutoweka na heri (;).

Kwa nini tumia DTD?

Na DTD, wakulima wengi wanaweza kufikia kazi kwa uangalifu wa uharibifu wa data.

Kwa DTD, unaweza kuingia data iliyotumiwa kutoka nje inaaminika.

Inaweza kutumia DTD kuokoa data yako.

Ikiwa unapenda kuafaa DTD, tafadhali sasa huzungumza mawongozo yetu. Mwongozo wa DTD.

Kati yake haikutumiwa DTD?

DTD haipatikani kwa XML.

Ikiwa unapitia matokeo wa XML, kumwengeneza DTD inaweza kushika wakati.

Ikiwa unapendekeza kumaliza programu yako, tafadhali ingatia DTD kwa kumaliza usafirishaji. Hata hivyo, programu yako inaweza kumaliza kwa sababu ya mafuta ya kumtambua.