MudGuard: Verständnisproblem: Ausnahmen von Verschachtelungsregeln

Beitrag lesen

Hi,

Aber wenn in einem XML-Dokument (und eine XHTML-Datei mit korrekter XML-Deklaration ist ein XML-Dokument) auf eine DTD Bezug genommen wird, bedeutet "<a>" doch zumindest, dass für dieses Element bestimmte, in der DTD genau definierte Verschachtelungsregeln gelten. Und wenn die DTD, auf die Bezug genommen wird, diejenige ist, die XHTML beschreibt, dann lauten diese Verschachtelungsregeln für das a-Element wie folgt:

(#PCDATA | br | span | bdo | map | object | img |
  tt | i | b | big | small | em | strong | dfn | code |
  q | samp | kbd | var | cite | abbr | acronym | sub |
  sup | input | select | textarea | label | button |
  ins | del | script)*

Es wird also ein weiteres a-Element innerhalb eines a-Elements verboten.

Nicht ganz.

Es wird hiermit ein a-Element als Kind des a-Elements verboten.
Nicht jedoch ein a-Element als Enkel, Urenkel, Ururenkel...

<a><a>bla</a></a> ist also nicht möglich,

<a><b><a>bla</a></b></a> ist aber theoretisch noch möglich.

Denn b darf %Inline; enthalten, was als
(#PCDATA | %inline; | %misc.inline;)*
definiert ist, %inline (kleines i!) wiederum ist als
a | %special; | %fontstyle; | %phrase; | %inline.forms;
definiert, womit a in b vorkommen dürfte.

cu,
Andreas

--
Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.