DTDs gibt es nicht nur für XML-Dialekte, sondern auch für HTML, z.B. für HTML 4.01.
eine XML-Seite mit externer DTD
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="style.xsl" type="text/xsl" standalone="no"?>
<page>
<title>Hello</title>
<content>
<para>This is my first Cocoon2 page!
<!-- ein Kommentar wird nicht geparst -->
<![CDATA[<Element>dieses Element wird nicht geparst,
sondern nur als Zeichenfolge ausgegeben</Element>]]>
</para>
</content>
</page>
eine XML-Seite mit interner DTD
<?xml version="1.0"?>
<?xml-stylesheet href="style.xsl" type="text/xsl" standalone="yes"?>
<!DOCTYPE page [
<!ELEMENT page (title?, content)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (para+)>
<!ELEMENT para (#PCDATA)>
]>
<page>
<title>Hello</title>
<content>
<para>This is my first Cocoon2 page!
<!-- ein Kommentar wird nicht geparst -->
<![CDATA[<Element>dieses Element wird nicht geparst,
sondern nur als Zeichenfolge ausgegeben</Element>]]>
</para>
</content>
</page>
Die Angabe einer XSL-Datei ist in folgenden Fällen nicht erforderlich:
- direkte Auswertung durch Java-Klassen oder Programme
- Zugriff in einer XSL-Datei über XPath-Befehl document()
Beispiel:
Die Datei "daten.xml" wird mit "verarbeitung.xsl" bearbeitet.
"verarbeitung.xsl" holt sich mit dem Befehl
document('../archiv.xml')/recht/@bearbeiter
aus der Datei archiv.xml die Information, wer der
Bearbeiter für Rechtsfragen ist.