XML < Sonstige < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Aufgabe | Ich habe da eine Aufgabe, die da lautet:
<!ELEMENT medienbestand (dvd*, vhs*)>
Das heißt ja jetzt, dass dvd und vhs vorkommen müssen, allerdings beliebig oft, so dass auch eins oder beide gar nicht (also 0 mal) vorkommen können. Soweit hin klar. Nun geht es in der Aufgabenstellung weiter, wir müssen einen Medienbestand beschreiben, der mindestens eine VHS und 2 DVDs enthält. Auch das is kein Problem.
Aber: jetzt sollen wir annehmen, die DTD würde einen Medienbestand wie folgt definieren:
<!ELEMENT medienbestand (vhs | dvd)*>
Das bedeutet, dass entweder vhs ODER dvd beliebig oft vorkommen können.
|
Die Frage die sich mit stellt ist jetzt, ob wenn beides quasi zusammen vorkommen kann, also 0 vhs UND eine oder mehrere DVDs? Denn wenn etwas 0 ist, ist es ja quasi nicht da. Oder zählt die Anzahl 0 quasi auch als vorhanden, obwohl sies ja nicht ist. Ich hoffe meine Frage wird irgendwie klar?
Und dann wird noch gefragt, ob jedes Dokument, das nach der ersten DTD gültig ist, auch entsprechend der zweiten gültig ist, und umgekehrt...
Kann mir da nicht so ganz einig werden, ob wenn etwas 0 ist, das auch als Anzahl also vorhandensein gilt...hab dazu mal einen Text formuliert:
Nein, nicht jedes Dokument, das nach der ersten DTD gültig ist, ist entsprechend der zweiten gültig, weil das exklusive ODER [(vhs | dvd)*] ausschließt, dass vhs UND dvd zusammen in einem Dokument vorkommen (egal in welcher Anzahl? Gilt 0 als Anzahl?). Doch der *-Operator besagt ja, dass von jedem Element 0 oder mehr angegeben werden kann. Somit kann ein Element mit 0 angegeben werden (und ist somit theoretisch nicht vorhanden?) und das andere ebenfalls mit 0 (auch nicht vorhanden? Oder doch?) oder mehr...da aber mindestens eine VHS und 2 DVDs angegeben werden müssen, und das exklusive ODER ja schon eins von beiden ausschließt, ist das Dokument nicht gültig.
Ist jedes Dokument, das für die zweite DTD gültig ist, auch für die erste gültig?
Nein, das zweite DTD kann ENTWEDER 0 oder mehrere DVDs ODER 0 oder mehrere VHS enthalten, nicht beides zusammen. Da aber verlangt wird, dass beides (mindestens 1 VHS und 2 DVDs) vorkommt, kann diese nicht gültig sein.
Danke schonmal!!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 08:57 Mi 19.12.2007 | Autor: | rainerS |
Hallo!
> Ich habe da eine Aufgabe, die da lautet:
>
> <!ELEMENT medienbestand (dvd*, vhs*)>
>
> Das heißt ja jetzt, dass dvd und vhs vorkommen müssen,
> allerdings beliebig oft, so dass auch eins oder beide gar
> nicht (also 0 mal) vorkommen können.
Nicht nur: es bedeutet auch, dass alle dvd-Elemente (wenn vorhanden) vor den vhs-Elementen (wenn vorhanden) kommen.
> Soweit hin klar. Nun
> geht es in der Aufgabenstellung weiter, wir müssen einen
> Medienbestand beschreiben, der mindestens eine VHS und 2
> DVDs enthält. Auch das is kein Problem.
>
> Aber: jetzt sollen wir annehmen, die DTD würde einen
> Medienbestand wie folgt definieren:
>
> <!ELEMENT medienbestand (vhs | dvd)*>
>
> Das bedeutet, dass entweder vhs ODER dvd beliebig oft
> vorkommen können.
Nicht ganz. Es bedeutet, dass die Unterelemente beliebig oft vorkommen dürfen (auch gar nicht, also medienbestand ohne Unterelemente), und dass jedes Unterelement entweder dvd oder vhs ist.
> Die Frage die sich mit stellt ist jetzt, ob wenn beides
> quasi zusammen vorkommen kann, also 0 vhs UND eine oder
> mehrere DVDs? Denn wenn etwas 0 ist, ist es ja quasi nicht
> da. Oder zählt die Anzahl 0 quasi auch als vorhanden,
> obwohl sies ja nicht ist. Ich hoffe meine Frage wird
> irgendwie klar?
Stell dir den * vor als Alternative: "entweder es ist leer, oder eine beliebige Anzahl", dann wird's sicher klarer.
> Und dann wird noch gefragt, ob jedes Dokument, das nach der
> ersten DTD gültig ist, auch entsprechend der zweiten gültig
> ist, und umgekehrt...
Ja.
> Kann mir da nicht so ganz einig werden, ob wenn etwas 0
> ist, das auch als Anzahl also vorhandensein gilt...
Das habe ich nicht verstanden.
> Ist jedes Dokument, das für die zweite DTD gültig ist, auch
> für die erste gültig?
> Nein, das zweite DTD kann ENTWEDER 0 oder mehrere DVDs
> ODER 0 oder mehrere VHS enthalten, nicht beides zusammen.
> Da aber verlangt wird, dass beides (mindestens 1 VHS und 2
> DVDs) vorkommt, kann diese nicht gültig sein.
Nein, nicht gültig, aber die Begründung ist falsch.
Viele Grüße
Rainer
|
|
|
|
|
Hm, ok. Habe das jetzt so zusammen gefasst:
Ja, jedes Dokument, das nach der ersten DTD gültig ist, ist entsprechend der zweiten gültig, (dvd*, vhs*) besagt, dass die Unterelemente dvd und vhs vorkommen müssen, allerdings beliebig oft, so dass auch eins oder beide gar nicht, vorkommen können. (Außerdem muss die Reihenfolge eingehalten werden).
(vhs | dvd)* besagt, dass die Unterelemente beliebig oft vorkommen dürfen (auch gar nicht), also auch ein medienbestand ohne Unterelemente und dass jedes Unterelement entweder dvd oder vhs ist.
Aber irgendwo steh ich da aufm Schlauch, wie ist die Begründung? Da sich beide DTD's quasi überschneiden, oder wie? Und wieso ist es andersherum nicht gültig? Muss die Bedingung, dass mindestens ein vhs und 2 dvds enthalten sein müssen, mitberücksichtigt werden? Ich bin total verwirrt :-(
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 00:01 Do 20.12.2007 | Autor: | rainerS |
Hallo!
> Hm, ok. Habe das jetzt so zusammen gefasst:
>
> Ja, jedes Dokument, das nach der ersten DTD gültig ist, ist
> entsprechend der zweiten gültig, (dvd*, vhs*) besagt, dass
> die Unterelemente dvd und vhs vorkommen müssen, allerdings
> beliebig oft, so dass auch eins oder beide gar nicht,
> vorkommen können. (Außerdem muss die Reihenfolge
> eingehalten werden).
Genau, und mit der zweiten dtd nicht. Also ist
1: | <medienelement>
| 2: | <vhs/>
| 3: | <dvd/>
| 4: | </medienelement> |
nach der zweiten erlaubt und nach der ersten nicht.
Viele Grüße
Rainer
|
|
|
|