DTD vejledning

Dokumenttype definition (DTD) kan definere gyldige byggeblokke for XML-dokumenter. Det bruger en række gyldige elementer til at definere dokumentets struktur.

DTD kan deklareres linjevis i XML-dokumentet eller som en ekstern reference.

Intern DOCTYPE-deklaration

Hvis DTD inkluderes i din XML-kildefil, skal det pakkes ind i en DOCTYPE-deklaration med følgende syntaks:

!DOCTYPE rod-element [elementdeklaration]

Eksempel på XML-dokument med DTD (åbn venligst i IE5 og højere versioner, og vælg "Vis kildekode"):

<?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>Påmindelse</heading>
  <body>Glæm ikke mødet!</body>
</note>

Åbn dette XML-dokument i din browser og vælg "Vis kildekode"-kommandoen.

Følgende DTD-forklaringer:

!DOCTYPE note (Anden linje) definerer dette dokument som note dokumenter.

!ELEMENT note (Tredje linje) definition note Elementerne har fire elementer: "to,from,heading,body"

!ELEMENT to (Fjerde linje) definition to Elementer er af typen "#PCDATA"

!ELEMENT from (Femte linje) definition from Elementer er af typen "#PCDATA"

!ELEMENT heading (Sjette linje) definition heading Elementer er af typen "#PCDATA"

!ELEMENT body (Syvende linje) definition body Elementer er af typen "#PCDATA"

Ekstern dokumentdeklaration

Hvis DTD er placeret uden for XML-kildedokumentet, skal den被封装 i en DOCTYPE-definition med følgende syntaks:

!DOCTYPE rod-element SYSTEM "filnavn"

Dette XML-dokument er det samme som det ovenstående XML-dokument, men har en ekstern DTD: (Åbn dette XML-dokument i IE5og vælg "Vis kildekode"-kommandoen.).

<?xml version="1.0"?>
!DOCTYPE note SYSTEM "note.dtd"
<note>
<to>George</to>
<from>John</from>
<heading>Påmindelse</heading>
<body>Glæm ikke mødet!</body>
</note>

Dette er en fil "note.dtd" der indeholder DTD:

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

Hvorfor bruge DTD?

Gennem DTD kan hver eneste af dine XML-filer bære en beskrivelse af dens egen format.

Gennem DTD kan uafhængige grupper bruge en standard DTD til at udveksle data på en konsistent måde.

Og din applikation kan også bruge en standard DTD til at validere data, der modtages fra eksterne kilder.

Du kan også bruge DTD til at validere dine egne data.