Seite 1 von 2

DOCTYPE

Verfasst: 26.05.2004 17:27
von exweised
was hat es genau damit auf sich? man lässt damit sein quellcode überprüfen, ob er auch der norm entspricht? oder ...?

ich habe nämlich eine seite mit einem flashintro. benutze ich:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
bekomme ich:
This page is not Valid -//W3C//DTD HTML 4.01 Strict//EN!
benutze ich:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
bekomme ich:
This page is not Valid HTML 4.01 Transitional!
was muss ich machen?

Verfasst: 26.05.2004 17:41
von k-5
es ist nicht nur zur ueberpruefung gedacht ..

damit sagst du dem browser was genau du fuer html schreibst .. welche befehle zulaessig sind .. was du machen darfst usw ..
soviel zum prinzip ..
richtig sinnvoll ist es erst bei xhtml .. da hier wirklich unterschiede verhanden sind ..

im endeffekt juckt des eigentlich recht wenig browser .. da es sich nunmal keiner richtig leisten kann penibler als der ie zu sein .. und der (fast) alles durchlaesst egal ob es jetzt nach definition richtig ist .. oder nicht ..

es ist aber in der regel besser sowas zu setzen .. da sich sowas in zukunft ja mal aendern koennte ..

zu deinem problem mit dem nicht validen zeugs .. schau dir die fehlermeldungen an .. in den 4.01 er definitionen gilt einiges nichtmehr was bei 3 noch durchging .. vorallem strict is da empfindlich ..
hauptfehler sind wohl z.b. fehlende "alt"-properties ..

Verfasst: 26.05.2004 19:08
von exweised
also, der code ist eigentlich fehlerfrei, würde ich das flash weglassen. aber irgendwie weis ich jetzt nicht weiter.

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body bgcolor="#000000">
<table border="0" cellpadding="0" cellspacing="0" style="width:100%; height:100%">
  <tr>
    <td align="center" valign="middle">
	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" id="mws_relations2" width="600" height="400">
		<param name="movie" value="intro.swf">
		<param name="loop" value="false">
		<param name="menu" value="false">
		<param name="quality" value="high">
		<param name="bgcolor" value="#000000">
		<embed src="intro.swf" loop="false" menu="false" quality="high" bgcolor="#FFFFFF" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" width="600" height="400"></embed>
	</object>
    </td>
  </tr>
  <tr>
    <td align="right"><a href="start.htm">skip intro</a></td>
  </tr>
</table>
</body>
</html>

Verfasst: 26.05.2004 21:09
von larsneo
vielleicht hilft dir ja *lies mich*...

Verfasst: 26.05.2004 21:11
von fagus
im endeffekt juckt des eigentlich recht wenig browser .. da es sich nunmal keiner richtig leisten kann penibler als der ie zu sein .. und der (fast) alles durchlaesst egal ob es jetzt nach definition richtig ist .. oder nicht ..
stimmt nicht ganz, denn moderne Browser unterscheiden mittels Doctype, wie sie das Dokument rendern. Im Quirks-Mode sind sie ziemlich fehlertolerant, beim Standard-Mode dagegen führen schon kleine Abweichungen von den jeweiligen W3-Standards (z.b. vergessen von abschliessenden Tags) zu Fehlern.

zum Thema renderering-mode (Darstellung im Browser durch Verwendung von Doctypes):
Worin unterscheiden sich die Modi konkret voneinander?

Wie bereits gesagt weicht die Darstellung innerhalb der einzelnen Browser teilweise sehr stark voneinander ab.

(...)

Standard Mode

- Die im Quirks-Modus aufgeführten "lockeren" Interpretationen wurden aufgehoben, dass bedeutet, dass Farbwerte in Anführungszeichen, RGB Farbwerte ohne #, usw. z.B. ignoriert werden.
- Kein Element (Body, Div, oder Andere) kann 100% hoch sein. Es ist immer so hoch wie das höchste Element in ihm. Die Höhe kann höchstens mit einer absoluten Einheit festgelegt werden, nicht jedoch mit einer relativen Einheit (z.B. %, em)
Quelle und mehr Infos unter: http://www.fabrice-pascal.de/artikel/dtd/

@exweised

versuchst mal mit Doctype Strict und ohne embed-Tag. so funktioniert der Code dann vermutlich.
Ich finde es allerdings schon etwas seltsam, dass der Code auch nicht mit Transitional-HTML-Doctype funtkioniert. Ich hatte auch schon Probleme mit Strict-Doctype, aber durch die Änderung auf Transitional hat sich das Problem gelöst. Schuld war da übrigens, dass ich veraltete HTML-Tags verwendete.
mit welchem Browser hast du das eigentlich getestet? Vielleicht funktioniert der Code ja mit anderen Browsern tadellos?

Verfasst: 27.05.2004 13:24
von exweised
jo, ohne embed-Tag ist alles in ordnung. blos, unter netscape und mozilla funktioniert jetzt ja das flash nicht mehr. gibt´s da alternativen oder muss ich mich jetzt entscheiden, ob ich das eine oder das andere will?

worin besteht eigentlich der unterschied zwischen:

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
und:

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Verfasst: 27.05.2004 13:39
von Christian_W

Verfasst: 27.05.2004 14:09
von exweised
also, die entwickler sind ja mal wirklich nen bisschen komisch. ich habe ein frameset genau richtig laut selfhtml und lasse das auch per doctype für´s frameset einleiten.

jetzt sagt mir selfhtml bei den rahmen bei den frames, dass ich die per frameborder="0" weg lassen kann. jetzt sagt mir das doctypechecker, dass das nicht korrekt sei. na hallo?? selfhtml sagt, dass is erlaubt aber das doctype meckert.

Verfasst: 27.05.2004 16:13
von Christian_W
Also bei mir meckert er nicht:
Deutscher Validator:
Beispielseite von selfhtml überprüfen

Hier meckert er zwar aber nur über ein fehlendes 'Character Encoding':
Beispielseite von selfhtml überprüfen

Gruß Christian

Verfasst: 27.05.2004 19:49
von exweised
bei dem 2. beispiel steht das:

Code: Alles auswählen

<frameset cols="250,*" frameborder="0" framespacing="0" border="0">
  <frame src="verweise.htm" name="Navigation" scrolling="no">
  <frame src="startseite.htm" name="Daten">
  <noframes>
    <p>Dieses Projekt verwendet Frames. Bei Ihnen werden keine Frames angezeigt.</p>
  </noframes>
</frameset>
wenn ich das so übernehme und dann checken lasse, meckert er bei:
<frameset cols="250,*" frameborder="0" framespacing="0" border="0">
aber genau das brauche ich, damit mir kein rahmen mehr angezeigt wird.