Avatar billede viggosmor Nybegynder
07. juni 2008 - 14:06 Der er 33 kommentarer og
1 løsning

Valideringsfejl, sorry document can not be checked.

Hejsa

Jeg sidder og prøver at få vores eksamensprojekt til at validere, og har fået alle sider på nær denne, til at validere..

http://soederberg-webdesign.dk/eksamenOrganic/shoppingcart/cart.php

Der kommer følgende fejl:

http://validator.w3.org/check?uri=http%3A%2F%2Fsoederberg-webdesign.dk%2FeksamenOrganic%2Fshoppingcart%2Fcart.php&charset=%28detect+automatically%29&doctype=Inline&group=0

Har regnet ud det har noget med tegnsættet at gøre, men ved ikke hvad jeg skal gøre ved det..

Tegnsættet er UTF-8... så forstår det ikk ehelt, har det noget at gøre med at tegnsættet i filen og i databasen ikke r de samme?
Og hvad gør jeg ved det?

Har ikke adgang til databasen...
Avatar billede erikjacobsen Ekspert
07. juni 2008 - 14:18 #1
ø-et i "Du har ingen varer i din indk�bskurv" er vist skrevet i iso-8895-1. Du er nødt til at vælge eet tegnsæt, og bruge det hele vejen igennem.
Avatar billede mclemens Nybegynder
07. juni 2008 - 14:28 #2
Hmm, "Du har ingen varer i din indk&#65533;bskurv</p><p>Din indk&#65533;bskurv er tom."
Umiddelbart ser det ud til at det er galt med ø'erne de to steder ...
hvis du ikke kan rette det de to steder og genoploade eller rette
det i databasen (hvis det er derfra og du ikke har adgang til db'en)
kan du prøve at køre siden som utf-16 og se hvad siden så siger.

- Det er selvfølgelig stadig en fejl som måske vil blive opdaget,
men hvis du er afskåret fra at rette de to ø'er er du vel undskyldt.

OT: Du "kører" ikke xhtml'en som xhtml ved besøg med FF ? Er det
med vilje eller ? ( Se evt. http://www.eksperten.dk/spm/719030 )
Avatar billede mclemens Nybegynder
07. juni 2008 - 14:43 #3
(ignorer forslaget om utf-16)
Avatar billede viggosmor Nybegynder
07. juni 2008 - 14:49 #4
Jeg har ikke lavet den side... er ved at rette det hele til, men kan som sagt ikke få lov til det, for kan jo ikke se hvilke valideringsfejl der er fordi den ikke kan tjekkes...

Det er en fra min tidligere gruppe, der har lavet siden på baggrund af de sider jeg havde lavet...

Jeg ved ikke hvad du mener med FF og at den ikke kører xhtml?

Jeg mener at hele sitet er kodet i xhtml???

Har ikke brugt editor fúnktionen til de sider jeg har lavet, men det kan godt være at præcis den side, er for det er som sagt ikke mig der har haft noget med den at gøre...
Avatar billede viggosmor Nybegynder
07. juni 2008 - 15:14 #5
Ok, skal jeg bare sætte den kode ind som du har skrevet i den anden tråd, og så kører ff den også som xhtml?

Eller hvordan?
Avatar billede olebole Juniormester
07. juni 2008 - 15:23 #6
<ole>

XHTML 1.0 Transitional har stort set intet med XHTML at gøre. En kode skrevet i dén flavour vil browserne i bedste fald tolkes som fejlfyldt HTML-sovs. XHTML 1.0 Transitional må ifølge standarden kun serves som 'text/html' og kan derfor umuligt parses som XHTML. Prøv at læse:
    http://www.eksperten.dk/artikler/537
    http://www.eksperten.dk/artikler/538

- og husk, at Transitional flavours generelt kun er beregnet til en kort overgangsfase, mens man tilpasser sig og lærer at kode til den rigtige standard  ;o)

Derudover vil jeg gætte på, du har gemt dit dokument som noget anden end utf-8. Prøv at åbne dokumentet i f.eks. Notesblok og vælg 'Gem Som ...'. Så kan du forneden se, om dokumentet er gemt som ANSI eller utf-8.

Når det er gemt som utf-8, bør du rette linjen her:
    <p>Du har ingen varer i din indk&#65533;bskurv</p><p>Din indk&#65533;bskurv er tom.</p><br/>

- samt evt. andre, hvor der er tegnfejl.

En anden meget alm. fejl er <br/>. Du bør lave et mellemrum før din slash: <br />.

- men hvorfor ikke bare vente, til XHTML er understøttet på WWW?  ;o)

