molily: Sonderzeichen in Ankernamen

Beitrag lesen

Hallo

kurz dazu:

<a name="Ein &#9829; für Kinder">
Finde ich aufgrund des '#' nicht korrekt, wenn es als Anker dienen soll. Und außerdem noch ein blödes Beispiel, da dort entweder CDATA oder NMTOKEN stehen muß aber kein PCDATA. Da wird nix geparsed.

Das ist ein Fehler des Bugtrackers.
<a name="Ein ♥ für Kinder"> heißt es letztlich.
<a href="#Ein%20%E2%99%A5f%C3%BCr%20Kinder"> wäre dann in etwa ein Link darauf.

Übrigens heißt CDATA bei Attributwerten durchaus, dass sie Entity-Referenzen und numerische Zeichenreferenzen beinhalten dürfen und diese aufgelöst werden müssen. <a name="Ein &#9829; für Kinder"> wäre also genauso wie <span title="Hall&ouml;le"> erlaubt.
http://www.w3.org/TR/html401/types.html#type-cdata
Für CDATA bei Elementen muss dasselbe gelten, sonst wäre die dortige Einschränkung »kein Auflösen von Zeichenreferenzen innerhalb von script und style« widersinnig.
PCDATA wird in (X)HTML nur als Inhaltsmodell für Elemente gebraucht, soweit ich das sehe. Was angesichts dessen der konkrete Unterschied zwischen CDATA und PCDATA ist, weiß ich nicht. In XML gibts CDATA offenbar nur noch für Attributwerte, PCDATA nur noch für das Inhaltsmodell eines Elements.

Mathias