Validation Quiz

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Validation Quiz

Δημοσίευση από skeftomilos » 28 Μάιος 2006 04:11

Ένα απλό quiz. Είναι well-formed/valid/correct η παρακάτω σελίδα;

Κώδικας: Επιλογή όλων

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http&#58;//www.w3.org/TR/REC-html40/loose.dtd">
<html>
  <head>
    <title>Is it valid?</title>
  </head>
  <body onload="alert&#40;'Hello!'&#41;" style="margin&#58;0px">
</body>
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Validation Quiz

Δημοσίευση από Basilakis » 28 Μάιος 2006 11:45

Να σου πώ την αλήθεια δεν ξέρω εάν είναι όλα αυτά :P Ξέρω οτι είναι ενοχλητικό ένα τέτοιο μήνυμα να βγαίνει ;)

Άβαταρ μέλους
milianos
Δημοσιεύσεις: 269
Εγγραφή: 11 Νοέμ 2004 01:39
Τοποθεσία: schwabenland
Επικοινωνία:

Validation Quiz

Δημοσίευση από milianos » 28 Μάιος 2006 12:11

Για HTML 4.01 Transitional Document μήπως θα ήταν καλλίτερα έτσι? :lol:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>Is it valid?</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body onload="alert('Hello!')" style="margin:0px">
</body>
Τελευταία επεξεργασία από το μέλος milianos την 28 Μάιος 2006 12:32, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Validation Quiz

Δημοσίευση από cherouvim » 28 Μάιος 2006 12:22

Lipei to </html>.
O validator.w3.org to vriskei sosto. Me xhtml1-strict.dtd dilosi entopizei to lathos. Parolafta apo ta DTDs den mporo na katalabo giati to html4loose pernaei.
http://www.w3.org/TR/REC-html40/loose.dtd έγραψε:<!--================ Document Structure ==================================-->
<!ENTITY % version "version CDATA #FIXED '%HTML.Version;'">

<![ %HTML.Frameset; [
<!ENTITY % html.content "HEAD, FRAMESET">
]]>

<!ENTITY % html.content "HEAD, BODY">

<!ELEMENT HTML O O (%html.content;) -- document root element -->
<!ATTLIST HTML
%i18n; -- lang, dir --
%version;
>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd έγραψε:<!--================ Document Structure ==================================-->

<!-- the namespace URI designates the document profile -->

<!ELEMENT html (head, body)>
<!ATTLIST html
%i18n;
id ID #IMPLIED
xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
>

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Validation Quiz

Δημοσίευση από skeftomilos » 28 Μάιος 2006 15:41

Κώδικας: Επιλογή όλων

<!ELEMENT HTML O O
...σημαίνει ότι το tag ανοίγματος <html> και το tag κλεισίματος </html> είναι optional. Ενώ π.χ. το...

Κώδικας: Επιλογή όλων

<!ELEMENT SCRIPT - -
...σημαίνει ότι είναι υποχρεωτικά και τα δύο tags, ενώ το ...

Κώδικας: Επιλογή όλων

<!ELEMENT &#40;TH|TD&#41;  - O
...σημαίνει ότι μόνο το tag ανοίγματος <td> ή <th> είναι υποχρεωτικό.
Άρα η έλλειψη του </html> δεν κάνει invalid τη σελίδα.

Milianos η οδηγία Content-Script-Type είναι ακριβώς ο λόγος για τον οποίο έβαλα αυτό το quiz. :) Κατά τη γνώμη σου είναι απαραίτητη εδώ; Και τι σημαίνει η παράλειψή της; Ακόμα η οδηγία Content-Type είναι απαραίτητη;
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

sibas
Honorary Member
Δημοσιεύσεις: 1853
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

Validation Quiz

Δημοσίευση από sibas » 28 Μάιος 2006 15:49

Έχω και εγώ το δικό μου quiz
το παρακάτω μου βγάζει τα εξής error
Line 12 column 5: document type does not allow element "body" here.
Line 81 column 6: end tag for "html" which is not finished.

