Autor Zpráva
joe
Profil
Ahoj,

sice tady není diskuze na XML, ale přesto se tu najde na to pár odborníků. Jen by mě zajímalo, proč nemůžu používat entity. Firefox mi hlásí:

Chyba parsování XML: Nedefinovaná entita

V DTDčku mám:

<!ENTITY e "test">

a v XML dokumentu pak v nějakém elementu (#PCDATA) nějaký text a &e;

Ale nechce to fungovat, neví někdo kde je chyba? Už jsem při hledání narazil na jiném fóru na stejnou otázku, ale bez odpovědi... Díky za rady.


Chyba se projevuje jen ve Firefoxu - teď mám verzi 3. V IE7 to funguje normálně. Takže chyba ve FF? :-)
Chamurappi
Profil
Reaguji na joa:
sice tady není diskuze na XML
XML zapadá nejlépe do kategorie XHTML, Doctype a validita.

Jen by mě zajímalo, proč nemůžu používat entity
Jsou přežitek, přináší jen problémy, brzdí vývoj, kvůli nim v XML pořád přežívá formát DTD.

Chyba parsování XML: Nedefinovaná entita
Mozilla nečte tvoji externí DTD. Nemusí ji číst, W3C doporučení říká, že to není povinné. Od prohlížeče se neočekává, že by ji četl. Ani v XHTML by správně neměly jmenné entity fungovat, je v tom trošku bordel.
Deklaruješ-li entitu v interní podsadě DTD (k vidění třeba v textu mého článku či ve zdrojáku jiného mého článku), měla by běžet i v Mozille.

neví někdo kde je chyba?
Písmo svaté hovoří jasně: chybuje Mozilla. Deklaruje-li totiž dokument externí DTD, je nedefinovaná entita chybou, ale nikoliv fatální chybou, XML procesor by pak měl vnímat zápis entity jako znaková data (tedy „&e;“ jako „&amp;e;“). Stejná (či podobná) chyba se nachází ve vícero programech zpracovávajících XML, ale to tě nemusí moc trápit, jestli ti jde jen o semestrálku.

V IE7 to funguje normálně.
Explorer čte externí DTD vždy. Bohužel.
joe
Profil
Chamurappi
Díky za rozvinutou odpověď.

Ok, své případné další dotazy ohledně XML budu posílat tam, ale věřim, že jich moc nebude.
Na články se podívám později, teď už toho mám docela dost.

jestli ti jde jen o semestrálku
Teď jen o úkol :-) Kdyby semestrálka byla takhle jednoduchá... ale třeba je, ještě jsme se k věcem, které tam mají být nedostali.
Každopádně když už se musím, ať už z donucení učit XML, tak ať z toho aspoň trošku něco mám...

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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