/mvh
</bole>
Avatar billede mclemens Nybegynder
07. juni 2008 - 15:24 #7
Jeg includer http://www.eksperten.dk/spm/719030#rid6821489
lige før min doctype på alle mine sider ...

Prøv at oprette disse to filer for at se forskellen i FF:

nego.php

<?php
/* Ingen direkte adgang */
if(!isset($include)){header("Location:http://".$_SERVER["HTTP_HOST"]."/error/404.php");exit;}


/* Mime-Type-Beregning */
$mime = "text/html";
if(strstr($_SERVER["HTTP_USER_AGENT"],"W3C_Validator"))$mime="application/xhtml+xml";
else if(stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml")){
if(preg_match("/application\/xhtml\+xml;q=([01]|0\.\d{1,3}|1\.0)/i",$_SERVER["HTTP_ACCEPT"],$matches)){
  $xhtml_q=$matches[1];
  if(preg_match("/text\/html;q=q=([01]|0\.\d{1,3}|1\.0)/i",$_SERVER["HTTP_ACCEPT"],$matches)){
  $html_q=$matches[1];
  if((float)$xhtml_q>=(float)$html_q){
    $mime="application/xhtml+xml";
  }
  }
}else $mime="application/xhtml+xml";
}

header("content-type: ".$mime.";charset=iso-8859-1");
header("vary: accept");

if($mime!="text/html")echo"<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";

?>




test.php
<?php include "nego.php"; ?><!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" xml:lang="da"><head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <title>...</title>
</head><body><div id="main">Holder
</div></body></html>





Og så køre test.php i FF
- Prøv så at skrive <div><span>Fejl</div></span> under main i ovenstående
test.php og køre den igen i FF.
Avatar billede mclemens Nybegynder
07. juni 2008 - 15:27 #8
Ole :> Jeg tror mange undervisere enten forventer/kræver xhtml,
eller også så er de ikke nok ærlige om hvorvidt de forventer en
bestemt markup afleveret eller om html 4.01 strict er helt ok.

Laver notesblok ikke til tider problemer med BOM ?
Avatar billede olebole Juniormester
07. juni 2008 - 15:45 #9
Ja, det ikke alene tror jeg ... det ved jeg. Jeg underviser selv og ved, at det faglige niveau blandt danske webundervisere er skræmmende lavt!  =8-O

På den anden side set er deres kompetencer helt i overensstemmelse med uddannelsernes indhold - set i forhold til Undervisningsministeriets bekendtgørelser. I bekendtgørelsen om webintegrator uddannelsen er W3C og deres arbejde således ikke nævnt med ét eneste ord ...!!!

En webintegrator uddannelse er med andre ord ikke nok til at kunne få lov at kode en offentlig (kommunal eller statslig) webside - da det (i hvertfald på papiret) kræver streng overholdelse af W3C's standarder.

