Problem mit DTD
Thomas Mell
- xml
0 MudGuard0 Tim Tepaße
Hallo,
kleines Problem beim erstellen einer DTD.
Für:
<channel>
<title>Mozilla Dot Org</title>
<link>http://www.mozilla.org</link>
<description>the Mozilla Organization web site</description>
</channel>
habe ich in der DTD:
<!ELEMENT channel (title | link | description)*>
geschrieben.
Nun dürfen aber die Elemente "title", "description" und "link" mehrmals in "channel" vorkommen, was aber verboten sein soll.
<!ELEMENT channel (title, description, link)>
Kann ich aber auch nicht schreiben, da dann die Reihenfolge der Elemente starr ist.
Ich benötige also einen Ausdruck in dem die Reihenfolge der Elemente beliebig ist, aber jedes Element nur einmal vorkommen darf.
Ist das mit einer DTD überhaupt möglich, oder muß ich dafür ein Schema benutzen?
Grüße
Thomas
Hi,
<!ELEMENT channel (title | link | description)*>
Nun dürfen aber die Elemente "title", "description" und "link" mehrmals in "channel" vorkommen, was aber verboten sein soll.
<!ELEMENT channel ((title, description, link)|(title, link, description)|(description, link, title)|(description, title, link)|(link, title, description)|(link, description, title))>
(wird halt bei noch mehr Kind-Element-Typen irgendwann unübersichtlich).
Ggf. müssen noch die Fälle berücksichtigt werden, in denen ein oder zwei oder alle 3 Kind-Element-Typen fehlen.
Wesentlich einfacher wäre es, wenn die Reihenfolge strikt vorgegeben wäre.
cu,
Andreas
Hallo Thomas,
<channel>
<title>Mozilla Dot Org</title>
<link>http://www.mozilla.org</link>
<description>the Mozilla Organization web site</description>
</channel>
Interessehalber: Das sieht für mich wie RSS aus. Versuchst Du gerade, dafür
eine DTD zu entwickeln, auch wenn die Standards sowas nicht hergeben? Dann
würde ich an Deiner Stelle mal etwas intensiver googeln, bei xml.com oder
ähnlichen Orten gab es mal Beispiel-DTDs für RSS. Natürlich nur inoffizielle,
da Dave Winer sowas nichts nötig zu haben scheint. ;o)
Tim