SS13 Übung 9 XML

Erstellung DTD

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

SS13 Übung 9 XML
Hi,

habe mich nochmals daran versucht eine DTD für das Drama zu erstellen. Mein Vorschlag sieht allerdings etwas anders aus, als der der Musterlösung. In meiner Lösung habe ich stärker versucht die eigentlich Struktur der XML Datei einfließen zu lassen. Ist mein Vorgehen in Ordnung? Ich poste dazu mal die XML-Datei, den Lösungsvorschlag vom Lehrstuhl und dann meine Lösung.
Vielen Dank schon mal für die Hilfe!

Liebe Grüße
ingonör

<?xml version="1.0" encoding="iso-8859-1"?>
<drama>
	<dramainfo>
		<autor>Robert Gernhard</autor>
		<titel>Wenn der Vater mit dem Sohne ...</titel>
		<untertitel>Ein Kleindrama</untertitel>
		<quelle>Gedichte aus Wörtersee</quelle>
		<jahr>1981</jahr>
	</dramainfo>
	<szenenabschnitt>
		<szenenbeschreibung>
			Der Vater, ein bekannter Rüstungsindustrieller, sitzt vor
			seinem Schreibtisch ... abschätzigen Blick seines Sohnes.
		</szenenbeschreibung>
		<dialog>
			<akteur rolle="Vater">
				<vers>Mein Sohn, wenn ich mal sterbe,</vers>
				<vers>wirst du mein Erbe!</vers>
			</akteur>
			<akteur rolle="Sohn">
				<vers>Nein, Vater, nein und nochmals nein,</vers>
				<vers>dein Erbe möchte ich nicht sein!</vers>
			</akteur>
			<akteur rolle="Vater">
				<vers>Das ist ein Ton, der mir missfällt!</vers>
			</akteur>
			<akteur rolle="Sohn">
				<vers>Ich pfeife trotzdem auf dein Geld!</vers>
			</akteur>
			.
		</dialog>
	</szenenabschnitt>
	.
</drama>
<!DOCTYPE drama [
<!ELEMENT drama (autor, titel, untertitel, jahr, quelle, szenenabschnitt,
szenenabschnitt, szenenbeschreibung)>
<!ELEMENT autor (#PCDATA)>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT untertitel (#PCDATA)>
<!ELEMENT jahr (#PCDATA)>
<!ELEMENT quelle (#PCDATA)>
<!ELEMENT szenenabschnitt (szenenbeschreibung, akteur+)>
<!ELEMENT szenenbeschreibung (#PCDATA)>
<!ELEMENT akteur (vers+)>
<!ATTLIST akteur rolle (Vater|Sohn) #REQUIRED>
<!ELEMENT vers (#PCDATA)>
]>

Meine Lösung:

<!DOCTYPE drama[
	<!ELEMENT drama(dramainfo, szenenabschnitt)>
	<!ELEMENT dramainfo(autor, titel, untertitel, quelle, jahr)>
	<!ELEMENT autor (#PCDATA)>
	<!ELEMENT titel (#PCDATA)>
	<!ELEMENT untertitel (#PCDATA)>
	<!ELEMENT quelle (#PCDATA)>
	<!ELEMENT jahr (#PCDATA)>
	<!ELEMENT szenenabschnitt(szenenbeschreibung, dialog)>
	<!ELEMENT szenenbeschreibung (#PCDATA)>
	<!ELEMENT dialog(akteur)>
	<!ATTLIST akteur rolle(Vater, Sohn) #REQUIRED>
	<!ELEMENT akteur(vers)+>
	<!ELEMENT vers (#PCDATA)>
]>

Hi Ingonör,

also deine Lösung sieht ja schon mal ganz gut aus aber ein paar fehler sind doch noch drin:

zeile 11: ein akteur kann ja mehrfach vorkommen also akteur+.
zeile 12: vater und sohn wechseln sich ab, du sagst das beide required sind, es ist aber ODER also kein komma sondern |
zeile 13: das plus muss in die klammern (vers+)

sonst seh ich nichts weiter… aber ich bin auch kein profi :slight_smile:

Bass


Ah, super! Vielen Dank für die Korrektur!