Hallo Andreas,
kuerzlich war ich hier im Forum in eine ganz aehnliche Diskussion verwickelt. Daher mische ich mich hier auch noch mal ein.
Gerade bschäftige ich mich mit der Extraktion von Tabellendaten.
Es wurde ja schon gefragt, was du damit genau meinst. Es ist doch eigentlich (zumindest fuer einigermassen geuebte Programmierer) kein grosses Problem, etwa mit Perl oder PHP die Grobstruktur einer HTML-Tabelle zu parsen.
Es gibt fast keine Tabelle im Internet, die wie es eigentlich gedacht ist, tabellarische Informationen enthält. Missbrauch fast durchgängig.
Es kann aber auch sein, dass du einfach eine zu enge Vorstellung davon hast, was eine Tabelle ist. Hast du dich beispielsweise schon mal gefragt, warum "Tabelle" und "Tabulator" beide mit "Tab" beginnen? Beim Gestalten und Verteilen von Information auf einem "Canvas" (ob das nun ein Browserfenster oder eine Buchseite ist, sei mal dahingestellt) entsteht einfach oft das Beduerfnis, Informationen nebeneinander darzustellen, und zwar so, dass sie buendig untereinander dargestellt werden. Die so darzustellenden Informationen sind dabei laengst nicht immer nur typische "Gitternetztabellen". Nicht umsonst unterscheidet das W3C ja auch Tabellen mit Gitternetz und solche ohne. Das border-Attribut ist deshalb auch nicht deprecated. Tabellen ohne Gitternetz sind fuer solche freieren Anwendungen gedacht - eben fuer alle Faelle, wo Informationen, gleich welcher Art, irgendwie in eine saubere "Nebeneinander-Untereinander-Beziehung" gebracht werden sollen. Es steht nirgendwo geschrieben, um welche Art von Information es sich dabei handeln darf.
Noch mal zurueck zu "Tabelle" und "Tabulator". Ich habe schon haeufig aeltere Handbuecher in FrameMaker sauber neuformatieren muessen. Eine der dabei anfallenden, typischen Aufgaben war es, tabulator-basierte Daten in blinde Tabellen umzuwandeln. Der Grund ist, dass man mit Tabulatoren nicht so sauber arbeiten kann wie mit blinden Tabellen (wegen der Probleme, die entstehen, wenn ein Inhalt mal laenger ist als die Tabulatorbreite, und es dann zu Verunstaltungen kommt). Blinde Tabellen sind also durchaus ein wichtiges Instrument, wenn es darum geht, Informationen, die in einer vertikalen und horizontalen Zuordnung zueinander stehen sollen, anzuordnen. Egal, welcher Art diese Informationen sind. Es koennen Texte sein, die Bildern zugeordnet werden, und warum nicht auch Navigationslinks, die neben einem Hauptinhaltsbereich dargestellt werden sollen? Daran ist absolut nichts Verwerfliches. Im Gegenteil: das ist eine ordentliche Darstellungsform.
Ich kann das gar nicht verstehen, denn es gibt sooo viele Möglichkeiten, seine nichttabellarische Daten im Netz zu strukturieren, nicht zuletzt mit div-Containern.
Nichts gegen positionierte div-Container - ich verwende sie ebenfalls gerne. Aber was soll daran "moralisch besser" sein als an blinden Tabellen? Beides dient der Informationsverteilung. Wenn man so will, orientieren sich positionierte div-Container eher an der Metapher der Bildverarbeitung (Layer-Modell), waehrend blinde Tabellen eher im Kontext der Textverarbeitung bleiben (Textfluss der Seite wird nicht unterbrochen). Mit beiden Techniken kann man aehnliche oder zum Teil gleichartige Ergebnisse erzielen. Das ist genauso, wie man eine Geburtstagsglueckwunschkarte mit MS Word ebenso gestalten kann wie mit Photoshop.
Wenn man wirklich darauf Wert legt, bei jedem Element, das man "anordnet", dessen Bedeutung zu markieren, so kann man das mit Klassen- oder Id-Namen tun. Beides steht in Form von Universalattributen zur Verfuegung, und beides laesst sich auf div-Elemente ebenso wie auf td-Elemente anwenden. Will man noch konsequenter sein, sollte man gleich seine gesamten Inhalte in einer geeigneten, auf den Inhalt zugeschnittenen XML-Sprache auszeichnen. Nur so sind Inhalte wirklich sauber semantisch speicherbar. Dann muss man eben zur Laufzeit browser-taugliches HTML daraus generieren.
Daher mein Aufruf: Baut Eure Seiten doch ein wenig standardkonform auf.
Und meiner: hoert endlich auf mit der Maer von den "guten divs" und den "boesen Tabellen"! Das war jetzt mal ein Jahr lang der Lieblingslaerm der Gurus, doch allmaehlich wird diese Mode wie es bei Moden eben ist wieder langweilig. Benutzen wir doch einfach die divs und die tables wie wir meinen, solange wir uns ueberhaupt mal Gedanken ueber all diese Dinge gemacht haben. Dass es in jeden guten Webdesigner-Kurs gehoert, das Thema als solches zu behandeln, darin stimme ich auf jeden Fall mit dir ueberein.
Nicht jeder Teeny, der weiß, was der Unterschied zwischen h1 und p ist, ist in meinen Augen gleich Webgestalter.
Das ist voellig richtig. Aber was soll die Aussage in dem Zusammenhang, den du dir als Kern deines Postings ausgesucht hast?
viele Gruesse
Stefan Muenz