DTD-Datei
Julius Becker
- xml
0 MudGuard0 Julius Becker0 MudGuard0 Julius Becker0 Thomas J.S.0 MudGuard
0 Thomas J.S.
Hallo!
da ich eine DTD für eine Wörterbuchauszeichnungssprache entwerfen möchte, habe ich mir bei SELFHTML das Kapitel über DTD durchgelesen.
Ich hab jedoch ein Paar Probleme, mit dem "+ * ?"
Okay. Ich habe hier zwei kurze Auszüge und würde gern wissen, ob das, was ich mir dazu gedacht habe, auch richtig ist:
<!ELEMENT t (#PCDATA, (n)*, (pos | gram)?)>
in "t"
- muss normaler Text stehen
- können zusätzlich mehrere "n" stehen, muss jedoch nicht
- können fakultativ ein "pos" und ein "gram" stehen
<!ELEMENT sense ((n)?,(t)+,(ex | dom | niv)*)>
in "sense"
- kann ein "n" stehen (jedoch nicht mehrere)
- muss mindestens ein "t" stehen
- können fakultativ mehrere "ex", "dom" und "niv" stehen, müssen jedoch nicht
Vielen Dank im Voraus für die Antworten und noch allen frohe Weihnachten.
Julius
Hi,
<!ELEMENT t (#PCDATA, (n)*, (pos | gram)?)>
in "t"
- muss normaler Text stehen
- können zusätzlich mehrere "n" stehen, muss jedoch nicht
- können fakultativ ein "pos" und ein "gram" stehen
| steht für oder, nicht für und.
entweder pos oder gram
<!ELEMENT sense ((n)?,(t)+,(ex | dom | niv)*)>
in "sense"
- kann ein "n" stehen (jedoch nicht mehrere)
- muss mindestens ein "t" stehen
- können fakultativ mehrere "ex", "dom" und "niv" stehen, müssen jedoch nicht
immer noch oder - da es aber mehrere sind, ist hier das "und" nicht vollkommen verkehrt.
cu,
Andreas
Hi Andreas,
also eher
a) <!ELEMENT t (#PCDATA, (n)*, (pos,gram)?)>
b) <!ELEMENT sense ((n)?,(t)+,(ex,dom,niv)*)>
damit gilt:
a) in "t" können fakultativ ein "pos" und ein "gram" stehen
b) in "sense" können fakultativ mehrere "ex", "dom" und "niv" stehen, müssen jedoch nicht
?
Übrigens danke für die schnelle Antwort.
Grüße
Julius
Hi,
also eher
a) <!ELEMENT t (#PCDATA, (n)*, (pos,gram)?)>
b) <!ELEMENT sense ((n)?,(t)+,(ex,dom,niv)*)>a) in "t" können fakultativ ein "pos" und ein "gram" stehen
ja, genau in dieser Reihenfolge.
b) in "sense" können fakultativ mehrere "ex", "dom" und "niv" stehen, müssen jedoch nicht
es können jetzt mehrere Folgen von ex, dom, niv vorkommen.
Also
n t t t ex dom niv ex dom niv ex dom niv
oder
n t t t
aber nicht
n t t t ex ex dom dom niv niv
cu,
Andreas
Auf zur dritten Runde
Wenn ich aber n t t t ex ex dom dom niv niv haben möchte, sollte ich
<!ELEMENT sense ((n)?,(t)+,(ex)*,(dom)*,(niv)*)> machen.
Ich glaube, jetzt hab ich's verstanden! DANKE!
Viele Grüße
Julius
Hallo,
Wenn ich aber n t t t ex ex dom dom niv niv haben möchte, sollte ich
<!ELEMENT sense ((n)?,(t)+,(ex)*,(dom)*,(niv)*)> machen.Ich glaube, jetzt hab ich's verstanden!
Ja, wobei es reicht vollkommen wenn du so schreibst:
<!ELEMENT sense (n?,t+,ex*,dom*,niv*)>
Grüße
Thomas
Hallo,
also eher
a) <!ELEMENT t (#PCDATA, (n)*, (pos,gram)?)>
a) in "t" können fakultativ ein "pos" und ein "gram" stehen
ja, genau in dieser Reihenfolge.
NEIN!
Wenn für ein Element das gemischte Inhaltsmodell verwendet wird, muss im Inhaltsmodell das Schlüsselwort #PCDATA an der ersten Stelle notiert werden. Weiters kann für das gemischte Inhaltsmodell keine Abfolge [,], Auswahl [|] oder Optionalität [?][*] der Kindelemente festlegen. Nach dem schließenden Klammer des Inhaltsmodells muss der Operator * (Stern) notiert werden.
Grüße
Thomas
Hi,
NEIN!
Wenn für ein Element das gemischte Inhaltsmodell verwendet wird, muss im Inhaltsmodell das Schlüsselwort #PCDATA an der ersten Stelle notiert werden.
Ups, übersehen...
cu,
Andreas
Hallo,
Okay. Ich habe hier zwei kurze Auszüge und würde gern wissen, ob das, was ich mir dazu gedacht habe, auch richtig ist:
<!ELEMENT t (#PCDATA, (n)*, (pos | gram)?)>
in "t"
- muss normaler Text stehen
- können zusätzlich mehrere "n" stehen, muss jedoch nicht
- können fakultativ ein "pos" und ein "gram" stehen
Geht nicht. Siehe meine antwort unter [pref:t=67336&m=385259]
<!ELEMENT sense ((n)?,(t)+,(ex | dom | niv)*)>
in "sense"
- kann ein "n" stehen (jedoch nicht mehrere)
- muss mindestens ein "t" stehen
- können fakultativ mehrere "ex", "dom" und "niv" stehen, müssen jedoch nicht
<!ELEMENT sense (n?,t+,(ex | dom | niv)*)>
Grüße
Thomas