Nej, Notesblok laver _altid_ problemer med BOM  ;D
Man bør faktisk bruge programmer, som ikke sætter BOM-tegn ind i starten af dokumentet ... f.eks. Notepad++ eller DreamWeaver. Ellers kan man f.eks. få problemer ved includes i PHP.
I Notesblok er det bare let at se, hvad man har gemt dokumentet som  =)
Avatar billede olebole Juniormester
07. juni 2008 - 15:53 #10
mclemens >> Dit script resulterer ikke i valid kode i f.eks. IE. XHTML 1.1 må _aldrig_ serves som andet end 'application/xhtml+xml'  =)
Avatar billede viggosmor Nybegynder
07. juni 2008 - 16:00 #11
Ja jeg er stået af hehe.... ville bare gerne vide, hvordan jeg får siden til at kunne læses af w3c...
Så jeg muligvis kunne få den valideret...
Avatar billede mclemens Nybegynder
07. juni 2008 - 16:06 #12
Ole :> "Dit script resulterer ikke i valid ..."
Ja, det er korrekt - men IE understøtter ikke xhtml,
så den får det leveret som html - svarer lidt til xhtml 1.0
transitional leveret som html - da 1.1 ikke blev den
reele overgang, men det gør xhtml 2.0 forhåbentlig.
Avatar billede mclemens Nybegynder
07. juni 2008 - 16:07 #13
Viggosmor :> Hjalp det ikke med 07/06-2008 15:23:17 ?
Avatar billede erikjacobsen Ekspert
07. juni 2008 - 16:10 #14
mclemens 07/06-2008 16:06:20: men så er det jeg er stået af: hvorfor så bruge xhtml, når det ikke understøttes af større browsere?
Avatar billede olebole Juniormester
07. juni 2008 - 16:11 #15
"men IE understøtter ikke xhtml, så den får det leveret som html" >> Nej, det er ikke korrekt. Du sætter stadig en XHTML 1.1 DTD, selvom du server som 'text/html' - og det er ikke validt. Så kan du ligeså godt skrive XHTML 1.0 Transitional og serve som 'text/html' til alle browsere.

Det vil sikre valid kode i alle browsere - mens dit script leverer invalid kode til de fleste  =)
Avatar billede olebole Juniormester
07. juni 2008 - 16:14 #16
- og skriver man XHTML 1.0 Transitional, vil man med fordel kunne skrive HTML 4.01 Strict i stedet. Den er mere stringent og tidsvarende end XHTML 1.0 Transitional.

Har man brug for HTML 3.2 features (f.eks. iframes), kan man selvfølgelig også skrive HTML 4.01 Transitional - men det har som sagt aldrig været W3C's mening, at vis skulle hænge fast i gamle og forældede standarder i årevis
Avatar billede mclemens Nybegynder
07. juni 2008 - 17:00 #17
Erik :> Absolut af ingen årsag andet end jeg ændrer markup vaner fra
html 4.01 strict til xhtml - selvfølgelig kunne jeg køre html 4.01 strict
i dag og så skifte til xhtml når IE er med - men da jeg er barfods koder vil jeg
ikke risikere at crashe IE xhtml browser (hvis den ikke har fallback ved fejl).
... Jeg kan i dag ikke se spor forskel på leveringen af xhtml som html for IE
eller levering af html 4.01 strict til IE - hvis jeg kunne rettede jeg det.

Jeg indrømmer gerne at jeg lader mig styre af IE og derfor vil have IE til
at virke, men hvis IE virker selvom den burde brokke sig, så er jeg tilfreds.
(Jeg vil ikke risikere at kaste en <br> ind ved en fejl på sitet af vane,
så hellere at FF crasher en gang imellem: Sorry, so sad, too bad FF brugere.)
Avatar billede mclemens Nybegynder
07. juni 2008 - 17:09 #18
1. Ole :> Ja, nu vil jeg ikke anbefale xhtml 1.1 fremfor 1.0 trans,
men kan ikke se at der er den store forskel på den ene fremfor den
anden funktionsmæssig (bortset fra at trans 1.0 var ment som overgangen).

- Jeg kan p.t. ikke se forskel på browserens håndtering af 1.0 trans leveret
som html eller 1.1 leveret som html på nogen måde - har du en speciel måling
der viser fejlen, eller handler det om at 1.0 var ment som overgangen officiel ?

2. Ole :> Helt enig, også derfor jeg til tider anbefaler strict, men jeg vil dog
ikke sidde og anbefale html 4.01 strict til alle der kører xhtml (medmindre de
har validerings fejl) - jeg har som sagt en minimal årsag der p.t. er nok for
mit vedkommende, ligeledes har de måske deres årsag.

Af ovenstående hensyn bruger jeg også et test dokument ved besvarelser på E
med transitional doctype (da der desværre er en del der har brug for frames
som du selv nævner) - men til enhver tid vil jeg da tale for html 4.01 strict
hvis jeg skulle anbefale en doctype. Hvis folk så vil rode sig ud i xhtml
leveret som html til IE er deres egen sag (jeg ser dog ikke grund til at man
ikke leverer xhtml dokumentet rigtig for de browsere der kan håndtere det).
Avatar billede olebole Juniormester
07. juni 2008 - 17:09 #19
"Jeg kan i dag ikke se spor forskel på leveringen af xhtml som html for IE
eller levering af html 4.01 strict til IE - hvis jeg kunne rettede jeg det." >> Hvis dét er kriteriet, kan du næsten skrive, hvad somhelst.
Kan du se forskel på brug af HTML-attributter og CSS-properties - eller på table-layout og layout foretaget med andre elementer? Nej, vel?  ;o)
Avatar billede olebole Juniormester
07. juni 2008 - 17:13 #20
XHTML 1.1 er XML.
XHTML 1.0 Trans er HTML.

Dét må vist siges at være en verden til forskel! Derudover er det direkte ulovligt i forhold til standarden at serve XHTML 1.1 som 'text/html'. Jeg forstår ikke, hvad det er, du er i tvivl om  =)
Avatar billede olebole Juniormester
07. juni 2008 - 17:22 #21
- og hvad ændring af kodevaner samt øvelse i XHTML-markup angår, så er selve markup'en indenfor HTML-tags jo ikke særlig forskellig i XHTML og HTML 4.01 Strict. Du kan sgatens skrive XHTML-markup i et HTML 4.01 Strict dokument - med undtagelse af XML-lukningerne: ' />'.

Forskellen på XHTML 1.1 og XHTML 1.0 Transitional er, at den første parses af browserens XML-parser og den sidste af HTML-parseren. Kan du ikke mærke forskel i FF, er der noget, der tyder på, du laver andre fejl - f.eks. i din scripting - som gør, at HTML-parseren alligevel tager over. FF er jo i princippet også blot en HTML-browser, der er 'klædt ud' som en XHTML-browser  =)
Avatar billede mclemens Nybegynder
07. juni 2008 - 17:27 #22
Min "xml" under xhtml 1.1 er magen til min "xml"
under 1.0 transitional, med andre ord der er reelt
kun doctypen til forskel. Jeg skrev ikke html da jeg
kørte xhtml 1.0 transitional, jeg lukkede img og input
elementer med " />" så det fungerede som xml i 1.0 trans
så w3.org's validator ikke ville klage over html i 1.0 trans.

Et eksempel på at xhtml 1.0 ikke er html ses ved at validere:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head><title>...</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>

<div>Hej<br>Dette er html under 1.0 transitional<form action="noget.php" method="get"><div><input type="text"></div></form></div></body></html>

Under http://validator.w3.org/#validate-by-input ... eller ?

- Og hvis jeg lukker med /> skriver jeg jo xhtml (xml) under 1.0 transitional
og så leverer jeg stadig som html ... d.v.s. hvis man ikke vil lave noget
forkert må man jo ikke køre xhtml 1.0 transitional heller, men skal køre 4.01
Avatar billede mclemens Nybegynder
07. juni 2008 - 17:31 #23
Ole :> Korrekt, det er den eneste forskel.

Jeg kan sagtens mærke forskel i FF, men jeg kan
ikke mærke forskel i IE xhtml 1.0 transitional leveret som html
og IE xhtml 1.1 leveret som html, men der er jo ikke andet end html parser der
parser html'en uanset om det er den ene eller den anden doctype der er i brug.
Avatar billede mclemens Nybegynder
07. juni 2008 - 17:32 #24
(jeg formoder ikke at xml parseren startes i IE ved levering som html)
Avatar billede mclemens Nybegynder
07. juni 2008 - 17:38 #25
Avatar billede mclemens Nybegynder
07. juni 2008 - 17:43 #26
( Jeg glemte <?xml version="1.0" encoding="iso-8859-1"?> foran i 07/06-2008 17:27:50 )
Avatar billede olebole Juniormester
07. juni 2008 - 18:22 #27
Du har ikke intet XML under XHTML 1.0 Transitional. XHTML 1.0 er ikke XML og parses _aldrig_ som XML.

