Problematik beim Erstellen eines XML Files zu einer DTD

Crystal_Mountain

Grünschnabel
Hallo!

Ich bin gerade dabei mir die Grundzüge von XML anzueignen, jedoch bin ich jetzt auf ein Problem gestoßen, dass ich selbst nicht lösen kann. Mit der Fehlermeldung des XML Validators (z.B. Fehler: Inhalt des Elemententyps "interpret" muss zu "(band|kuenstlername|(vorname+,nachname))" passen.) komme ich nicht ganz zu recht, da in meinen Augen die Form passen müsste. :confused:

Es wäre echt nett wenn mir jemand sagen könnte, was ich falsch mache oder übersehen habe...

€: Scheinbar existieren zwischen den einzelnen Elementen eine art Kreuzverzweigung, d.h. wenn irgendwo in der DTD (interpret) steht und dieser weiter unten in einem eigenen <!ELEMENT> Tag genauer definiert ist, muss diese definierte Deklarierung übernommen werden. Der untere Code weißt nur noch 1 Fehler auf, den finde ich jedoch nicht mehr.

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE musik-liste[
<!ELEMENT musik-liste (album | musiktitel)+>
<!ELEMENT album (titel, interpret+, beschreibung?, (musiktitel | verweis)+)>
<!ATTLIST album ASIN ID #REQUIRED
 preis CDATA #IMPLIED erscheinung CDATA #IMPLIED
 anzahl CDATA #IMPLIED>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT interpret (band | kuenstlername | (vorname+, nachname))>
<!ELEMENT band (#PCDATA)>
<!ELEMENT kuenstlername (#PCDATA)>
<!ELEMENT vorname (#PCDATA)>
<!ELEMENT nachname (#PCDATA)>
<!ELEMENT beschreibung ANY>
<!ELEMENT musiktitel (titel, interpret+, beschreibung?, laenge)>
<!ATTLIST musiktitel titelIN ID #IMPLIED
 preis CDATA #IMPLIED erscheinung CDATA #IMPLIED
 wertung CDATA "0">
<!ELEMENT laenge (minuten, sekunden)>
<!ATTLIST laenge fuehrendeNullen (ja | nein) "ja">
<!ELEMENT minuten (#PCDATA)>
<!ELEMENT sekunden (#PCDATA)>
<!ELEMENT verweis EMPTY>
<!ATTLIST verweis ziel IDREF #REQUIRED>
]>

<musik-liste>

<album ASIN="gggg" preis="8" erscheinung="2008" anzahl="55">
	<titel>Testtitel</titel>
	<interpret>
		<vorname>TestVorname</vorname>
		<nachname>TestNachname</nachname>
	</interpret>
	<beschreibung>Beschreibung</beschreibung>
	<musiktitel titelIN="jjjjj" preis="30" erscheinung="2008" wertung="0">
		<titel>Testtitel</titel>
	<interpret>
		<band>Testband</band>
	</interpret>
	<laenge>
		<minuten>3</minuten>
		<sekunden>50</sekunden>
	</laenge>
	</musiktitel>
</album>

<titel>Testtitel</titel>

<interpret>
	<vorname>Vorname</vorname>
	<nachname>Nachname</nachname>
</interpret>

<band>Band</band>

<kuenstlername>Kunst</kuenstlername>

<vorname>Vorname</vorname>

<nachname>Nachname</nachname>

<beschreibung>Beschreibung</beschreibung>

<musiktitel titelIN="hhhhhhh" preis="34" wertung="0">
	<titel>Testtitel</titel>
	<interpret>
		<vorname>TestVorname</vorname>
		<nachname>TestNachname</nachname>
	</interpret>
	<beschreibung>Beschreibung</beschreibung>
	<laenge>
		<minuten>3</minuten>
		<sekunden>50</sekunden>
	</laenge>
</musiktitel>

<laenge fuehrendeNullen="ja">
	<minuten>3</minuten>
	<sekunden>50</sekunden>
</laenge>

<minuten>3</minuten>

<sekunden>50</sekunden>

<verweis ziel="gggg"></verweis>
	
</musik-liste>

Vielen Dank im Voraus.

€: Mir ist gerade mein Missgeschick aufgefallen, würde den jeweiligen Moderator bitten dass in das richtige Unterforum zu verschieben, tut mir wirklich leid, bin heut schon blind..
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück