HTML strict Fehlermeldungen
Christian Eyrich
- html
'n ABend mal wieder,
Der HTML-Validator bringt mich noch um den Verstand.
Ich hab's mal versucht und meine Seite einfach zu strict erklärt. Nun schmeißt der aber bei einem so absolut simplen Code sogar zwei Meldungen aus.
Nur nützen die mir nix, denn welches Inlineelement enthält hier denn ein Blockelement? Ist doch nur A als Inlineelement da. Und seit wann ist es denn verboten einfach Text ins Dokument zu schreiben, in was soll ich's denn einwickeln?
<BODY>
<A HREF="link.html">link</A>
<H3>Head</H3>
text
</BODY>
Error: element "A" not allowed here; possible cause is an inline element containing a block-level element
Error: text is not allowed here; try wrapping the text in a more descriptive container
Bitte weningstens einen Hinweis wo in der Spec ich was drüber finden kann, meine Suchmethode beim w3c führt nicht zum gewünschten Ergebnis.
Bye,
Christian
Hi, Christian
Der HTML-Validator bringt mich noch um den Verstand.
Schreibe valide Seiten ;)
Ich hab's mal versucht und meine Seite einfach zu strict erklärt.
Gut, das ist die strengste Variante.
Nur nützen die mir nix, denn welches Inlineelement enthält hier denn ein Blockelement? Ist doch nur A als Inlineelement da.
Und warum meinst du, heißt es _inline_? Da fehlt was drum'rum ;)
Und seit wann ist es denn verboten einfach Text ins Dokument zu schreiben, in was soll ich's denn einwickeln?
Das war schon immer so.
<BODY>
<A HREF="link.html">link</A>
<H3>Head</H3>
text
</BODY>
Error: element "A" not allowed here; possible cause is an inline element containing a block-level element
http://selfhtml.teamone.de/html/referenz/elemente.htm#a
http://www.w3.org/TR/REC-html40/struct/links.html#edef-A
http://selfhtml.teamone.de/html/referenz/elemente.htm#block_elemente
http://selfhtml.teamone.de/html/referenz/elemente.htm#inline_elemente
Error: text is not allowed here; try wrapping the text in a more descriptive container
http://selfhtml.teamone.de/html/referenz/elemente.htm#p
http://www.w3.org/TR/REC-html40/struct/text.html#edef-P
Und für 'strict' sehr wichtig:
http://selfhtml.teamone.de/html/referenz/varianten.htm#strict_nicht_erlaubt
Sorry, dass ich dich hier so mit Links bombardiere, aber dafür ist SELFhtml so furchtbar gut geeignet ;)
LG Orlando
--
SELF-TREFFEN 2002
http://www.rtbg.de/selftreffen/
http://www.megpalffy.org/temp/penneninhh.html
Hi auch, Orlando,
Der HTML-Validator bringt mich noch um den Verstand.
Schreibe valide Seiten ;)
Tja, transitional kein Thema aber strict ...
Error: element "A" not allowed here; possible cause is an inline element containing a block-level element
Nur nützen die mir nix, denn welches Inlineelement enthält hier denn ein Blockelement? Ist doch nur A als Inlineelement da.
Und warum meinst du, heißt es _inline_? Da fehlt was drum'rum ;)
Oh, ach, knurr. Dann sollen die sowas wie "possible cause is an inline element not contained in a block-level element" schreiben, aber nicht sowas irreführendes.
Und für 'strict' sehr wichtig:
http://selfhtml.teamone.de/html/referenz/varianten.htm#strict_nicht_erlaubt
Danke, den habe ich schon durchgelesen und ist ja auch nicht das Problem.
Also jetzt heißt's
<BODY>
<P>
<A HREF="link.html">link</A>
</P>
<H3>Head</H3>
<P>text</P>
</BODY>
und geht glatt durch den Validator. Aber gefallen muß es mir nicht, oder? Ich glaube ich bleibe beim Transitionalen.
Was mir aber zu denken gibt, ist, daß man auch die Endtags für <P> weglassen kann und er findet es weiterhin ok. Das finde ich wiederum falsch.
Sorry, dass ich dich hier so mit Links bombardiere, aber dafür ist SELFhtml so furchtbar gut geeignet ;)
Sicher, darum hab' ich ja gebeten, danke.
Ciao,
Christian
Hi nochmal
Also jetzt heißt's
<BODY>
<P>
<A HREF="link.html">link</A>
</P>
<H3>Head</H3>
<P>text</P>
</BODY>
und geht glatt durch den Validator. Aber gefallen muß es mir nicht, oder? Ich glaube ich bleibe beim Transitionalen.
Ob nun scrict oder transitional, der Unterschied ist wirklich nicht sehr groß. Was stört dich denn daran?
Was mir aber zu denken gibt, ist, daß man auch die Endtags für <P> weglassen kann und er findet es weiterhin ok. Das finde ich wiederum falsch.
Ist es auch. Bei XHTML 1.0 sctrict meint der Validator:
Error: end tag for "p" omitted; end tags are required in XML
for non-empty elements; empty elements require an end tag or
the start tag must end with "/>"
Fehlende End-Tags bei <p> müssten aber AFAIK immer einen Fehler ergeben. Es gibt ja auch keinen Grund, sie wegzulassen ;)
LG Orlando
--
SELF-TREFFEN 2002
http://www.rtbg.de/selftreffen/
http://www.megpalffy.org/temp/penneninhh.html
Hallo,
Ob nun scrict oder transitional, der Unterschied ist wirklich nicht sehr groß. Was stört dich denn daran?
Das ständige umklammern mit p (oder anderen Blöcken). Vor allem ganz oben am Dokumentrand macht es mir einen Abstand rein, der mir nicht passt.
Und wenn ich dann einfach alles umklammern könnte wär's auch ok. Aber <P><H3>Head</H3></P> geht ja schon nicht mehr.
Ist es auch. Bei XHTML 1.0 sctrict meint der Validator:
Hm, bei HTML 4.01 isses ihm egal.
Fehlende End-Tags bei <p> müssten aber AFAIK immer einen Fehler ergeben. Es gibt ja auch keinen Grund, sie wegzulassen ;)
<P> zumindest war für mich bisher immer eine Funktion um einen Absatz zu markieren, ein Satzzeichen wie ein Punkt der einfach eine Position markiert und nicht einen Bereich.
Bye,
Christian
Hi,
Das ständige umklammern mit p (oder anderen Blöcken). Vor allem ganz oben am Dokumentrand macht es mir einen Abstand rein, der mir nicht passt.
das ist logisch, weil ja <p> für einen Textabsatz steht. Du kannst den Rand aber mit margin: beeinflussen -> http://selfhtml.teamone.de/css/eigenschaften/randabstand.htm
Und wenn ich dann einfach alles umklammern könnte wär's auch ok. Aber <P><H3>Head</H3></P> geht ja schon nicht mehr.
Das sind ja auch zwei Block-Elemente, die man so nicht verschachteln darf.
Fehlende End-Tags bei <p> müssten aber AFAIK immer einen Fehler ergeben. Es gibt ja auch keinen Grund, sie wegzulassen ;)
<P> zumindest war für mich bisher immer eine Funktion um einen Absatz zu markieren, ein Satzzeichen wie ein Punkt der einfach eine Position markiert und nicht einen Bereich.
HTML soll nur den Text logisch strukturieren, das Layout gestaltet man besser mit CSS.
LG Orlando
--
SELF-TREFFEN 2002
http://www.rtbg.de/selftreffen/
http://www.megpalffy.org/temp/penneninhh.html
Hallo,
Ob nun scrict oder transitional, der Unterschied ist wirklich nicht sehr groß. Was stört dich denn daran?
Das ständige umklammern mit p (oder anderen Blöcken). Vor allem ganz oben am Dokumentrand macht es mir einen Abstand rein, der mir nicht passt.
Und wenn ich dann einfach alles umklammern könnte wär's auch ok. Aber <P><H3>Head</H3></P> geht ja schon nicht mehr.
Es gibt zwei "Universalelemente" DIV und SPAN, das erste ist ein Blockelement, das zweite ein Inlineelement. Beide lassen sich so gut wie überall hinein- und drumherumschachteln.
Einfachster Weg ist also:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="de" xml:lang="de">
<head>
<title>Simpel</title>
</head>
<body>
<div>
Hallo Welt
</div>
</body>
</html>
Fehlende End-Tags bei <p> müssten aber AFAIK immer einen Fehler ergeben. Es gibt ja auch keinen Grund, sie wegzulassen ;)
Doch, wenn es erlaubt ist. Siehe entspr DTD.
(Bevor sich einer noch aufregt:ja, ich weiß auf welchem Mißverständnis von SGML das beruht und das es eigentlich so nicht richtig ist ;-)
<P> zumindest war für mich bisher immer eine Funktion um einen Absatz zu markieren, ein Satzzeichen wie ein Punkt der einfach eine Position markiert und nicht einen Bereich.
Es ist ein Bereich und zwar eben der ganze Absatz. Wie der Browser das dann darstellt ist sein Problem.
Oder beser gesagt: unseres *sigh* ;-)
(Zum Glück gibt es dann aber wieder CSS ;-)
so short
Christoph Zurnieden
hi
und geht glatt durch den Validator. Aber gefallen muß es mir nicht, oder? Ich glaube ich bleibe beim Transitionalen.
wo macht es einen Unterschied? Gegen unerwünschte Abstände soll das margin (oder eben nicht) der <p>s helfen.
Was mir aber zu denken gibt, ist, daß man auch die Endtags für <P> weglassen kann und er findet es weiterhin ok. Das finde ich wiederum falsch.
in HTML (zum Glück nicht mehr in XHTML) gab es einige Tags, wo das Endtag optional war. <p> gehört dazu. Imho sollte man das aber trotzdem meiden, schon alleine, falls man die Seite irgendwann mal auf XHTML umstellen will.
Grüße aus Bleckede
Kai