Autoren (Fortgeschritten) (deutsche bersetzung der Seite PmWiki.TableDirectives, Stand 10.03.2006)

Es gibt vier Direktiven fr erweiterte Tabellen. Alle davon mssen am Anfang der Zeile stehen um wirksam zu sein.

(:table (attr...):)

Erzeugt eine neue HTML <table> mit den in attr... angegebenen Attributen. Beendet vorherige Tabellen, falls vorhanden. Gltige Attribute und Werte sind:

  • border (Tabellenrand -- eine positive ganze Zahl)
  • bordercolor (Farbe des Randes -- eine (englische) Farbbezeichnung oder eine Hexadezimalzahl, die einer Farbe entspricht; wird nicht in allen Browsern angezeigt)
  • cellspacing (eine positive ganze Zahl, die den Abstand zwischen den Zellen bestimmt)
  • cellpadding (eine positive ganze Zahl, die den Abstand zwischen Zelleninhalten und Zellenrand bestimmt)
  • width (Tabellenbreite -- eine positive ganze Zahl oder eine Prozentangabe)
  • bgcolor (Hintergrundfarbe -- eine (englische) Farbbezeichnung oder eine Hexadezimalzahl, die einer Farbe entspricht)
  • align (Ausrichtung -- linksbndig, zentriert oder rechtsbndig)
  • summary (Zusammenfassung -- wird nicht dargestellt; vor allem genutzt, um Menschen mit Sehschwchen oder Blinden das Navigieren zu erleichtern)

(:cell (attr...):)

Erzeugt eine neue Zelle mit den in attr... angegebenen Attributen. Beendet eine eventuell vorher vorhandene Zelle. Im HTML-Quelltext wird eine neue "<td attr>" Anweisung erzeugt (und vielleicht auch <table>, <tr> und </td> Anweisungen, falls notwendig, um eine gltige HTML Tabelle zu erzeugen). Gltige Attribute und Werte sind:

  • align (horizontale Ausrichtung -- linksbndig, zentriert oder rechtsbndig)
  • valign (vertikale Ausrichtung -- top, middle or bottom)
  • colspan (eine positive ganze Zahl; gibt an, ber wieviele Spalten sich die Zelle erstrecken soll)
  • rowspan (eine positive ganze Zahl; gibt an, ber wieviele Zeilen sich die Zelle erstrecken soll)
  • bgcolor (Hintergrundfarbe -- eine (englische) Farbbezeichnung oder eine Hexadezimalzahl, die einer Farbe entspricht)
  • width (Zellenbreite -- eine positive ganze Zahl oder eine Prozentangabe)

(:cellnr (attr..):)

Erzeugt eine Neue Zelle am Anfang der nchsten Zeile. Beendet eine vorherige Tabellenzelle, falls vorhanden. Im HTML-Quelltext wird eine "<tr><td attr>" Anweisung erzeugt. Zustzlich auch <table>, </td> und </tr> falls notwendig um gltiges HTML zu erzeugen. Gltige Attribute und Werte sind:

  • align (horizontale Ausrichtung -- linksbndig, zentriert oder rechtsbndig)
  • valign (vertikale Ausrichtung -- top, middle or bottom)
  • colspan (eine positive ganze Zahl; gibt an, ber wieviele Spalten sich die Zelle erstrecken soll)
  • rowspan (eine positive ganze Zahl; gibt an, ber wieviele Zeilen sich die Zelle erstrecken soll)
  • bgcolor (Hintergrundfarbe -- eine (englische) Farbbezeichnung oder eine Hexadezimalzahl, die einer Farbe entspricht)
  • width (Zellenbreite -- eine positive ganze Zahl oder eine Prozentangabe)

(:tableend:)

Schliet die letzte Tabellenzelle und schliet auch jegliche Tabelle. Erzeugt </td>, </tr> und </table> wie bentigt.

Anmerkungen

Fr die Formatierungsanweisungen 'table', 'cell' und 'cellnr' lassen sich alle Attribute spezifizieren, die in korrekten HTML-<table> und <td>-Anweisungen nutzbar sind. So kann man rowspan, colspan, usw. als Argumente angeben, um beliebig formatierte Tabellen zu erzeugen. Allerdings ist es nicht mglich, eine Tabelle (:table:) innerhalb einer Zelle (:cell:) oder (:cellnr:) zu erzeugen. Der nchste Absatz erlutert die Grnde fr diese Einschrnkung.

