<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?
/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 ö.
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...
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.
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 ;)
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."
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
Om man tolkar filen som en XML-fil har <meta>-taggen ingen som helst betydelse
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
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...
Du kör MSIE
Du validerar genom att ladda upp en fil från din hårddisk och inte via URL
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
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)
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 ;)
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!
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)
Problemet som det beskrivs uppkommer enbart när man validerar en lokal fil genom att ladda upp den via MSIE.
Samma fil som utlöser felmeddelandet validerar 100% OK om man istället använder lokal uppladning via FireFox...
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å !
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