Autor Zpráva
foobar_
Profil *
No, zacal som sa trosku rypat v XHTML moduloch, a pokusam sa pouzit <font> element:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
    <!ENTITY % xhtml-legacy.module "INCLUDE" >
]>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs">
  <head>
    <title>Titulek</title>
  </head>
  <body>
    <p><font color="red">Cokoliv.</font></p>
  </body>
</html>
Cesky validator hlasi 2 chyby, oficialny 2 chyby asi v DTD (parameter entity "iframe.qname" not defined a delimiter "(" invalid: only delimiter ">", name and parameter separators are allowed) a k tomu este document type does not allow element "font" here.
Asi som nejak zle ten legacy module zahrnul do dokumentu. Ako mozem takyto dokument spravit validny?

Upozornujem - na validite mi nezalezi, zaujima ma skor teoreticka stranka veci, "kde je pes zakopany".
Chamurappi
Profil
Reaguji na foobara:
Hm, bude to asi složitější, než jsem si doposud myslel. Do útrob XHTML modularizace moc dobře nevidím, je to taková monstrózní syntaktická DTD-spatlanina, která umí spolehlivě jen strašit kodérčata a paralyzovat parsery.

Vůbec nechápu, proč v sobě Legacy modul obsahuje i Iframe modul. Buď je za tím schovaná nějaká chytrá úvaha, nebo nějaká hloupá úvaha, nebo prachobyčejný omyl autora — všechny tři možnosti jsou asi tak stejně pravděpodobné.

Zkusil bych přidat tu parametrickou entitu, která chybí:
<!ENTITY % iframe.qname "iframe">
Ale tím se o moc dál nedostaneme. Zkus si nastudovat Modularizaci XHTML a tamní DTD moduly, je tam i ukázka jakéhosi zapouzdření Legacy modulu, které by snad mělo jít nějak připojit…

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: