Hans Thomas Vogler: Warum braucht (X)HTML eigene Elemente zur "Textauszeichnung"?

Beitrag lesen

Hallo,

Moin moin,

Da spricht der Programmiertheoretiker.

Hehe, nein nein, sicherlich nicht. Ich beschäftige mich nur nebenbei damit und habe auch keine Ausbildung in diese Richtung. Ich habe weder Informatik oder ähnliches studiert und ich habe es beileibe auch nicht vor.

Ich meinte auch weniger Deine Ausbildung als Deine Herangehensweise, die programmtheoretisch geprägt ist und nicht redaktionell.

Im Übrigen haben viele hier ebenfalls einen technikfremden Hintergrund, bestes Beispiel ist wohl Stefan Münz, welcher in erster Linie »gelernter« Philosoph ist.

Was? Können die mit Computern umgehen? Können Kommunikationswissenschaftler das wömöglich auch?

SGML, die "Mutter aller Auszeichnungssprachen" (besser:Auszeichnungssysteme), kommt aus der Welt der großen Redaktionssysteme und wurde dazu geschaffen, die Layout-Elemente einer Zeitung auszuzeichnen - nicht den Text! Der ist nur Füllmaterial.

Das kann ich so nicht nachvollziehen.

Frage: Warum gibt es CSS in ausgelagerten Dateien, auf die mehrere HTML-Dokumente mit ähnlicher oder gleicher Auszeichnungsstruktur zugreifen können?

Die "Elemente", um die es da geht, sind z.B. Überschrift, Untertitel, Abstract, Fließtext, Seitenheader, Bildkasten, Bildunterschrift, Zwischentitel usw. usf.

Die Tags sagen etwas über den Inhalt zwischen selbigen aus,

Eben nicht! Es ist wurscht, ob da "Kohlsuppe" drinsteht oder "Atombombe". Die Zuordnung weist dem enthaltenen Text die Bedeutung des Elements zu, sagt aber natürlich überhaupt nichts über den Inhalt aus!

Text als solcher muß nämlich nicht "ausgezeichnet" werden, sondern er wird als "Inhalt" o.a. Elementen "zugewiesen" - oder auch nicht.

Das denke ich anders. Das Dokumentmodell ist zwar vergleichsweise starr, sodass nur noch »einsortiert« werden muss (andere Metapher: man schraubt die Texte wie Glübirnen in die Fassungen an einer Lichterkette),

Schöner Vergleich. Genauso ist es nämlich. Und die Fassung sagt auch nichts über die Glühbirne aus, sondern stellt nur Anforderungen an das passende Gewinde.

dadurch schwindet aber keinesfalls der Charakter der Textauszeichnung

Ein Charakter, der nie da war, kann auch nicht "schwinden"

Wenn man einen Begriff im Flißetext hervorhebt,

Warum, glaubst Du, gibt es in (X)HTML solche eigenen Elemente zur "Textauszeichnung", wenn doch (X)HTML angeblich eine einzige "Textauszeichnungssprache" ist (s.u.)?

folgt man nämlich keinem Schema oder Modell, und eine Liste oder Tabelle tritt auch nicht zwangsläufig auf, dafür existieren keine in jedem Dokument zwangsweise vorhandenen vordefinierten »Fassungen«

Natürlich nicht. Der ganze Sinn ist aber, daß Du Dir eben die passenden "Fassungen" einmal schreibst und sie dann bei Bedarf wiederverwendest. Spart Zeit, Arbeit und überflüssiges Nachdenken, schafft dabei strukturelle Übersicht und damit leichtere Rezipierbarkeit durch den Leser.

Die Zeit Online arbeitet beispielsweise mit XML-Speicherung aller Artikel und transformiert »live« per XSL - würdest du bei diesen an den Drucksatz angelehnten Datenstrukturen nicht von Textauszeichnung sprechen?

Nein. XSL macht mit XML da dasselbe, was CSS mit HTML macht: es weist den strukturellen und 'gesichtslosen' Elementen formale Eigenschaften zu.

Wo ist der fundamentale Unterschied zur (vornehmlich) Text-Auszeichnungssprache (X)HTML?

(X)HTML ist keine "Textauszeichnungssprache"! Das ist ein Übersetzungsfehler! Es ist eine "Auszeichnungssprache". Insofern existiert auch kein "fundamentaler Unterschied".

