PmWikiFr / Tableaux évolués

Il existe quatre balises pour la manipulation de tableaux de grande échelle. Toutes doivent être placées au début de la ligne pour fonctionner.

(:table (attr...):)

Ferme le tableau précédent (s'il y en a) et génère une nouvelle balise HTML <table> avec les paramètres passés avec attr. Les attributs et valeurs possibles sont:

(:cellnr (attr...):) et (:cell (attr..):)

Ferme n'importe quelle cellule précédente si elle existe et génère une nouvelle cellule avec les paramètres donnés par attr. La balise cellnr crée une cellule dans une nouvelle ligne. En HTML, une nouvelle balise "<td attr>" est créée.

(:tableend:)

Ferme la cellule de tableau précédente et termine tout tableau. Génère des balises HTML </td>, </tr>, et </table> suivant leur nécessité.

Paramètres communs

Les paramètres suivants sont communs à (:table:), (:cellnr:) et (:cell:)

Pour les balises (:table:), (:cell:), et (:cellnr:) l'auteur peut spécifier n'importe quel attribut qui serait valide dans une balise HTML <table> ou <td>. Ainsi, en utilisant rowspan, colspan, etc., il est possible de construire des tableaux complexes. Cependant, il est impossible d'emboîter un (:table:) à l'intérieur de (:cell:) -- le paragraphe suivant explique pourquoi.

Beaucoup se demandent pourquoi n'utilisons nous pas juste les balises HTML standard (<table>, <tr>, <td>, <th>) au lieu d'en créer de nouvelles, offrant la possibilité d'emboîter les tableaux. Il y a deux réponses à ça: premièrement, l'utilisation de balises HTML pour créer un tableau effraie les auteurs/utilisateurs ordinaires (voir Audiences et Philosophie de PmWiki), et deuxièmement, il est très facile de concevoir des tableaux HTML défaillants qui s'affichent incorrectement (voire pas du tout) sur certains navigateurs. Même des professionnels expérimentés du Web se retrouvent parfois avec des agencements de balises faux, aussi est-il peu réaliste d'exiger de l'utilisateur moyen de toujours y parvenir ou d'être capable de relire le code HTML d'un tableau complexe créé par quelqu'un d'autre.

Commentaire courant : L'utilisateur moyen ou débutant n'écrira pas du HTML directement, mais utilisera certainement un outil, tel que FrontPage, ou même MSWord, pour générer son code HTML. Cela est beaucoup plus facile que d'apprendre même le plus simple des langages de balises PmWiki.
La réponse de Pm: Et une fois que le code HTML a été généré puis posté, comment quelqu'un d'autre fait-il pour éditer ou modifier le tableau si il n'a pas le fichier original FrontPage ou MSWord utilisé pour le créer ? N'oubliez pas l'aspect "collaboration d'auteurs" de ce projet. Le code HTML que ces outils génèrent est parmi les plus difficiles à lire et à modifier.

Il est difficile d'écrire le code nécessaire à PmWiki pour comprendre et réparer le code de tableaux complexes, c'est pourquoi PmWiki utilise la façon simplifiée décrite ci-dessus. Elle permet néanmoins de répondre à la plupart des besoins courants en matière de tableau (à l'exceptions des tableaux emboîtés).

Et, cela ne veut pas dire que les tableaux emboîtés sont impossibles dans PmWiki -- ils ne peuvent juste pas être créés facilement par un auteur utilisant le code wiki par défaut. Un administrateur du Wiki pourra bien sûr créer des entêtes, des pieds de page et d'autres configurations locales qui utiliseront les tableaux emboîtés.

(: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

qui crée la même sortie que:

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

<< Tableaux | Index de la documentation | WikiStyles >>


Traduction de PmWiki.TableDirectives Page originale sur PmWikiFr.TableDirectives - Backlinks
Dernières modifications:
PmWikiFr.TableDirectives: September 10, 2011, at 10:40 AM EST
PmWiki.TableDirectives: May 13, 2022, at 03:47 PM EST