webForumDet fria alternativet

vad för fel i XML:en?

XML

6 svar · 596 visningar · startad av sabbacus

Medlem sedan juli 2002630 inlägg
Frågan#1

Tjenixen. Sitter här och börjar bli rejält grinig nu (tur att det är Bond-premiär om två timmar...)

Följande sida är orsaken till mitt numera dåliga humör:
http://home.vxu.se/mkand99/report.xml

Om man kör den i Phoenix (0.4) fungerar den men om man kör den i IE (6) spottar den ur sig följande felmeddelande:

A name was started with an invalid character. Error processing resource 'http://home.vxu.se/mkand99/report.dtd'. Line 1, Position 2

(#PCDATA)
-^

Det roliga är att jag hittar inge uppenbara fel i min kod samt att "felet" i felmeddelandet inte finns där IE säger att det finns.
Någon som har en bra teori (förutom "användarfel" ;-) ) till varför det inte vill sig?
/M

Medlem sedan juli 20013 378 inlägg
#2

Hmm..
Funkar i Mozilla 1.1...
Hmm..
Rad 1, positon 2 i report.dtd...
Hmm... Rad 1 är en tomrad... Rad 2 är en kommentar...

Långskott:
Vad händer om du provar med att ta bort tomraderna och eventuellt kommentaren i början av DTD-filen ?

Medlem sedan maj 200010 687 inlägg
#3

Det här forumet är för HTML, XHTML och CSS. Inte för XML.

Tråden flyttas. :)

Medlem sedan juli 2002630 inlägg
#4

Jag skyller min felpostning på att jag 1) var rejält grinig vid tidpunkten, samt att jag 2) också var exalterad övera tt jag skulle gå på bondpremiären 90 minuter senare med en egen bondbrud :-)
Ledsen fördet. Ska testa med föreslagna förändrignar.
/M

Medlem sedan juli 2002630 inlägg
#5

Nu har jag testat den föreslagna lösningen och den funkar inget vidare :-(
Den modifierade verisonen har ersatt den tidigare här:
http://home.vxu.se/mkand99/report.xml
Och som vanligt funkar sidan jättebäst i mozilla/phoenix men inte i IE. Med lite tur så är det IE det är fel på :)))
/M

Medlem sedan juli 20013 378 inlägg
#6

Med lite tur så är det IE det är fel på :)

Hmm...
Det är nog tyvärr inte så enkelt...

Kom på att orsaken till att det funkar i Mozilla är att Moz inte kan validera XML (dvs den laddar/tolkar aldrig DTD-filen report.dtd)...

http://www.mozilla.org/newlayout/xml/ skrev:

The core XML support includes parsing XML without validation

Kommentera bort <!DOCTYPE-taggen så funkar din kod även i MSIE...
Så problemet verkar (som felmeddelandet också antyder ;) ) ligga i dtd-filen...

Medlem sedan juli 20013 378 inlägg
#7

Ditt problem kommer sig av att <!ELEMENT ..>-deklarationer i dtd-filen lite här och var blir knas pga expansionen av entiteterna %BLOCK; och %TEXT; ...

Prova att utföra expansionerna manuellt (dvs skriv in (#PCDATA) överallt där du har %BLOCK; eller %TEXT; ) så får du se...
I det läget har du sedan bättre hjälp av felmeddelandena för att klura ut hur det skall vara ;) - och du kan ju alltid "backa" sedan och göra entiteter av sekvenser som används ofta i den rättade koden ;)

Lycka till!

267 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)