Κώδικας: Επιλογή όλων

<?xml version="1.0" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<title>title</title>
<meta name="keywords" content="css, xhtml"  />
<meta name="description" content="visual display svg"  />
<meta http-equiv="content-type" content="text/html; charset=windows-1253"  />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>

<div id="content">

<div id="logo">
<h1><span>logo</span></h1>
<h2><span><acronym title="http&#58;//www.some.net"><u>DAILY</u></acronym> </span></h2>
</div>

<div id="firstsvg">
<p class="display"> 
<iframe src="test-svg.svg" name="testSvg"  frameborder="0" style="width&#58;604px; height&#58;170px;">
<p>You need some browser to support Frames, but <a href="no-iframe.html">You can see this one.</a></p>
</iframe>
</p>
</div> 

<div class="navcontainer">
<h3 class="menu"><span>Menu</span></h3>
<ul id="navlist">
<li><a href="#">one</a></li>
<li><a href="#">two</a></li>
<li><a href="#">three</a></li>
<li><a href="#">four</a></li>
<li><a href="#">five</a></li>
</ul>

<div id="navlist2">
<h3 class="menu2"><span>Recent Pages</span></h3>
<ul>
<li><a href="#" title="title" >one</a></li>
<li><a href="#" title="title" >two</a></li>
<li><a href="#" title="title">tree</a></li>
</ul>		
</div>
</div>

<div class="sNc"></div>

<div id="blog">
<div class="headline">
<h3><span>Lorem Ipsum</span></h3>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit..<acronym title="loreml">lorem</acronym>ipsum dolor sit amet <acronym title="ipsum">ipsum</acronym> ipsum.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<p>Curabitur sem purus, malesuada in, consectetuer et, pretium et, turpis.</p>
</div>

<div class="sNc"></div>

<div class="headlineB">
<h3 ><span>Lorem Ipsum</span></h3>
<p>Curabitur sem purus, malesuada in, consectetuer et, pretium et, turpis.</p>
<p> Duis magna dui, luctus quis, molestie a, nonummy a, sapien.</p>
</div>

<div class="sc"></div>		
</div>

<div id="footer">
<div id="footernav">
<ul>
<li class="left"><a href="#">S4A</a></li>
<li class="left"><a href="#">Cmp</a></li>
<li class="right"><a href="#" title="Creative Commons.">cc</a></li>
<li class="right"><a href="#" title=" CSS">css</a></li>
<li class="right"><a href="#" title=" XHTML">xhtml</a></li>
 </ul>
</div>
</div>
	
</div>
</body>
</html>
Αν αλλάξω DOCTYPE σε

Κώδικας: Επιλογή όλων

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
τότε δεν έχω errors, δεν είναι κάτι που με απασχολεί ιδιαίτερα
αλλά πολύ θα ήθελα να βρω που είναι το λάθος με DOCTYPE frameset μιας και χρησιμοποιώ iframes.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Validation Quiz

Δημοσίευση από panosru » 28 Μάιος 2006 22:20

emena pantos to parakato mou fenete valid alla oxi well formed

Κώδικας: Επιλογή όλων

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http&#58;//www.w3.org/TR/REC-html40/loose.dtd"> 
<html> 
  <head> 
    <title>Is it valid?</title> 
  </head> 
  <body onload="alert&#40;'Hello!'&#41;" style="margin&#58;0px"> 
</body>
pisteyo pos den einai well formed efoson den klhnei to <html> tag einai valid efoson symbadizei me tous kanenes to loose.dtd alla epidi den einai well formed, den xrhshmopoieis css gia to style kai den exeis orisei charachter enoding sthn selida den einai corect (mporei na leo kai blakeies :P) :roll:

PS: opoios thelei as diabasei ena oraio arthro me thema correct html

Άβαταρ μέλους
milianos
Δημοσιεύσεις: 269
Εγγραφή: 11 Νοέμ 2004 01:39
Τοποθεσία: schwabenland
Επικοινωνία:

Validation Quiz

Δημοσίευση από milianos » 29 Μάιος 2006 09:27

skeftomilos έγραψε: Κατά τη γνώμη σου είναι απαραίτητη εδώ; Και τι σημαίνει η παράλειψή της; Ακόμα η οδηγία Content-Type είναι απαραίτητη;
Για την επικύρωση του κώδικα και σύμφωνα πάντα με την εισήγηση του W3C για την HTML4.01 όλες αυτές οι μεταπληροφορίες είναι απαραίτητες τόσο
για την κωδικοποίηση των χαρακτήρων όσο και για την διαχείριση συμβάντων. Δηλ. καλόν είναι να προσδιορίζουμε απο πρίν μέσω της επικεφαλίδας
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> ποιά script γλώσσα χρησιμοποιούμε.

The default scripting language

Παρ'ολα αυτά πολύ δύσκολα βρίσκεις valid ιστοσελίδα, είναι τόσες πολλές οι απαιτήσεις και οι προυποθέσεις που όλο και κάτι θα λείπει.

Validation Services for your HTML / XHTML / WML

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Validation Quiz

Δημοσίευση από skeftomilos » 30 Μάιος 2006 01:29

Λοιπόν η απάντηση στο quiz είναι:

- Η σελίδα είναι well-formed.
- Η σελίδα είναι valid.
- Η σελίδα είναι δυνητικά correct.

Το σημείο που παρουσιάζει ενδιαφέρον είναι ο inline event handler onload="alert('Hello!')". Παρότι κοντεύουμε πια να το ξεχάσουμε, η JavaScript δεν είναι η μοναδική επιτρεπόμενη γλώσσα για scripting στο web. Θεωρητικά μπορούμε να διαλέξουμε μεταξύ αρκετών γλωσσών, επομένως θα πρέπει με κάποιο τρόπο να υποδείξουμε στον browser τη γλώσσα που επιλέξαμε. Αυτό το σκοπό εξυπηρετεί το attribute type στα στοιχεία script. Τώρα για τον inline κώδικα μέσα στα attributes onclick, onmouseover κ.λπ. φροντίζει η οδηγία Content-Script-Type που ορίζει την default scripting γλώσσα. Αυτό σημαίνει πώς δεν επιτρέπονται περισσότερες από μία γλώσσες για τον inline κώδικα, ενώ επιτρέπονται για κώδικα μέσα σε <script>. Η οδηγία δεν είναι απαραίτητη αν δεν υπάρχει inline κώδικας. Στην περίπτωσή μας έχουμε τέτοιο κώδικα, άρα πρέπει να βάλουμε και την οδηγία για να μην είναι incorrect η σελίδα. Υπάρχει όμως ένα παραθυράκι. Μπορεί να έχει οριστεί η default γλώσσα μέσω των HTTP headers, κατι που μας επιτρέπει να πούμε ότι η σελίδα μπορεί να είναι και ολόσωστη τελικά!

Μια άλλη παραπλήσια οδηγία είναι η Content-Style-Type. Τα CSS δεν είναι η μοναδική γλώσσα μορφοποίησης σελίδων (αυτό κι αν το έχουμε ξεχάσει). :) Είναι και αυτή απαραίτητη στη σελίδα μας λόγω του inline style style="margin:0px", αλλά μπορεί και αυτή να οριστεί στους HTTP headers.

Ας δούμε λοιπόν μια πέραν πάσης αμφιβολίας σωστή (τυπικά) εκδοχή της σελίδας:

Κώδικας: Επιλογή όλων

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http&#58;//www.w3.org/TR/REC-html40/loose.dtd">
<html>
  <head>
    <meta http-equiv="content-script-type" content="text/javascript">
    <meta http-equiv="content-style-type" content="text/css">
    <title>Is it valid?</title>
  </head>
  <body onload="alert&#40;'Hello!'&#41;" style="margin&#58;0px">
</body>
Φυσικά για όποιον παραλείπει να κλείνει το html tag της σελίδας, υπάρχει πρόστιμο 100€. :P
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “HTML και XHTML”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης