Thomas Mell: Problem mit DTD

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

  1. 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

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. 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