Viele werden vermutlich fragen, warum wir nicht einfach die normalen HTML-Tabellen-Formatierungsanweisungen (<table>, <tr>, <td>, <th>) nutzen und damit verschachtelte Tabellen ermglichen, anstatt gnzlich neue Auszeichnungen zu erfinden, die diese Mglichkeit nicht bieten. Darauf gibt es zwei Antworten: Zum einen sind die HTML-Formatierungsanweisungen fr Tabellen fr unerfahrene Autoren (siehe Zielgruppen und PmWiki Philosophie #2) sehr hsslich. Zum anderen knnte es sehr schnell passieren, dass Autoren Tabellen mit fehlerhaftem HTML-Code erzeugen, die (zumindest in einigen Browsern) falsch oder berhaupt nicht mehr dargestellt werden. Sogar erfahrenen Netzseitenprogrammierern passieren ab und an Fehler bei der HTML-Kodierung von Tabellen. Es ist insofern unrealistisch zu erwarten, dass durchschnittliche Autoren dies immer richtig hinbekommen, oder dass sie in der Lage sind, komplizierten HTML-Code zu verstehen, den andere Wikibenutzer verwendet haben.

Typischer Einwand: Sicherlich wrden unerfahrene oder durchschnittliche Autoren HTML-Code nicht direkt schreiben, sondern dazu ein Werkzeug wie FrontPage oder sogar MSWord benutzen. Dies wre fr die Autoren noch viel einfacher als selbst die einfachsten PmWiki-Formatierungsanweisungen neu zu lernen.
Pm's Antwort: Aber nachdem HTML mit externen Programmen erzeugt und ins Wiki eingespeist wurde: wie kann ein anderer Autor den Code bearbeiten und verndern, wenn er die ursprngliche FrontPage or MSWord Datei, aus der der Code erzeugt wurde, nicht zur Verfgung hat. Man mus daran denken, dass wir ber gemeinschafliches Bearbeiten reden. Der HTML-Quelltext, den solche Programme erzeugen, gehrt zu den am schwersten les- und bearbeitbaren HTML-Quelltexten!

Es ist schwierig, PmWiki so zu programmieren, dass es beliebige Tabellenformatierungen erkennt und notfalls reparieren kann. Deshalb benutzt PmWiki die oben erklrte einfachere Version. Diese Version ist dennoch in der Lage, den meisten Anforderungen an Tabellen zu gengen (mit der Ausnahme von verschachtelten Tabellen).

Dies bedeutet allerdings noch nicht, dass verschachtelte Tabellen mit PmWiki berhaupt nicht erzeugt werden knnen -- sie lassen sich nur nicht mit den Standard-Formatierungsanweisungen herstellen. Ein Administrator eines Wikis kann natrlich durch Lokale Anpassungen oder die Verwendung von Header/Footer-HTML-Code die Verwendung von verschachtelten Tabellen ermglichen.

Beispiel 1. Eine Tabelle mit erweiterten Formatierungsanweisungen.

(:table border=1 cellpadding=5 cellspacing=0:)
(:cell:) a1
(:cell:) b1
(:cell:) c1
(:cell:) d1
(:cellnr:) a2
(:cell:) b2
(:cell:) c2
(:cell:) d2
(:tableend:)
a1 b1 c1 d1
a2 b2 c2 d2

In HTML ist dies das Gleich wie

<table border='1' cellpadding='5' cellspacing='0'>
  <tr>
    <td>a1</td>
    <td>b1</td>
    <td>c1</td>
    <td>d1</td>
  </tr>
  <tr>
    <td>a2</td>
    <td>b2</td>
    <td>c2</td>
    <td>d2</td>
  </tr>
</table>

Flieende Tabelle mit Navigationsliste

Navigationsverweise

Was, wenn man eine nette kleine Tabelle erzeugen wollte, die wie ein Inhaltsverzeichnis auf einer Seite wie dieser funktioniert? In diesem Beispiel fliet die Tabelle rechts (der Text fliet links herum) und enthlt einige Verweise in einer Liste. Das ist eine nette Demonstration, wie es mglich, ist ein kleines Inhaltsverzeichnis zu erstellen, das vielleicht auch zu anderen Seiten der gleichen Gruppe verweist. Man beachte, dass eine Aufzhlungsliste nicht in einer einfachen Tabelle funktionieren wrde - Sie funktioniert nur innerhalb einer erweiterten Tabelle, wie im hier verwendeten Beispiel-Code.

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr:)
'''Navigationsverweise'''
(:cellnr:)
*[[Simple tables|Einfache Tabellen]]
*[[TableDirectives|Tabellendirektiven]]
(:tableend:)

Navigationsverweise

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr colspan=2 align=center:)
'''Navigationsverweise'''
(:cellnr align=center:)
[[Simple tables|Einfache Tabellen]]
(:cell align=center:)
[[TableDirectives|Tabellendirektiven]]
(:tableend:)

Navigationsverweise

Einfache Tabellen

Tabellendirektiven

Wenn man sich die hier verwendeten Auszeichnungen ansieht, erkennt man, dass die hexadezimale Farbe #cccc99 fr den Tabellenhintergund verwendet wurde. Auerdem erzeugt die Auszeichnung (:cellnr:) eine neue Zeile, eine neue Zelle und schliet die vorherige Zeile am Ende ab.

Man kann dieses Konzept noch etwas weiter treiben: Wenn man vielleicht in jeder Seite der Gruppe das gleiche Inhaltverzeichnis sehen mchte, kann man nur EINE wie oben beschrieben Tabelle erzeugen und sie auf einer eigenen Seite ablegen. Dann kann man sie auf jeder der eigenen Seiten einbinden. Der Textflu (Ausrichtung) wird dann auf jeder Seite in die das Inhaltsverzeichnis eingebunden wird gleich gelten. Nicht schlecht!

<< Einfache Tabellen | Dokumentationsindex | Wikistile >>

Seite zuletzt geändert am 03.04.2006 13:08 Uhr · Seitenaufrufe: 2363