Permalänk
Medlem

Konstig XHTML-validering

Hallå

Jag ger snart upp försöken att validera en sida i xhtml...

Sitter och knåpar med en hemsida åt mammas företag och försöker göra den i XHTML.

Valideringen fungerar bra ända tills jag kastar in en IFRAME. Får då veta att "document type does not allow element "body" here" och "end tag for "html" which is not finished". Har läst förklaringarna ett antal gånger och suttit och kollat så att allt är nästlat i rätt ordning etc.

Någon som vet vad det här beror på?

Sidan:
http://byllen.ath.cx/vidilabstrict

Validering:
här

PS. Jag vet att det inte är något underverk designmässigt... DS.

Visa signatur
Permalänk

Jag är kanske dum, men varför använder du frameset i doctype? använder du transitional istället så bör den ju validera...

Visa signatur

KDMBBBB!

Permalänk
Medlem

Byt till Transitional. Frameset DTD:n är bara till för när man använder FRAMESETs. Antar att du inte tittat på DTD:n?

Edit: solomoniac blev först

Visa signatur

10 RTFM
20 RTFAQ
30 STFW

Permalänk
Medlem

Aha, känner mig riktigt nybörjaraktig.

Det går tokbra med Transitional redan men jag trodde man skulle vara hardcore och få igenom den som frameset också.

Alla är vi nybörjare i början... tror jag.

Tack i alla fall.

Visa signatur
Permalänk

Du har inte stängt din <meta> tag tror jag.
Du får inte ha <body> i meta.

Edit: Ja ja ja, det kan väl vara något med frameset-grejen också.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av jop_the_jopsan
Du har inte stängt din <meta> tag tror jag.
Du får inte ha <body> i meta.

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

Metan är stängd...

Jaja,

Citat:

This Page Is Valid XHTML 1.0 Transitional!

Det gick ju bra.

EDIT: Hur ska man bygga sin sida för att den ska fungera med XHTML strict? Måste varje sida innehålla hela designen då eller?

Visa signatur
Permalänk

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> Start här </body> </html>

Jag kollade på grejen där inne.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av jop_the_jopsan

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> Start här </body> </html>

Jag kollade på grejen där inne.

Aha! Den hade jag inte ställt in på XHTML än så det var ju helt korrekt.

Visa signatur
Permalänk
Medlem

Vic, följande kod är validerad XHTML 1.0 Strict (och validerad CSS2 f.ö, men den filen inkluderar jag inte här)

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <style type="text/css" media="all"> @import url("styles/W3C_fixed.css"); </style> <title>Lorem Ipsum</title> </head> <body> <div class="container"> <div class="mainheader"> <div class="mainheadlogo"> <img src="" width="159" height="49" alt="Img Alt: Lorem Ipsum" /> </div> <div class="mainheadtitle"> <span>Lorem Ipsum</span> </div> <div class="mainheadsearch"> <form class="mainheadsearchform" id="searchform" action="" method="post"> <fieldset> <input type="text" name="searchfield" /> <ul> <li><a href="" title="">Lorem</a></li> <li><a href="" title="">Ipsum</a></li> <li><a href="" title="">Lorem</a></li> </ul> </fieldset> </form> </div> <div class="mainheadlinks"> <br /> <ul> <li><a href="" title="">Lorem</a> | </li> <li><a href="" title="">Ipsum</a> | </li> <li><a href="" title="">Lorem</a> | </li> <li><a href="" title="">Ipsum</a> | </li> <li><a href="" title="">Lorem</a> | </li> <li><a href="" title="">Ipsum</a> | </li> <li><a href="" title="">Lorem</a> | </li> <li><a href="" title="">Ipsum</a> | </li> <li><a href="" title="">Lorem</a></li> </ul> <br /> <br /> </div> </div> <div class="southheader"> <ul> <li><a href="" title="">Lorem</a> > </li> <li><a href="" title="">Ipsum</a> ></li> <li><a href="" title="">Lorem</a> ></li> <li>Ipsum</li> </ul> <h2>Lorem Ipsum</h2> <hr /> </div> <div class="mainmenu"> <ul> <li><a href="" title="">Lorem</a></li> <li><a href="" title="">Ipsum</a></li> <li><a href="" title="">Lorem</a></li> <li><a href="" title="">Ipsum</a></li> <li><a href="" title="">Lorem</a></li> <li><a href="" title="">Ipsum</a></li> </ul> </div> <div class="content"> <h3>Lorem ipsum dolor sit amet</h3> <hr /> <p> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. </p> <p> <a href="" title="">Lorem Ipsum</a> </p> <p> <a href="" title="">Lorem Ipsum</a> </p> <p> <a href="" title="">Lorem</a> <a href="" title="">Ipsum</a> <a href="" title="">Lorem</a> <a href="" title="">Ipsum</a> </p> <hr /> <p> <a href="" title="">Booking Documents</a> </p> <h5>Lorem ipsum dolor sit amet</h5> <ul> <li><a href="" title="">Lorem</a></li> <li><a href="" title="">Ipsum</a></li> </ul> </div> <div class="secondmenu"> <h4>Lorem Ipsum</h4> <ul> <li><a href="" title="">Lorem</a></li> <li><a href="" title="">Ipsum</a></li> </ul> <h4>Lorem Ipsum</h4> <ul> <li><a href="" title="">Lorem</a></li> <li><a href="" title="">Ipsum</a></li> </ul> </div> <div class="southfooter"> <a href="" title="">Lorem Ipsum</a> </div> <div class="W3CValid"> <p> <a href="http://validator.w3.org/check?uri=referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict!" height="31" width="88" /></a> <a href="http://jigsaw.w3.org/css-validator/validator?uri=referer"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS2!" height="31" width="88" /></a><br /> Valid XHTML 1.0 Strict and Valid CSS2 </p> </div> </div> </body> </html>

