Fernando Santini: Fehler in der Recommendation?

Hallo zusammen,

auf
http://www.w3.org/TR/1998/REC-html40-19980424/intro/sgmltut.html#h-3.3.3
wird gezeigt wie man die DTD zu interpretieren hat.
Bei einem Beispiel:
<!ELEMENT DL    - - (DT|DD)+>
Wird darunter geschrieben:
The DL element must contain one or more DT or DD elements in any order.

Das kann ja so nicht stimmen, denn bei der Validierung dieses Quellcodes gibt der W3C-Validator keine Fehlermeldung aus!

<dl>
<dt>Definition Term</dt>
<dd>Definition</dd>
</dl>

Dabei steht doch in der Recommendation, dass nur DT *oder* DD in DL stehen darf (mindestens ein- oder mehrmal). D.h. der Validator interpretiert das ganze als
<!ELEMENT DL    - - (DT&DD)+>
oder mache ich einen Denkfehler?

Danke für eure Hilfe

Fernando

  1. The DL element must contain one or more DT or DD elements in any order.

    Das kann ja so nicht stimmen, denn bei der Validierung dieses Quellcodes gibt der W3C-Validator keine Fehlermeldung aus!

    <dl>
    <dt>Definition Term</dt>
    <dd>Definition</dd>
    </dl>

    Dabei steht doch in der Recommendation, dass nur DT *oder* DD in DL stehen darf (mindestens ein- oder mehrmal).

    Das typische Oder-Problem: Bedeutet es nun entweder-oder (exklusives oder) oder ein-oder-mehrere (und/oder)? In der HTML-Spezifikation ist logischerweise letzteres; welchen Sinn würde es denn machen, wenn zu einem Text (<dt>) keine Erklärung (<dd>) stehen dürfte? Und dann wäre auch der letzte Teil des Satzes überflüssig: "in any order", wenn nur entweder <dt>- oder <dd>-Elemente vorkommen, gibt es keine <dt>-<dd>-Reihenfolge, die man als beliebig bezeichnen könnte.

    Also: Ein oder mehrere <dt>- oder <dd>-Elemente, egal in welcher Reihenfolge.

    Gruß,
      soenk.e

  2. Hallo zusammen,

    Hi,

    auf
    http://www.w3.org/TR/1998/REC-html40-19980424/intro/sgmltut.html#h-3.3.3
    wird gezeigt wie man die DTD zu interpretieren hat.
    Bei einem Beispiel:
    <!ELEMENT DL    - - (DT|DD)+>
    Wird darunter geschrieben:
    The DL element must contain one or more DT or DD elements in any order.

    DT|DD bedeutet entweder ein DT oder ein DD, aber nicht beides.
    (DT|DD) bedeutet genau das selbe.
    (DT|DD)+ ist eine Abkürzung für

    (DT|DD)
    | (DT|DD)(DT|DD)
    | (DT|DD)(DT|DD)(DT|DD)
    | (DT|DD)(DT|DD)(DT|DD)(DT|DD)
    | (DT|DD)(DT|DD)(DT|DD)(DT|DD)(DT|DD)
    | (DT|DD)(DT|DD)(DT|DD)(DT|DD)(DT|DD)(DT|DD)
    usw.

    Für jede der Klammern gilt (siehe oben): entweder ein DT oder ein DD, aber nicht beides.
    ABER: jede Klammer wird vollkommen unabhängig von den anderen ausgewertet.
    Wenn also bei der ersten Klammer ein DT zutrifft, kann bei der zweiten immer noch entweder ein DT oder ein DD zutreffen.
    Usw.

    Andreas

    Das kann ja so nicht stimmen, denn bei der Validierung dieses Quellcodes gibt der W3C-Validator keine Fehlermeldung aus!

    <dl>
    <dt>Definition Term</dt>
    <dd>Definition</dd>
    </dl>

    Dabei steht doch in der Recommendation, dass nur DT *oder* DD in DL stehen darf (mindestens ein- oder mehrmal). D.h. der Validator interpretiert das ganze als
    <!ELEMENT DL    - - (DT&DD)+>
    oder mache ich einen Denkfehler?

    Danke für eure Hilfe

    Fernando

    1. Nachtrag:

      Damit nur entweder DD oder DT zulässig wären, müßte es

      (DT+|DD+)

      heißen.

      Andreas