Der "Inhalt" ist aber eben nicht das auszuzeichnende Element.

Dem kann ich nicht zustimmen bzw. kann deinen Gedankengang nicht nachvollziehen, zumindest für (X)HTML und die mir bekannten SGML/XML-Sprachen nicht.

[code on]
<html>
<head>
<meta name="Author" content="JavaScript">
<style type="text/css">
h1 {richtig groß und fett}
h2 {groß, kursiv und fett}
h3 {mittel, kursiv und fett}
p  {klein, Blocksatz 200 Pixel}
#abstract {fett}
</style>
<script type="text/javascript">
Artikel = new Array()
Artikel[0] = new Array(4)
Artikel[0][0] = document.createTextNode('Kohlsuppe')
Artikel[0][1] = document.createTextNode('macht aggressiv')
Artikel[0][2] = document.createTextnode('Hier steht ein Vortext')
Artikel[0][3] = new Array(8)
for (i=0;i<Artikel[0][3].length;i++)
    {
     Artikel[0][3][i] = new Array(2)
     if (i != 0) Artikel[0][3][i][0] = document.createTextNode('Das isser Zwüschendiddel')
     Artikel[0][3][i][1] = new Array(3)
     for (j=0;j<Artikel[0][3][i][1].length;j++)
          Artikel[0][3][i][1][j] = document.createTextNode('Und das hier ist der '+(j+1)'te Absatz im '+(i+1)+'ten Textabschnitt des Artikels "'+Artikel[0][0].data+'".')
     }
function Anzeige (n)
 {
  with (document.getElementsByTagName('body')[0])
       {
         getElementsByTagName('h1')[0].appendChild(Artikel[0][0].data)
         getElementsByTagName('h2')[1].appendChild(Artikel[0][1].data)
         getElementById('abstract').appendChild(Artikel[0][2].data)
         for (i=0;i<Artikel[0][3].length;i++)
             {
              TMP = appendChild(document.createElement('h3'))
              TMP.appendChild(Artikel[0][3][i][0].data)
              for (j=0;j<Artikel[0][3][i][1].length;j++)
                  {
                   TMP = appendChild(document.createElement('p'))
                   TMP.appendChild(Artikel[0][3][i][1][j].data)
                  }
             }
       }
 }

onload = Anzeige
</script>
</head>
<body>
<h1></h1>
<h2></h2>
<p class="Abstract"></p>
</body>
</html>
[code off]

Ähem. Nur mal so geschrieben. Ausführbarkeit ohne Gewehr...

Vielleicht kann ich´s so erklären... Wo siehst Du im Beispiel eines Artikelgenerators eine "Textauszeichnung"? Nirgends! Der Generator tut dabei nichts anderes als das, was normalerweise Du als Autor machst bzw. machen solltest, nämlich einen Bezug von Inhalt und Dokumentenschablone herstellen.

Etwas anderes wäre es, wenn der Artikelgenerator beispielsweise noch ein "strong"-Element in die Absätze einflechten würde. Nur die Elemente zur logischen und physikalischen Textauszeichnung haben nämlich ausschließlich diesen Zweck, alle anderen sind strukturelle Elemente des Dokuments, die lediglich ihre formalen Eigenschaften an den zugewiesenen Inhalt vererben. Es sind aber in erster Linie Struktur-Elemente und keine "Textauszeichnungs"-Elemente.

Die Tatsache, daß (X)HTML eigene Elemente zur "Textauszeichnung" braucht, um lediglich formale Eigenschaften zuzuweisen, und daß diese Elemente extra in den Baum eingehängt werden und dazu aus dem Fließtext herausgenommen werden müssen, weist darauf hin, daß (X)HTML eben *keine* "Textauszeichnungssprache" ist, sondern eine allgemeine Auszeichnungssprache zur strukturellen Gestaltung eines Dokuments. Einem Robot beispielsweise ist es wurscht, wie ein Element aussieht, er will nur die strukturelle Zuordnung interpretieren können. "Text" versteht er eh nicht...

Daß man den Elementen überhaupt formale Eigenschaften zuweisen kann, ist gewissermaßen lediglich ein Zugeständnis an die "Menschenlesbarkeit" des Dokuments.

Habe ich Dir "meinen Gedankengang" - der letztlich auch der der HTML-Entwickler war und ist (siehe: Semantic Web) damit einigermaßen nachvollziehbar darlegen können?

servus,
T.

Grüße,
Mathias

0 86

Umstieg von HTML 4.01 auf XHTML 1.0

Siechfred
  • meinung
  1. 0
    Stefan Einspender
  2. 0
    Christoph Schnauß
  3. 0
    Wilhelm Turtschan
  4. 0
    AndreD
    1. 0
      Stefan Einspender
      1. 0
        molily
      2. 0
        AndreD
        1. 0
          Stefan Einspender
          1. 0
            Herbalizer
        2. 0
          Michael Jendryschik
          1. 0
            Christian Seiler
            1. 0
              Michael Jendryschik
              1. 0
                Christian Seiler
              2. 0

                Ist 'line' wirklich logischer als 'br'?

                Utz
                1. 0
                  Michael Jendryschik
                  1. 0
                    Hans Thomas Vogler
                    1. 0
                      Michael Jendryschik
                      1. 0
                        Hans Thomas Vogler
                  2. 0
                    Utz
                    1. 0
                      Michael Jendryschik
                      1. 0
                        Utz
                        1. 0
                          Michael Jendryschik
                          1. 0
                            Utz
                          2. 0
                            molily
                            1. 0
                              molily
                            2. 0
                              Michael Jendryschik
                              1. 0
                                molily
                                1. 0
                                  Michael Jendryschik
                                  1. 0
                                    Tim Tepaße
                2. 0

                  Erstmal line, dann aber schnell zu &img;

                  Tim Tepaße
                  • html
                  1. 0
                    Utz
                    1. 0
                      Tim Tepaße
      3. 0
        Michael Jendryschik
    2. 0
      Michael Jendryschik
      1. 0
        molily
        1. 0
          Michael Jendryschik
          1. 0
            molily
            1. 0
              Michael Jendryschik
              1. 0
                molily
                1. 0
                  Michael Jendryschik
            2. 0

              Immer Ärger mit der Terminologie

              Tim Tepaße
              • menschelei
              1. 0
                molily
      2. 0
        Hans Thomas Vogler
        1. 0
          Michael Jendryschik
          1. 0
            Hans Thomas Vogler
        2. 0
          molily
          1. 0
            Hans Thomas Vogler
            1. 0
              Michael Jendryschik
              1. 0
                Hans Thomas Vogler
                1. 0
                  Michael Jendryschik
                  1. 0
                    Hans Thomas Vogler
                    1. 0
                      Michael Jendryschik
                      1. 0
                        Hans Thomas Vogler
                        1. 0

                          (Nachtrag) Umstieg von HTML 4.01 auf XHTML 1.0

                          Hans Thomas Vogler
                2. 0
                  Thomas J.S.
            2. 0
              molily
              1. 0

                Warum braucht (X)HTML eigene Elemente zur "Textauszeichnung"?

                Hans Thomas Vogler
                1. 0

                  XSLT

                  Michael Jendryschik
                  • xml-derivat
                  1. 0
                    Hans Thomas Vogler
                    1. 0
                      Michael Jendryschik
                2. 0
                  Herbalizer
                  1. 0
                    Hans Thomas Vogler
                    1. 0
                      Thomas J.S.
                3. 0
                  molily
            3. 0
              Thomas J.S.
        3. 0

          HyperTEXT Markup Language

          Tim Tepaße
          1. 0
            molily
  5. 0
    Tim Tepaße
  6. 0
    Susanne Jäger
  7. 0
    Utz
  8. 0
    Herbalizer
  9. 0
    Michael Jendryschik
    1. 0
      Siechfred
      1. 0
        Michael Jendryschik
        1. 0
          Siechfred
          • menschelei
          1. 0
            Michael Jendryschik
  10. 0
    emu
  11. 0
    Andres Freund
  12. 0
    Hans Thomas Vogler
    1. 0
      Michael Jendryschik
      1. 0
        Christian Seiler
        1. 0
          Hans Thomas Vogler
          1. 0
            Christian Seiler
      2. 0
        Hans Thomas Vogler
    2. 0
      Tim Tepaße