/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
W3C "Unknown Parse Mode!"
Fra : Alexander P.


Dato : 17-01-06 14:17

sidder og fifler lidt med en hjememside:
http://www.halsa.1go.dk/W3C/ som jeg ønsker skal overholde både
HTML og CSS standarden (eller hvad man nu siger,,)

når jeg så validerer min lille kode:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Et eller andet</title>
<link rel="stylesheet" type="text/css" href="default.css">
<meta http-equiv="content-type" content="text/html;
charset=iso-8859-1">
</head>
<body>
<div class="main">
... og en masse tekst
</div>
<div class="menu>
... og en masse links
<div>
<div class="head">
</div>
</body>
</html>

får jeg følgende at vide:

Unknown Parse Mode! The MIME Media Type (text/html) for this
document is used to serve both SGML and XML based documents, and
it is not possible to disambiguate it based on the DOCTYPE
Declaration in your document. Parsing will continue in SGML mode.


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Bertel Lund Hansen (17-01-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 17-01-06 15:09

Alexander P. skrev:

> når jeg så validerer min lille kode:

> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"
> "http://www.w3.org/TR/html4/strict.dtd">

Doctypen skal se sådan ud:

<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01//EN' ''>http://www.w3.org/TR/html4/strict.dtd'>

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Alexander P. (17-01-2006)
Kommentar
Fra : Alexander P.


Dato : 17-01-06 15:42

"This Page Is Valid HTML 4.01 Strict!"

jeg takker her fra ;)

(har altid brugt " istedet for ' - derfor fik jeg altid den fejl ;D)

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bertel Lund Hansen (17-01-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 17-01-06 16:27

Alexander P. skrev:

> (har altid brugt " istedet for ' - derfor fik jeg altid den fejl ;D)

Mit svar kunne misforstås. Det er i HTML ligegyldigt om man
bruger ' eller ". Din fejl var her:

   "-//W3C//DTD HTML 4.01 Strict//EN"

hvor der blot skal stå

   '-//W3C//DTD HTML 4.01//EN'

Jeg bruger konsekvent ' i HTML. Det skyldes at jeg bruger PHP til
at producere HTML, og så kan jeg lade PHP bruge " og HTML bruge
'. Så bliver det mest overskueligt. Og så synes jeg at det ser
lidt pænere ud, men det er naturligvis ligegyldigt.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Jørn Andersen (19-01-2006)
Kommentar
Fra : Jørn Andersen


Dato : 19-01-06 07:51

On Tue, 17 Jan 2006 16:27:07 +0100, Bertel Lund Hansen
<nospamfilius@lundhansen.dk> wrote:

>Alexander P. skrev:
>
>> (har altid brugt " istedet for ' - derfor fik jeg altid den fejl ;D)
>
>Mit svar kunne misforstås. Det er i HTML ligegyldigt om man
>bruger ' eller ". Din fejl var her:
>
>    "-//W3C//DTD HTML 4.01 Strict//EN"
>
>hvor der blot skal stå
>
>    '-//W3C//DTD HTML 4.01//EN'

Desuden gør det vist også en forskel om man skriver:
<!DOCTYPE HTML PUBLIC ...
(forkert)

eller:
<!DOCTYPE html PUBLIC ...
(rigtigt)

Altså med små bogstaver i html.

--
Jørn Andersen,
Brønshøj

Lasse Reichstein Nie~ (19-01-2006)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 19-01-06 20:17

Jørn Andersen <jorn@jorna.dk> writes:

> Desuden gør det vist også en forskel om man skriver:
> <!DOCTYPE HTML PUBLIC ...
> (forkert)
>
> eller:
> <!DOCTYPE html PUBLIC ...
> (rigtigt)
>
> Altså med små bogstaver i html.

Det burde det ikke i HTML, som ikke er case-sensitiv.

I XHTML (eller andet XML) er det på den anden side helt essentielt
at man skriver med den rigtige kombination af store og små bogstaver
(som i XHTML altid er små).

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Bertel Lund Hansen (19-01-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 19-01-06 20:34

Lasse Reichstein Nielsen skrev:

> Det burde det ikke i HTML, som ikke er case-sensitiv.

Doctypen kommer jo før det er HTML.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Lasse Reichstein Nie~ (20-01-2006)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 20-01-06 01:07

Bertel Lund Hansen <nospamfilius@lundhansen.dk> writes:

> Lasse Reichstein Nielsen skrev:
>
>> Det burde det ikke i HTML, som ikke er case-sensitiv.
>
> Doctypen kommer jo før det er HTML.

Nej, det bestemmes (eller bør bestemmes) af HTTP-headeren Content-Type.
Prøv fx at sende en "XHTML" side til IE med
Content-Type: application/xml+xhtml
og se at den ikke begynder at tro at det er HTML.

Man kan vælge at sætte den inde i dokumentet med en
<meta http-equiv="Content-Type" ...>
men det er mest af hensyn til når man læser den uden om en web-server
(og derfor ikke har HTTP-protokollen).

Desuden så er selve Doctypen jo nok til at afgøre at det er HTML,
hvilket er før man har brug for at fortolke "html"/"HTML" (som
er navnet på rod-elementet i det følgende dokument). Hvis doctypen
siger at det er HTML, så ved man det *inden* man parser resten.


/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Bertel Lund Hansen (20-01-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 20-01-06 01:22

Lasse Reichstein Nielsen skrev:

>>> Det burde det ikke i HTML, som ikke er case-sensitiv.

>> Doctypen kommer jo før det er HTML.

> Nej, det bestemmes (eller bør bestemmes) af HTTP-headeren Content-Type.

Doctype-erklæringen er ikke selv HTML, så jeg forstår ikke dit
"nej".

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Lasse Reichstein Nie~ (20-01-2006)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 20-01-06 01:36

Bertel Lund Hansen <nospamfilius@lundhansen.dk> writes:

> Lasse Reichstein Nielsen skrev:
>
>>>> Det burde det ikke i HTML, som ikke er case-sensitiv.
>
>>> Doctypen kommer jo før det er HTML.
>
>> Nej, det bestemmes (eller bør bestemmes) af HTTP-headeren Content-Type.
>
> Doctype-erklæringen er ikke selv HTML, så jeg forstår ikke dit
> "nej".

God pointe. Det var ikke særlig klart skrevet.

Typen af indhold af den fil browseren får tilsendt er beskrevet af
Content-Type-headeren i HTTP-svaret. Hvis der står at det er XML (fx
"application/xml+xhtml") så bruges en XML-parser. Hvis der står at det
er HTML (fx "text/html"), så bruges en HTML(SGML-agtig)-parser. Og
hvis der står "image/jpeg", så bliver det vist på en helt tredje måde.

(Tegnsæt-kodningen står i samme header, hvilket også er vigtigt for at
forstå den sekvens af bytes man har fået som en tekstfil.)

Både HTML- og XML-parserne forstår en DOCTYPE-erklæring i starten af
dokumentet, med samme format. Det første ord efter DOCTYPE er
tag-navnet på rod-elementet for det følgende HTML- eller XML-dokument.

Hvis det er HTML-parseren der læser det, så er tag-navne ikke
case-sensitive. Hvis det er XML-parseren, så er de.

Derfor bør det ikke betyde noget om man skriver
<!DOCTYPE html ...>
eller
<!DOCTYPE HTML ...>
hvis det står i et dokument der er sent med en Content-Type der siger
at det skal parses med den case-insensitive HTML-parser.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jørn Andersen (20-01-2006)
Kommentar
Fra : Jørn Andersen


Dato : 20-01-06 15:34

On Fri, 20 Jan 2006 01:36:17 +0100, Lasse Reichstein Nielsen
<lrn@hotpop.com> wrote:

>Både HTML- og XML-parserne forstår en DOCTYPE-erklæring i starten af
>dokumentet, med samme format. Det første ord efter DOCTYPE er
>tag-navnet på rod-elementet for det følgende HTML- eller XML-dokument.
>
>Hvis det er HTML-parseren der læser det, så er tag-navne ikke
>case-sensitive. Hvis det er XML-parseren, så er de.
>
>Derfor bør det ikke betyde noget om man skriver
> <!DOCTYPE html ...>
>eller
> <!DOCTYPE HTML ...>
>hvis det står i et dokument der er sent med en Content-Type der siger
>at det skal parses med den case-insensitive HTML-parser.

Og det er jo så (endnu) et godt eksempel på, at man ikke skal stole
for meget på sin "vist nok"-hukommelse

Et par observationer:
På w3.org ser man både DOCTYPE HTML PUBLIC
<url: http://www.w3.org/TR/1999/REC-html401-19991224/>
(et HTML 4.01-dokument)

og DOCTYPE html PUBLIC
<url: http://www.w3.org/TR/xhtml1/>
(et XHTML 1.0-dokument)


Jeg prøvede at teste op mod W3C's validator og fik følgende:
1) Så længe DOCTYPE står med stort, så anerkender den også DOCTYPE'n
uanset hvordan "HtmL PubLIc" står.
<url:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.marxisme.dk%2Fjorna%2Flinks%2Fhtmllinks2.asp&charset=%28detect+automatically%29&doctype=Inline&ss=1>

2) Hvis DOCTYPE ikke står med stort, så anerkender den *ikke*
DOCTYPE'n (den siger "(no Doctype found)", men validerer OK i HTML
4.01 Transitional.
<url:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.marxisme.dk%2Fjorna%2Flinks%2Fhtmllinks3.asp&charset=%28detect+automatically%29&doctype=Inline&ss=1>

Så jeg må tilbagekalde min tidligere antagelse. Lasse har ret i, at:
>Derfor bør det ikke betyde noget om man skriver
> <!DOCTYPE html ...>
>eller
> <!DOCTYPE HTML ...>
>hvis det står i et dokument der er sent med en Content-Type der siger
>at det skal parses med den case-insensitive HTML-parser.

Jeg skal selvfølgelig ikke kunne sige, om der er fejl i validatoren
- men mon ikke den har kørt så længe nu, at den slags er luset ud?

Jeg har ikke testet XHTML.

Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste