MudGuard: Validator: Character data is not allowed here

Beitrag lesen

Hi,

<li class="main">v

<noscript>

Für 1) bringt der w3c-Validator die im Thema genannte Meldung. Gut, wenn ich das Wort "Lichtquellen" zu einem div-Element mache, dann geht die Validierung OK. Aber ich verstehe es nicht. Denn wenn ich "Lichtquellen" an die Position 2 verschiebe, dann funktionierts ja auch ohne div-Tags! Und was zwischen 1) und 2) geöffnet wird, wird auch geschlossen!

Hier mal die relevanten Zeilen aus der DTD:

<!ELEMENT NOSCRIPT - - (%block;)+  -- alternate content container for non script-based rendering -->

<!ELEMENT LI - O (%flow;)*             -- list item -->

<!ENTITY % flow "%block; | %inline;">

<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

noscript darf also nur block-Elementen enthalten,
li dagegen darf flow-Elemente enthalten.
flow enthält neben block (das ja auch in noscript erlaubt ist) auch inline.
Und inline enthält PCDATA (also character data).

block dagegen enthält kein PCDATA:

<!ENTITY % block
     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">

<!ENTITY % heading "H1|H2|H3|H4|H5|H6">

<!ENTITY % list "UL | OL">

<!ENTITY % preformatted "PRE">

"Lichtquellen" scheint ja eine Überschrift für die Liste zu sein, also pack sie in ein entsprechendes Element.

cu,
Andreas

--
MudGuard? Siehe http://www.Mud-Guard.de/