Dit validerings eksempel duer ikke - XHTML 1.0 Transitional _kan_ ikke parses som XHTML. Det er _altid_ HTML-parseren, der behandler sådan et dokument ... og det er helt i overensstemmelse med W3C's foreskrifter.

Nej, naturligvis kan du ikke mærke forskel i IE med XHTML 1.0 Trans og 1.1 served som 'text/html'. Begge dele parses som HTML-sovs
Avatar billede olebole Juniormester
07. juni 2008 - 18:26 #28
Du linker oven i købet selv til:

"XHTML is an XML format; this means that strictly speaking it should be sent with an XML-related media type (application/xhtml+xml, application/xml, or text/xml). However XHTML 1.0 was carefully designed so that with care it would also work on legacy HTML user agents as well. If you follow some simple guidelines, you can get many XHTML 1.0 documents to work in legacy browsers. However, legacy browsers only understand the media type text/html, so you have to use that media type if you send XHTML 1.0 documents to them. But be well aware, sending XHTML documents to browsers as text/html means that those browsers see the documents as HTML documents, not XHTML documents."

Bemærk: "But be well aware, sending XHTML documents to browsers as text/html means that those browsers see the documents as HTML documents, not XHTML documents".

- og:
    "XHTML 1.1 is pure XML, and only intended to be XML. It cannot reliably be sent to legacy browsers. Therefore XHTML 1.1 documents must be sent with an XML-related media type, such as application/xhtml+xml."

Bemærk: "must".
Avatar billede mclemens Nybegynder
07. juni 2008 - 18:30 #29
Hvis jeg læser det første link under 07/06-2008 17:38:48, så læser jeg det
lidt modsat af dig. Jeg forstår det på måden at xhtml er xml, men at xhtml 1.0
ikke indeholder noget der ikke eksisterer i html og at man derfor godt kan levere
det som html - ligeledes skriver de endda at man skal være opmærksom på at browserne
så opfatter det som html og ikke xhtml (xml). Indirekte i det stykke læser jeg så
at hvis man havde leveret det som xhtml istedet skulle browseren opfatte det som
xhtml og ikke html - men vi læser så det stykke forskelligt.

Konklusionen på det første link er at det er "ok" fordi at det vil være
understøttet som html elementer grundet mindre indhold af xml i xhtml
transitional. D.v.s. du kan forvente at det virker (hvis dit 1.0 trans
validerer) - men kører du xhtml 1.1 skal det leveres som xml da det
"kan" indeholde elementer som ikke er understøttet i html.
Avatar billede mclemens Nybegynder
07. juni 2008 - 18:32 #30
Jeg linkede oven i købet bevist til dem.
- Jeg bemærkede særlig delen med at når man
sender xhtml som html så parses det som html.
Avatar billede olebole Juniormester
07. juni 2008 - 18:41 #31
- og jeg er ikke et sekund i tvivl om, du læser det helt forkert ... men det kan jeg jo nok ikke ændre på  =)
Avatar billede mclemens Nybegynder
07. juni 2008 - 18:46 #32
Umiddelbart ser det ud til at FF kører xhtml 1.0 transitional*
som xhtml og ikke html, men det er sikkert en undtagelse. =)
* Forudsat det leveres som xhtml/xml ved en "fejl" ...
Avatar billede viggosmor Nybegynder
19. august 2008 - 07:30 #33
.
Avatar billede olebole Juniormester
24. august 2008 - 15:31 #34
Ja, forhåbentlig er det en undtagelse - for det er i hvertfald en fejl. XHTML 1.0 Transitional _må_ ikke parses som XHTML - hvilket ikke er så mærkeligt, da dokumenter i denne flavour kun må/kan serves som 'text/html'.

Derudover burde XHTML 1.0 Transitional ifølge W3C have været udfaset for 7-8 år siden, så der burde idag slet ikke være grundlag for at diskutere det som værende andet end et sært, historisk kuriosum  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester