---
title: "Fel vid validering av min xhtml-kod när <?xml?> infogas!?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/122598-fel-vid-validering-av-min-xhtml-kod-när-xml-infogas"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "Dr Gregory"
published: "2005-02-16T17:06:57.000Z"
updated: "2005-02-17T07:48:18.000Z"
replies: 19
views: 586
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/html-css/122598-fel-vid-validering-av-min-xhtml-kod-när-xml-infogas"
---

# Fel vid validering av min xhtml-kod när <?xml?> infogas!?

## #1 — Dr Gregory, 2005-02-16T17:06Z

Beskåda detta vackra xhtml-dokument. Får godkänt vid validering med de lysande orden, "This Page Is Valid XHTML 1.0 Strict!".

\<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"\>

\<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv"\>
\<head\>
\<title\>\</title\>
\<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /\>
\</head\>
\<body\>
\<h1\>Detta är ett XHTML Dokument\</h1\>
\</body\>
\</html\>

Men när jag stoppar in \<?xml version="1.0" encoding="ISO-8859-1"?\>  överst i koden så får jag felmedelande vid valideringen hos W3C!?

*"The HTTP Content-Type header sent by your web browser (unknown) did not contain a "charset" parameter, but the Content-Type was one of the XML text/\* sub-types (text/xml). The relevant specification (RFC 3023) specifies a strong default of "us-ascii" for such documents so we will use this value regardless of any encoding you may have indicated elsewhere. If you would like to use a different encoding, you should arrange to have your browser send this new encoding information. 

Sorry, I am unable to validate this document because on line 11 it contained one or more bytes that I cannot interpret as us-ascii (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication"*

Jag är nybörjare på XHTML, kan någon förklara vad detta betyder, vad ska jag ändra i min kod så att det blir rätt?

MVH

Permalänk: https://www.webforum.nu/p/122598

## #2 — OlleBoop, 2005-02-16T17:29Z

Det ska inte spela någon roll.
Har du samma filändelse i båda fallen?
Vilken filändelse?
Har du xmlprologen allra först, ingen tom rad ovanför?

Permalänk: https://www.webforum.nu/p/1555935

## #3 — kaxigt, 2005-02-16T17:36Z

> \<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /\>

 

Du har ju redan koden ju...

/red: ISO-8859-1 är koden som fungerar bäst för oss här i Västeuropa.  Detta gör vi för att vi vill berätta för webbläsarna att vi använder ett språk som innehåller å - ä och ö.

Permalänk: https://www.webforum.nu/p/1555939

## #4 — OlleBoop, 2005-02-16T17:41Z

Om han ändrat filändelse från ex html -\> xhtml så kan det hända att webbservern skickar sidan som application/xml, text/xml eller liknande istf text/html. Och då ignorerar förmodligen validatorn den raden.

Om jag ger uttrycket av att vara ute på djupt vatten vill jag korrigera då vi nu har vinter och det alltså är halt vatten...

Permalänk: https://www.webforum.nu/p/1555942

## #5 — kaxigt, 2005-02-16T17:50Z

Om han inte har ändrat filändelse men lägger in dubbla attribut - i detta fall i head ( vilket validerinsgfelet också låg) så blir det ju naturligtvis ett valideringsfel. 

\<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /\>

finns ju redan - lägger han till xml med samma kod så blir det ju dubbelt. Han kan ju ta bort meta taggaen och enbart använda sig av xml så kanske det går bättre.

Tja - inte fasen vet jag men jag använder broddar i halkan ;)

Permalänk: https://www.webforum.nu/p/1555946

## #6 — Dr Gregory, 2005-02-16T17:54Z

Jag har filändelsen htm i både fallen, och nej jag har ingen tom rad ovanför...

Permalänk: https://www.webforum.nu/p/1555950

## #7 — kaxigt, 2005-02-16T17:59Z

\*läs om vad jag skrev!\*

Permalänk: https://www.webforum.nu/p/1555952

