< tag /> in HTML?
GE.ORG
- xml
0 Benedikt Loepp0 GE.ORG0 Heiner0 Alex.0 Thomas J.S.0 Heiner0 MudGuard0 Thomas J.S.
0 Heiner
0 Thomas J.S.0 menphrad
Hallo,
In letzter Zeit sehe ich immer mehr HTML-Tags á la
<a href="..." target="..." />
Augenmerk auf das abschliessende "/>"!
Warum und bei welchen Tags ist diese Notation anzuwenden?
Vielen Dank,
GE.ORG
Hallo,
Warum und bei welchen Tags ist diese Notation anzuwenden?
Wenn du X-HTML beim erstellen deiner Webseiten anwendest, also quasi der Nachfolger von HTML 4.0, dann sind einige syntaktische Dinge zu beachten: So müssen z.B. alle Tags klein geschrieben werden, und eben auch geschlossen werden.
Nun musst du aber nicht <br></br> schreiben, damit es geschlossen ist, sondern du kannst bei einem leeren Tag wie <br> dann: <br /> schreiben.
Ein gutes Beispiel sind auch input-Tags:
<input name="bla" type="blub" />
cu Benedikt Loepp
Hi Benedikt!
Vielen Dank für die Antwort!
Wenn ich Dich richtig verstanden habe, gehören also einfach alle Tags, die kein End-Tag brauchen, wie zB img, input ... mit "/>" geschlossen?
Weisst Du vielleicht, wie man dem Dreamweaver MX mitteilen kann, die entsprechenden Tags auch so zu formulieren? :-)
Schönen Abend noch,
GE.ORG
Hallo,
Wenn ich Dich richtig verstanden habe, gehören also einfach alle Tags, die kein End-Tag brauchen, wie zB img, input ... mit "/>" geschlossen?
Ja. In xhtml ist das Pflicht! Das a-Element in Deinem Beispiel gehört also nicht dazu.
Heiner
'n Abend.
Wenn ich Dich richtig verstanden habe, gehören also einfach alle Tags, die kein End-Tag brauchen, wie zB img, input ... mit "/>" geschlossen?
Aber nur, wenn Du wirklich in XHTML programmieren willst.
Und Tags mit in HTML optionalem End-Tag (z.B. <p>) können so was nicht haben (z.B. <p /> geht nicht), da muß man in XHTML immer das End-Tag benutzen.
Nach HTML ist diese "quick close"-Methode leider nicht erlaubt.
Gruß
Alex.
Hallo,
Nach HTML ist diese "quick close"-Methode leider nicht erlaubt.
Erlaubt ist es schon.
Auch das ist korrektes HTML auch wenn die Browser das nicht darstellen können:
------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title/Mimimalisierung in HTML/
<ol
<li/erster Listenpunkt
<li/zweiter Listenpunkt
<br/
meht Text im zweiten Punkt
<li/dritter Listenpunkt
</ol
<p/Ein Textabsatz
------------------------------------
Grüße
Thomas
Erlaubt ist es schon.
Auch das ist korrektes HTML auch wenn die Browser das nicht darstellen können:
Sicher nicht! Schau mal in die html-Spezifikationen beim W3C. Auch der Validator würde das nie als valide bezeichnen.
Heiner
Hi,
Auch das ist korrektes HTML auch wenn die Browser das nicht darstellen können:
Sicher nicht!
Doch.
Schau mal in die html-Spezifikationen beim W3C.
Das solltest eher Du nochmal tun.
Auch der Validator würde das nie als valide bezeichnen.
(ist genau der von Thomas gepostete Code).
cu,
Andreas
Sorry Thomas. Das muss man mir aber jetzt trotzdem nochmal erklären. Der Datei fehlt ja sogar der head. Wie kann das html sein?
Hallo Heiner,
Sorry Thomas. Das muss man mir aber jetzt trotzdem nochmal erklären. Der Datei fehlt ja sogar der head. Wie kann das html sein?
HTML ist eine SGML-Anwendung, d.h. die HTML-DTD ist eine SGML-DTD und es gibt dazu eine SGML-Deklaration http://www.w3.org/TR/html401/sgml/sgmldecl.html, darin wird festgelgt welche SGML-Features für die HTML-DTD gelten:
FEATURES
MINIMIZE
DATATAG NO
OMITTAG YES
RANK NO
SHORTTAG YES
In der HTML-DTD wird dann festgelgt welche Elemente von diesen Minimalisierungregel gebrauch machen können:
Z.B:
<!ELEMENT IMG - O EMPTY>
Bedeutet, dass das endtag von <img> wegbleiben kann.
http://www.w3.org/TR/html401/intro/sgmltut.html#h-3.3.3, das dass keinen Sinn für HTML-Code für die Browser macht ist klar, da die Browser sowas wirklich nicht darstellen können und von einem Browser einen integrierten SGML-Parser zu verlangen wäre wirklich etwas zu viel.
Grüße
Thomas
Tach.
Also irgendwie, ... - hmm. Ich meinte, daß Notationen wie "<br />" in HTML nicht erlaubt sind, in XHTML aber obligatorisch.
Habe ich vor einiger Zeit hier auch mal Im Selfforum gefragt und die Antwort war, daß es nicht erlaubt sei.
Auch der W3C-Validator mag es nicht.
"<br /" mag vielleicht schon gehen - aber wie sieht das aus ohne schließende spitze Klammer? ;-)
Alex.
Auch das ist korrektes HTML auch wenn die Browser das nicht darstellen können:
Sicher nicht!
Doch.
Schau mal in die html-Spezifikationen beim W3C.
Das solltest eher Du nochmal tun.
Auch der Validator würde das nie als valide bezeichnen.
http://validator.w3.org/check?uri=http%3A%2F%2Ftemp.andreas-waechter.de%2Fvalide.html&charset=(detect+automatically)&doctype=Inline&ss=1&verbose=1
Hallo,
Auch das ist korrektes HTML auch wenn die Browser das nicht darstellen können:
Sicher nicht! Schau mal in die html-Spezifikationen beim W3C.
Meist du, dass ich das wirklich tun muss?
»»Auch der Validator würde das nie als valide bezeichnen.
Sag niemals nie! ;-)
Grüße
Thomas
Aber nur, wenn Du wirklich in XHTML programmieren willst.
Da (x)html keine Programmiersprache ist, programmiert man nicht!
Nach HTML ist diese "quick close"-Methode leider nicht erlaubt.
Warum nicht gleich auf xhtml umsteigen? Dafür muss man nicht viel ändern (die wichtigsten Unterschiede wurden ja bereits angesprochen). Ist eh viel konsequenter als html und auf jedenfall fortschrittlicher.
Heiner
Hallo Heiner,
Warum nicht gleich auf xhtml umsteigen? (..)
Ist eh viel konsequenter als html ...
Erläuterst Du mir das noch mal?
und auf jedenfall fortschrittlicher.
Wenn »neuer = fortschrittlicher« gilt, dann ja. Ansonsten kann ich bei den
verabschiedeten XHTML-Versionen da nicht so viel Fortschritt erkennen.
Tim
Konsequent finde ich, dass man jedem Element ein Endtag hinzufügen muss bzw. ein / setzen muss, dass man alles kleinschreiben muss und Attributwerte in Anführungszeichen setzen muss. Das empfinde ich als fortschrittlich und für mich ist es ästhetischer, wenn man nicht zwischen img und IMg hin- und herspringen darf. xhtml 1.0 stellt für mich die Weichen für saubereres html.
Hallo Heiner,
Konsequent finde ich, dass man jedem Element ein Endtag hinzufügen muss bzw.
ein / setzen muss, dass man alles kleinschreiben muss und Attributwerte in
Anführungszeichen setzen muss.
All diese von Dir beschriebenen Dinge in HTML sind innerhalb von des
Universums von HTML konsequent, würde ich sagen. Schließlich definiert
der Standard es so.
Das empfinde ich als fortschrittlich und für mich ist es ästhetischer, wenn
man nicht zwischen img und IMg hin- und herspringen darf.
Ob eine strengere, eigentlich nur andere, Syntax als fortschrittlich zu
bezeichnen ist, naja.
Aber bei dem Ästhetik-Urteil muß ich Dir recht geben. Jetzt nur noch
Richtlinien zur Formatierung des Quellcodes wie z.B. in Python und wir
haben ästhetischen Quellcode, keine »Tag Soup« mehr. Es muß nur jemand all
den Programmierern beibringen, deren Scripte auch (X)HTML auspucken. ;-)
Aber was ich eigentlich sagen wollte: Du sagst hier sehr genau »Ich
empfinde...«, also ein subjektives Werturteil, kein objektivierbares.
Weswegen man dann meiner Meinung nach nicht Pauschalitäten wie
»konsequenter« ohne Begründung raushauen sollte.
xhtml 1.0 stellt für mich die Weichen für saubereres html.
Für mich nicht. Es ist nur eine Reformulierung von HTML 4.01 in XML.
Als »sauber« bezeichne ich hier weniger die gefühlte Ästhetik des
Quellcodes, sondern die richtige Nutzung des Quellcodes. Die Semantik.
Das, was man nicht mit automatisierten Maschinchen, wie z.B. dem
Validator erfassen kann. Unästhetischen Quellcode kann man ja
automatisiert bereinigen lassen, z.B. von HTML Tidy. Bei Semantik muß
der Mensch selber denken und arbeiten. Und wenn man das sieht, dann
sind auch Werturteile wie »Du schreibst sauberern Quellcode.«
gerechtfertigt.
...
Es gibt noch eine Möglichkeit, wie man Konsequenz verschiedener HTML
Standards beurteilen kann: anhand der Konsequenz der Umsetzung eines
gedachten semantischen Auszeichnungs-Ideals, also inwieweit die
technische Spezifikation die Utopien der Ersteller umsetzt. Sowas, denke
ich, ist nicht wirklich meßbar, aber man kann schon die verschiedenen
Standards einteilen:
HTML 3.2 war der Griff in die Klokiste, inkonsequent, weil man den
Browserherstellern hinterherhechelte.
HTML 4.01 bzw. XHTML 1.0 ist dann der Versuch, dieses zu bereinigen,
ist aber noch inkonsequent, da ein paar Elemente nur als deprecated
markiert sind, aber immer noch benutzbar, etwas, daß den Mißbrauch
fördert.
Die Modularisierung von HTML und darauf aufbauend XHTML 1.1 sind zumindest
etwas konsequenter, indem sie »inkonsequente« Elemente identifiziert, sie
in eigene Module verfrachtet und dort weiterhin als veraltet kennzeichnet,
diese Elemente bleiben aber inkonsequenterweise immer noch vorhanden.
ISO-HTML standardisiert da etwas rigoroser, mehr an einem Dokumentenideal
orientiert, man könnte es also als konsequent in der Gedankenwelt seiner
Erschaffer bezeichnen.
XHTML 2.0 weiß noch nicht ganz, was es will. Man könnte es als konsequenteren,
nicht abwärtskompatiblen Versuch bezeichnen, aber solange es noch in der
Entwicklung ist, kann man noch kein wirkliches Urteil fällen.
Und all das schützt nicht vor Mißbrauch. Konsequenz braucht nicht nur
einen wie auch immer konsequenten Standard, sondern auch Autoren, die
sich konsequent an den Intentionen dieses Standard halten. Etwas, das
in der Realität problembehaftet sein kann, wie wir wissen.
...
Eigentlich wollte ich Dir nur ein paar Zeilen Text als Antwort schreiben.
Daß es dann doch so viel geworden ist, zeigt, daß das Thema Konsequenz
mehr Fragen aufwirft, als es mit dem antwortenden Drüberbügeln mit diesem
Wort bereinigen soll. Weswegen ich auch manchmal dabei aufschreie, wie
jetzt. ;-)
Tim
Moin.
Da (x)html keine Programmiersprache ist, programmiert man nicht!
Okay, okay. Soll ich vielleicht schreiben: "ich textauszeichne"? ;-)
Die Geister scheiden sich bekanntlich dabei, was nun Programmiersprache ist und was nicht. Meiner Meinung nach ist es in gewisser Weise doch eine Art einfache "Programmierung". Aber is' ja Wurscht.
Warum nicht gleich auf xhtml umsteigen?
XHTML ist "sauberer" (subjektives Empfinden) als HTML, da es aber keine Abweichungen vom Standard (z.B. proprietäre Tags) erlaubt und die Notation von z.B. Scripten schwierig und für ältere Browser nicht geeignet ist, halte ich momentan nichts von XHTML. Also am besten HTML 4.01 "sauber".
Alex.
Hallo Alex,
(..) da es (XHTML) aber keine Abweichungen vom Standard (z.B. proprietäre
Tags) erlaubt
Das tut HTML auch nicht.
Tim
Hei Tim.
(..) da es (XHTML) aber keine Abweichungen vom Standard (z.B. proprietäre
Tags) erlaubt
Das tut HTML auch nicht.
Hach, ja, stimmt natürlich. Wollte eigentlich sagen, daß HTML-Browser proprietäre Befehle, sofern sie sie nicht kennen, einfach ignorieren, wohingegen XHTML-Browser querulieren. Es gibt also keine proprietären XHTML-Befehle.
Alex.
Hallo.
Es gibt also keine proprietären XHTML-Befehle.
Ich kann dich beruhigen: Es gibt auch keine nicht-proprietären XHTML-_Befehle_ ;-)
MfG, at
Hallo,
Wenn ich Dich richtig verstanden habe, gehören also einfach alle Tags, die kein End-Tag brauchen, wie zB img, input ... mit "/>" geschlossen?
http://selfhtml.teamone.de/html/xhtml/unterschiede.htm
Weisst Du vielleicht, wie man dem Dreamweaver MX mitteilen kann, die entsprechenden Tags auch so zu formulieren? :-)
Eventuelle Tidy verwenden.
Grüße
Thomas
Dreamweaver MX hat die Option "Make Document XHTML Compliant" ...
Zu finden im Menü [ File > New ] rechts unten über "create".
Danach setzt Dreamweaver alle Tags XHTML-konform, also sowohl <img />, <input /> etc. als auch <hr noshade="noshade" /> *and so on* ... ;-)
Greetingz,
Manfred