[xhtml] dwa pytania

0

mam problem, jest taka strona:

w pliku index.php

if(ereg('xhtml', $_SERVER['HTTP_ACCEPT']))
    header('Content-Type: application/xhtml+xml');

i do index.php doparsowywana jest taka zawartość:

<?xml version="1.0" encoding="iso-8859-2"?> <!DOCTYPE html PUBLIC "-*W3C*DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" type="text/css" href="{TPL}style.css" /> <?xml-stylesheet type="text/css" href="{TPL}style.css" ?> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <meta name="author" content="Kooba" /> <meta name="generator" content="PidPad 3.2 (http://www.szczepaniak.org/)" /> <title>{TITLE}</title> <script type="java/script" src="scripts.js"></script> </head> <body xml:lang="pl">

itd... w każdym razie po sparsowaniu strona jest zgodna z xhtml, działa na ie (jako html, ale działa), na operze również a na mozili i firefoxie widać tylko:

XML Parsing Error: xml processing instruction not at start of external entity Location: http://localhost/forum/index.php Line Number 2, Column 1:

<?xml version="1.0" encoding="iso-8859-2"?>

^

o co chodzi?

a drugie pytanie - czym zastąpić atrybut name dla <form> i onMouseOver i onMouseOut dla <a> bo validator twierdzi że nie ma takich atrybutów :/

0

o co chodzi?

ten blad oznacza ze dokument xhtml nie poprawnie sie rozpoczyna, tzn powinien od tagu <?xml a chyba pojawiaja sie przed nim jakas spacja enter czy cos takiego...

a drugie pytanie - czym zastąpić atrybut name dla <form>

hmm.... jak sadze id

i onMouseOver i onMouseOut dla <a> bo validator twierdzi że nie ma takich atrybutów :/

bo atrybuty pisze sie z malych liter czyli onmouseover,
proponuje jakis kurs xhtml przeczytac http://www.xhtml.b7.pl/

0

ten blad oznacza ze dokument xhtml nie poprawnie sie rozpoczyna, tzn powinien od tagu <?xml a chyba pojawiaja sie przed nim jakas spacja enter czy cos takiego.

faktycznie, pojawiaja sie tam entery, tylko nie wiem skąd :/

hmm.... jak sadze id

a dla skryptu JS to to samo?

<quote> > onMouseOver i onMouseOut dla bo validator twierdzi że nie ma takich atrybutów :/</quote> bo atrybuty pisze sie z malych liter czyli onmouseover, proponuje jakis kurs xhtml przeczytac

Czytałem ten kurs, już dawno, ale jakoś nie pomyślałem o tym że wiuelkosć liter ma znaczeie, dzięki Piechnat :)

0

a dla skryptu JS to to samo?

niestety nie, takiego forma nie ma juz w tablicy document.forms,
mozna sie do niego dostac przez DOM przy uzyciu document.getElementById('nazwa') lub document.getElementsByTagName('form')['nazwa'], dziwne to troche bo z tego co mozna poczytac w sieci to name dla tagu form jest poprawne w XHTML 1.1 a validator zglasza blad, mozesz przejsc do XHTML 1.0 i w tedy bedzie OK (i tryb zgodnosci wstecznej dla IE bedzie poprawny bo dla XHTML 1.1 nie jest, mimo iz oczywiscie dziala)

0

Co do xhtml, to pomin prolog xml. Czasem problemy z tym maja przegladarki.
Jak piszesz w unicode, to warto tez usunac bom, jezeli jest dodawany przez edytor (juz mialem z tym pare problemow).

0

Już działa, problem był z entermai, tak jak mówił piechnat, w funkcji parsującej kod napisałem:

return str_replace("\n", "", $str);

i wszystko ok ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1