dtd

| oder

%

+   <!ELEMENT XXX (AAA+ , BBB)> Das Element AAA kann ein oder mehrere Male vorkommen.

*   <!ELEMENT XXX (AAA* , BBB)> Das Element AAA kann null, ein oder mehrere Male im Dokument (.xml Datei) vorkommen.
     Element BBB muss immer vorhanden sein. Auch die Reihenfolge muss stimmen.

?   <!ELEMENT XXX (AAA? , BBB)> XXX kann AAA enthalten, welches von genau einem Element BBB gefolgt wird. BBB muss immer vorhanden sein.

< und & dürfen nicht im Text vorkommen, sie müssen mit &lt; und &amp; ersetzt werden.

"

'

Ein Kommentar darf nicht -- enthalten.

Das XML-Dokument muss ein oder mehrere Elemente beinhalten.


eine CD-Sammlung mit XML

Aufgabe: Beschreibe eine Sammlung von CDs mit Hilfe von XML
• erfaßt werden sollen (zunächst):
– Titel der CD
– Künstler
– Liste der Musikstücke (Titel)
• Wie werden die Daten beschrieben? (Elemente, Attribute)
• Welche Elemente/Attribute werden benötigt?
• Wie werden die Elemente angeordnet?
• Welchen Elementen werden welche Attribute zugeordnet?

<?xmlversion="1.0"?>
<!DOCTYPE collection SYSTEM "cd-collection1.dtd">
<collection>

<cd>
<artist>TheBeatles</artist>
<title>Help!</title>
<songlist>
    <song>Help!</song>
    <song>TheNightBefore</song>
    <song>Submarine</song>
</songlist>
</cd>
<cd>...</cd>

</collection>

• in cd-collection1.xml zu finden

Die dtd

<!ELEMENT collection (cd+)>
<!ELEMENT cd (artist,title,songlist)>
<!ELEMENT artist (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT songlist (song*)>
<!ELEMENT song (#PCDATA)>
Grundlage
<!ELEMENT elem (kind1, kind2+)>
<!ELEMENT kind1 (#PCDATA)>
<!ELEMENT kind2 (#PCDATA | kind3)>
<!ELEMENT kind3 (#PCDATA)>

• in cd-collection1.dtd zu ?nden

• Erscheinungsjahr der CD soll erfaßt werden
• zum Beispiel als Attribut

<cd year="1965">
<artist>The Beatles</artist>
<title>Help!</title>

• in der DTD
<!ATTLIST cd
                  year CDATA #IMPLIED>

Quelle: www.techfak.uni-bielefeld.de/~joern/edu/xml/xmlpraxis02/xmlueb-screen.pdf Ein Buch

http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=dtd