DTD Tutorial

Ang paglalarawan ng dokumentong uri (DTD) ay maaaring tukuyin ang lehitimong mga module ng XML document. Ginagamit nito ang isang serye ng lehitimong elemento upang tukuyin ang istraktura ng dokumento.

Maaaring ipahayag ang DTD sa paghahatid ng mga linya sa XML document o bilang isang panlabas na reperensya.

Ang panloob na DOCTYPE declaration

Kung ang DTD ay nakakabit sa iyong XML source file, dapat ito ay napakasaklaw sa isang DOCTYPE declaration sa ibaba:

!DOCTYPE root-element [element declarations]>

Isang halimbawa ng dokumentong XML na may DTD (mangyaring buksan sa IE5 at sa mas mataas na bersyon, at piliin ang "View Source"):

<?xml version="1.0"?>
!DOCTYPE note [
  !ELEMENT note (to,from,heading,body)
  !ELEMENT to      (#PCDATA)
  !ELEMENT from    (#PCDATA)
  !ELEMENT heading (#PCDATA)
  !ELEMENT body    (#PCDATA)
]>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Paalaala</heading>
  <body>Wala kang alam tungkol sa pagpupulong!</body>
</note>

Buksan ang file na XML sa iyong browser at piliin ang "View Source" command.

Ang mga paglalarawan ng DTD ay sumusunod:

!DOCTYPE note (second line) definition na ito ay dokumento note ang uri ng dokumento.

!ELEMENT note (third line) definition note Ang elemento ay may apat na elemento: "to,from,heading,body"

!ELEMENT to (fourth line) definition to Ang elemento ay may uri na "#PCDATA"

!ELEMENT from (fifth line) definition from Ang elemento ay may uri na "#PCDATA"

!ELEMENT heading (sixth line) definition heading Ang elemento ay may uri na "#PCDATA"

!ELEMENT body (seventh line) definition body Ang elemento ay may uri na "#PCDATA"

External Document Declaration

Kung ang DTD ay nasa labas ng XML na pinagmulan ng file, dapat itong ilagay sa loob ng syntax ng DOCTYPE definition:

!DOCTYPE root-element SYSTEM "filename">

Ang dokumentong XML na ito at ang nakaraang dokumentong XML ay magkapareho, ngunit mayroong panlabas na DTD: (Buksan ang IE5at piliin ang "View Source" command.).

<?xml version="1.0"?>
!DOCTYPE note SYSTEM "note.dtd"
<note>
<to>George</to>
<from>John</from>
<heading>Paalaala</heading>
<body>Wala kang alam tungkol sa pagpupulong!</body>
</note>

Ito ang file na naglalaman ng DTD na "note.dtd":

!ELEMENT note (to,from,heading,body)
!ELEMENT to (#PCDATA)
!ELEMENT from (#PCDATA)
!ELEMENT heading (#PCDATA)
!ELEMENT body (#PCDATA)

为什么使用 DTD?

通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。

通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。

而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。

您还可以使用 DTD 来验证您自身的数据。