Jag har inte inkluderat något faktiskt innehåll eftersom det är en intranät-sida egentligen, som innehåller känslig information. Men så där ser en valid XHTML 1.0 Strict sida ut.

Permalänk
Medlem

En valid xhtml strict är ju inte så svårt eg.. bara att man lär sig hur man ska koda. Stänga alla taggar, skriva lowercase, göra layoutsaker med CSS, inte lägga en <p> inom en <span> osv. Göra allt rätt helt enkelt.

Visa signatur

Äntligen har jag fått svar på om vandrande pinnar kan gäspa. Det kan de inte. Ett av världens stora mysterier är löst.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av filigran
En valid xhtml strict är ju inte så svårt eg.. bara att man lär sig hur man ska koda. Stänga alla taggar, skriva lowercase, göra layoutsaker med CSS, inte lägga en <p> inom en <span> osv. Göra allt rätt helt enkelt.

Jo visst, jag lyckas validera mina sidor i strict så länge jag inte använder frames av något slag.

Min fråga var hur man ska strukturera sin sida för att den ska fungera med strict iom att man inte kan använda frames. Ska varje sida innehålla all grafik från första sidan så att säga? Alltså, varje sida blir en fristående sida för sig.
Bfah, jag lyckas inte förklara det ordentligt. Får se om jag är piggare senare så jag kan uttrycka det ordentligt.

Visa signatur
Permalänk
Medlem

Lättast är ju något server-side-språk, typ PHP/ASP. En sida innehåller "huvudkoden" med titel, meta och annat bjäfs, sen inkluderar du varje sida automatiskt beroende på vad använaren väljer. T.ex. via adressfältet med php: www.sida.se/?p=about, kolla värdet på $_GET['p']. I det här fallet är den "about", då inkluderas "about.php" osv. Dock måste ju webhotellet ha stöd för PHP/ASP för att det ska funka vilket ju inte alla har(av någon anledning).

Visa signatur

Äntligen har jag fått svar på om vandrande pinnar kan gäspa. Det kan de inte. Ett av världens stora mysterier är löst.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av filigran
Lättast är ju något server-side-språk, typ PHP/ASP. En sida innehåller "huvudkoden" med titel, meta och annat bjäfs, sen inkluderar du varje sida automatiskt beroende på vad använaren väljer. T.ex. via adressfältet med php: www.sida.se/?p=about, kolla värdet på $_GET['p']. I det här fallet är den "about", då inkluderas "about.php" osv. Dock måste ju webhotellet ha stöd för PHP/ASP för att det ska funka vilket ju inte alla har(av någon anledning).

Jo precis. Kör ASP själv men har aldirg riktigt lurat ut hur man ska göra för att utnyttja det fullt ut i menyerna... Att inkludera kanske är det bästa sättet.

Det sättet som jag kör på på den här sidan t.ex. är att jag med en querystring bestämmer en variabel och den variabeln motsvarar sedan en sidas namn. Variabeln är sedan intryckt i iframens src-tag.
Typ så här:

src="<% =sida.asp%>"

Att inkludera kanske blir mindre otympligt...

Visa signatur
Permalänk
Medlem

Om du ska ha frames med på sidan så ska du ha frameset doctype. Det du ska göra dock är följande:

index.html -> Sidan som innehåller dina <frameset>-taggar osv ger du dokumenttypen XHTML 1.0 Frameset.
content.html och menu.html -> Sidorna som är källan för dina frames, ger du dokumenttypen XHTML 1.0 Strict.

Ta-daa

edit
index.html, content.html och menu.html är förstås fingerade namn, ersätt med vad du nu har för filer.

Permalänk

Varför inte använda XHTML 1.1 istället för XHTML 1.0?

Visa signatur

"to conquer others is to have power, to conquer yourself is to know the way"

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av dr slizer
Varför inte använda XHTML 1.1 istället för XHTML 1.0?

Antagligen för att 1.1 inte har någon frameset. Jag brukar alltid köra med 1.1.

Permalänk
Medlem

Hmm, kanske ska köra med 1.1 istället. Tror faktiskt att koden jag klistrade in är valid 1.1 också.

Permalänk
Medlem

En anledning att inte köra XHTML 1.1 är att det är STARKT rekommenderat att (läs man ska) "servera" detta som application/xhtml+xml och till vårt stora förtret "förstå" inte IE denna innehållstypen.

Visa signatur

10 RTFM
20 RTFAQ
30 STFW

Permalänk
Medlem

lånar tråden lite...

har en sida som validerar 1.0 Strict. Sen provar jag att lägga in en liten iframe och den fungerar men allt som ligger efter iframen i koden ignoreras...

vad beror detta på? ska man köra Transitional för iframe? har provat med det men samma resultat där dock...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Solvarbo Fritidsmöbler</title> <style media="screen" type="text/css">@import url(mainStyle.css); </style> <script type="text/javascript"> function expandMenu(menyid) { var child = document.getElementById?document.getElementById(menyid):(document.all?document.all(menyid):null) child.style.display = ((child.style.display=="none")?"":"none"); } function new_window(url, w, h) { window.open(url,"PopUp","width="+w+",height="+h+" ,resizable=no,scrollbars=no,menubar=no,toolbar=no,directories=no,location=no,status=no"); } </script> </head> <body> <div id="top"> <span id="loggaText"> <a href="index.htm"><img src="logga.jpg" alt="logga"/></a> </span> </div> <div class="bar" id="bar1"> </div> <div class="bar" id="bar2"> </div> <div id="search"> <input type="text" id="sökRuta"/><br/> <div onclick='alert("hej")'>Sök Produkt!</div> </div> <div class="meny"> <br/> <div class="menyObjekt"><a href="">   Hitta oss</a></div><br/> <div class="menyObjekt"><a href="#" onclick="expandMenu('produkterMeny')">   Produkter</a></div> <div id='produkterMeny' style='display:none'> <a href="produkter.php?id=1">   Stolar <br/></a> <a href="produkter.php?id=2">   Bord <br/></a> <a href="produkter.php?id=3">   Grupper <br/></a> <a href="produkter.php?id=4">   Dynor <br/></a> <a href="produkter.php?id=5">   Krukor <br/></a> <a href="produkter.php?id=6">   Krukor <br/></a> </div> <br/> <div class="menyObjekt"><a href="">   Om Företaget</a></div> <br/> </div> <div id="main"> <iframe src="produkt_spec.php" id="nils" name="produkt_spec" frameborder="0"/> <iframe src="produkt_thumbs.php" id="mats" frameborder="0"/> </div> <div id="news"> Nyheter!<br/> <img class="newsbild" src="ko.jpg" alt="nyhet1"/> <img class="newsbild" src="tand.jpg" alt="nyhet2"/> <img class="newsbild" src="vattenkran.jpg" alt="nyhet3"/> </div> <div id="validerad"> <a href="javascript:new_window('xhtml_def.htm', 150, 210)"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88"/> </a> <br/> Denna sida är skriven enligt XHTML 1.0 Strict. </div> </body> </html>

Visa signatur

Är det inte jag, så är det någon annan...
WGS84 Lat/Long: N 60º 23' 28.12" E 15º 40' 14.24"
RT90: X=6697030, Y=1492584

Permalänk
Medlem

För frames ska du köra frameset:

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

Ditt problem beror troligen på att du avslutar dina iframes på fel sätt(är inte säker på att man kan avsluta dem med "xhtml-taggar": http://www.w3.org/TR/REC-html40/present/frames.html#h-16.5

Testa <iframe blabla></iframe>

Visa signatur

Äntligen har jag fått svar på om vandrande pinnar kan gäspa. Det kan de inte. Ett av världens stora mysterier är löst.

Permalänk
Medlem

Man kan nog inte avsluta dem "XHTML-style" eftersom, om jag inte är felinformerad, tanken är att man kan skriva en alternativ text inuti för browsers som inte stöder iframe:

<iframe ...>Din browser stöder inte iframe.</iframe>