## #8 — Dr Gregory, 2005-02-16T18:04Z

Om jag byter ut bokstaven "ä" mot "a", så får koden godkänt.
Men med noteringen:

*"The HTTP Content-Type header sent by your web browser (unknown) did not contain a "charset" parameter, but the Content-Type was one of the XML text/\* sub-types (text/xml). The relevant specification (RFC 3023) specifies a strong default of "us-ascii" for such documents so we will use this value regardless of any encoding you may have indicated elsewhere. If you would like to use a different encoding, you should arrange to have your browser send this new encoding information."*

Varför blir det så?

Permalänk: https://www.webforum.nu/p/1555955

## #9 — Dr Gregory, 2005-02-16T18:11Z

Jag tog bort metataggen, men behöll \<?xml version="1.0" encoding="ISO-8859-1"?\> och koden blev godkänd, **Men noteringen kvarstod hos W3C**

Permalänk: https://www.webforum.nu/p/1555960

## #10 — kaxigt, 2005-02-16T18:12Z

därför att å ä ö inte ingår i "dataspråket" för det är engelska 

Om du kikar in på min sida så finns det information om xhtml och bra länkar du sedan kan vandra vidare på. \*tips\* Ladda ned html-kit med tidy där ingår en xhtml-konverterare.

/red: ja jag ser att du har angett sv som språk - men tyvärr du använder strict och då är det genast mycket mer kymigt  :h

Permalänk: https://www.webforum.nu/p/1555961

## #11 — jarvklo, 2005-02-16T18:22Z

Hmm..

Dr Gregory:

1) Du gör inget fel överhuvudtaget.
2) Om man tolkar filen som en XML-fil har \<meta\>-taggen ingen som helst betydelse
3) Om man tolkar filen som en XML-fil skall man ange encoding i \<?xml?\> på det sätt du gjort om man inte kör med UTF-8 eller UTF-16
4) Däremot kan man inte räkna med att filen tolkas som en XML-fil om man inte skickar den med MIME-typen "text/xml" eller "application/xml" (och i vilket fall som helst skall man aldrig skicka över en XML-fil som "text/plain" - vilket iofs *inte* verkar vara problemet i det här fallet.)

**MEN...** 
1) Du kör MSIE
2) Du validerar genom att ladda upp en fil från din hårddisk och inte via URL
3) Om man läser informationen som står på validatorns förstasida - ser man att detta för närvarande är en problematisk kombination...

> **validatorns förstasida skrev:**
>
> Note: file upload may not work with Internet Explorer on some versions of Windows XP Service Pack 2, see our information page on the W3C QA Website

4) Nu kör ju du iofs Win98, men när jag testar att validera en uppladdad fil från MSIE6/Win2K får jag exakt samma problem (trots att filen alltså är 100% korrekt)

5) Lösningen ligger alltså inte i din kod, utan enligt <http://www.w3.org/QA/2005/01/Validator-IE_WinXP_SP2> i att lägga på rätt "security updates" på MSIE

Lösningen är daterad den 9:e februari 2005 för övrigt, men eftersom jag kör W2K har jag ingen aning om den lösningen de länkar till är 100%-ig...

Så ta't lugnt och lägg ut filen på nätet istället och validera den via URL istället - du har inte gjort något fel ;)

Jo förresten: 

> Om jag byter ut bokstaven "ä" mot "a", så får koden godkänt.

 Det beror på att validatorn (felaktigt) ställer in sig på att tolka us-ascii som enda godkända teckenuppsättning pga felet, och teckenkoden du använder för "ä" ingår inte i us-ascii ;)

Permalänk: https://www.webforum.nu/p/1555967

## #12 — Dr Gregory, 2005-02-16T18:23Z

Om jag tar bort \<?xml version="1.0" encoding="ISO-8859-1"?\> och sätter in metataggen igen, så går det utmärkt att använda åäö.

Permalänk: https://www.webforum.nu/p/1555968

## #13 — Dr Gregory, 2005-02-16T18:26Z

tack jarvklo!
(vilken bra sida du har föresten)

Permalänk: https://www.webforum.nu/p/1555971

## #14 — jarvklo, 2005-02-16T18:27Z

NP - Välkommen till wF :birp

Permalänk: https://www.webforum.nu/p/1555973

## #15 — zcorpan, 2005-02-16T20:52Z

Det står ju klart och tydligt. 

> the Content-Type was one of the XML text/\* sub-types (text/xml). The relevant specification (RFC 3023) specifies a strong default of "us-ascii"

Validatorn gör rätt i att använda US-ASCII när man inte angett teckenuppsättning för text/\* för XML-filer.

XML med medietypen application/\* har per default UTF-8, så man borde använda det istället...

UTF-8 tar å, ä, och ö, och alla andra standardiserade tecken, så Latin-1 fungerar *inte* "bättre" än UTF-8 på något sätt. [Snarare tvärt om.](http://intertwingly.net/slides/2004/devcon/40.html)

Permalänk: https://www.webforum.nu/p/1556064

## #16 — Dr Gregory, 2005-02-16T21:41Z

Så du menar att jag bör byta ut alla "ISO-8859-1" till "UTF-8"?

Permalänk: https://www.webforum.nu/p/1556080

## #17 — zcorpan, 2005-02-16T21:57Z

Ja. Fast att bara ändra texten "ISO-8859-1" till "UTF-8" löser inga problem, utan du måste konvertera alla specialtecken till UTF-8 också. :) <http://annevankesteren.nl/archives/2004/06/utf-8>

Och använd hellre application/xml än text/xml.

Permalänk: https://www.webforum.nu/p/1556089

## #18 — jarvklo, 2005-02-16T23:01Z

Hmm...

Nu är vi visst ute och cyklar lite vid sidan av ämnet tror jag...

Att byta teckenkodning och koda om ett "ä" till UTF-8 löser helt enkelt inte detta problem - för teckenkodningen har egentligen inte med det här specifika fenomenet att göra!

1) Den kod som tråden handlar om är oavsett hur man vänder och vrider på det 100% korrekt när man lägger till \<?xml?\>-deklarationen (inclusive encodingattributet)

2) Problemet som det beskrivs uppkommer enbart när man validerar en lokal fil genom att ladda upp den via MSIE. 

3) Samma fil som utlöser felmeddelandet validerar 100% OK om man istället använder lokal uppladning via FireFox...

4) I det här specifika läget (Validering av uppladdad lokal fil) har man inte kontroll över MIME-typen... Man är helt utlämnad till vad webbläsaren hittar på !

5) I just detta specifika fallet utlöser MSIE exakt samma fel *även om man använder UTF-8 som teckenkodning*

... och det är f.ö. *precis* lika "tillåtet" elle "bra" att välja ISO-8859-1 som teckenkodning som UTF-8 när man vet att XML-parsern som skall ta emot den stödjer det - så man **behöver** inte byta om man inte har problem med att producera text med teckenkodningen ISO-8859-1 när man skapar sidor avsedda för webben (eftersom man \*vet\* att de XML-parsers som används i dagens webbläsare hanterar ISO-8859-1) :P

Permalänk: https://www.webforum.nu/p/1556112

## #19 — Dr Gregory, 2005-02-17T01:04Z

Ännu ett logiskt konstruerat strukturerat koncist klargörande upplysande inlägg av xhtml-Guden Jarvklo. Jag tackar och bugar ödmjukt.  :stud

Permalänk: https://www.webforum.nu/p/1556127

## #20 — zcorpan, 2005-02-17T07:48Z

Jaha. Jag kanske inte läste ordentligt... :r Jag trodde han validerade utan XML-deklarationen.

Fast jag tycker man kan byta till UTF-8 ändå :P

Permalänk: https://www.webforum.nu/p/1556155

---

Tråden på webben: https://www.webforum.nu/amne/html-css/122598-fel-vid-validering-av-min-xhtml-kod-när-xml-infogas
