GE.ORG: < tag /> in HTML?

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

  1. 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

    1. 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

      1. 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

        1. '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.

          1. 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

            1. 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

              1. 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.

                http://validator.w3.org/check?uri=http%3A%2F%2Ftemp.andreas-waechter.de%2Fvalide.html&charset=(detect+automatically)&doctype=Inline&ss=1&verbose=1

                (ist genau der von Thomas gepostete Code).

                cu,
                Andreas

                --
                Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
                1. Sorry Thomas. Das muss man mir aber jetzt trotzdem nochmal erklären. Der Datei fehlt ja sogar der head. Wie kann das html sein?

                  1. 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

                2. 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

              2. 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

          2. 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

            1. 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

              1. 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.

                1. 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

                  --
                  Und ich schreibe die nächsten Wochen nicht, nicht, nicht dieses vermaledeite
                  Wort »Konsequenz« in all seinen Variationen. Das hier reicht schon fast für
                  eine Lebenzeit aus. Istjaschlimm!
            2. 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.

              1. Hallo Alex,

                (..) da es (XHTML) aber keine Abweichungen vom Standard (z.B. proprietäre
                Tags) erlaubt

                Das tut HTML auch nicht.

                Tim

                1. 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.

                  1. Hallo.

                    Es gibt also keine proprietären XHTML-Befehle.

                    Ich kann dich beruhigen: Es gibt auch keine nicht-proprietären XHTML-_Befehle_ ;-)
                    MfG, at

      2. 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

      3. 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

        --
        "Man muss die Welt nicht verstehen, man muss sich nur in ihr zurechtfinden" (Albert Einstein)
        Manfred Wiesinger
        http://manfred-wiesinger.com
        http://menphrad.net