Vissa typer av data är inte så lätta att få in i en enkel
grundstruktur. Tänk dig gärna en dators hårddisk. Den består
av kataloger (mappar) och filer. En katalog beståer i sin tur av kataloger
och filer, och katalogerna består i sin tur av kataloger och filer.
Detta är inte så lätt att pressa in i en enkel struktur eftersom
datat är rekursivt. Vi måste då skapa en struktur där
en nod kan innehålla samma nodtyp.
Nedan finns ett på en xml fil med en intern DTD som beskriver filsystemet
på en dator. Observera att directory noden kan innehålla directory
noder (rekursivt).
xml13_1.xml
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE directory [
<!ELEMENT directory ( name, file*, directory* )>
<!ELEMENT name ( #PCDATA )>
<!ELEMENT file ( #PCDATA )>
]>
<directory>
<name>C:</name>
<file>boot.ini</file>
<file>pagefile.sys</file>
<file>io.sys</file>
<directory>
<name>winnt</name>
<file>notepad.exe</file>
<file>winhelp.exe</file>
<directory>
<name>system32</name>
<file>actmovie.exe</file>
<file>cmd.exe</file>
<directory>
<name>drivers</name>
<file>afd.sys</file>
<directory>
<name>etc</name>
<file>lmhost</file>
</directory>
</directory>
</directory>
</directory>
</directory>
Om du har IE 5.0 eller nyare kan du klicka här för att se filen i praktiken