PEIQ Knowledge Base

Fließtabellen am Beispiel von Sporttabellen

poweruser

Fließtabellen können als XML-Strukturen importiert und dann in PRINT NGEN entsprechend ausgelesen werden. Dies wird realisiert über spezifische Tags und Makros, die in dafür vorgesehenen Makrobibliotheken angelegt sind. In den Tags und Makros wird festgelegt, wie der Inhalt, der im XML von einem Tag umschlossen wird, dargestellt werden soll.

Fließtabellen sind in PRINT NGEN Artikel (Tabelle DText), die in Artikel- und Seitenvorlagen eingefügt werden können. Allerdings verfügen sie über eine komplexere XML-Struktur, als gewöhnliche Artikel. Den tabellarischen Aufbau erhält das Element durch das Setzen von definierten Tabulatoren, die Abstände innerhalb einer Zeile ermöglichen.

In diesem Artikel werden Fließtabellen am Beispiel von Sporttabellen erklärt.

Funktionalitäten von Fließtabellen

  • Elemente einer Seite

  • Artikel mit komplexer XML-Struktur

Inhaltsverzeichnis

Notwendige Vorkenntnisse

Aufbau der zu importierenden XML-Struktur und deren Auswertung in PRINT NGEN

Um Fließtabellen in PRINT NGEN auszuwerten, müssen diese als XML-Datei mit der richtigen XML-Struktur angeliefert werden. 

Die XML-Struktur setzt sich aus spezifischen XML-Tags und eigenen, frei-wählbaren PRINT NGEN-Makros zusammen. Um den Inhalt des Tags zu gestalten, muss ein Makro mit dem gleichen Namen existieren, das einen Makro-Unterbrecher <?MAKU?> enthält. Fehlt dieser, kann der Inhalt des Tags nicht gestaltet werden.

Wird im angelieferten XML ein Makro oder Tag aufgerufen, das nicht in der an dieser Stelle verwendeten Makrobibliothek enthalten ist, geschieht nichts und PRINT NGEN wertet das Makro/Tag nicht aus.

XML-Datei

XML-Beginn

<DOC> <DTextName>MSU-WN-PeiQFussball-2022-03-25 10:02:16</DTextName> <DTextAusgabe>wn-099_mf</DTextAusgabe> <DTextRessort>rsp</DTextRessort> <DTextErschAm>26.03.2022</DTextErschAm> <Mandant></Mandant> <Kommentar>Sporttab</Kommentar>

Hier werden grundlegende Informationen übermittelt, die von PRINT NGEN in die Eigenschaften der Text-Artikelvorlage übernommen werden, wie etwa Name, Ausgabe, Ressort, Erscheinungstag, Mandant und Kommentar.

Für DTextName gibt es in NGEN eine Zeichenbeschränkung von 100 Zeichen, für DTextAusgabe von 30 Zeichen. Wird ein XML angeliefert, dass diese Beschränkungen überschreitet, kann es nicht importiert werden.

Einleitende Tags

<Titel> Sport </Titel> <Text> <?TabelleFussball?> <LigaName> 3. Liga Herren </LigaName> <Tabelle>
  • <Titel> … </Titel> Tag für evtl. Tabellenüberschrift, diese fließt in PRINT NGEN in den Titelbereich des Artikels.

  • <Text> </Text> Tag umklammert den gesamten Textbereich. Alles hier enthaltene fließt in PRINT NGEN in den Textbereich des Artikels.

  • Das Text-Tag muss im XML zweimal hintereinander stehen, damit es in NGEN korrekt in den Textbereich einlaufen kann.

  • <?TabelleFussball?> <?_TabelleFussball?> Startmakro, das alles Folgende umklammert. Hier wird das schwimmende Bild der Sportart aufgerufen (muss bei mehreren Tabellen einer Sportart angepasst werden, damit das Bild nicht vor jeder Tabelle neu aufgerufen wird). Außerdem wird die geltende Makrobibliothek aufgerufen (<?Uni MakroBibliothek=”WN_SP_Fuba”?><?MAKU?<?_Uni?>).

Sporttabelle mit schwimmdendem Bild als Kopf

Innerhalb eines Artikels können auch Tabellen für unterschiedliche Sportarten vorhanden sein. Durch das umfassende Makro kann zur unterschiedlichen Gestaltung der Tabellen in verschiedene Makrobibliotheken gewechselt werden.

  • <LigaName> 3. Liga Herren </LigaName> Typographieeinstellungen für die Liga-Überschrift über der Tabelle.

  • <Tabelle> </Tabelle> umschließt nun die Tabellen an sich. Tag enthält grundlegende Typographieeinstellungen (Schriftart, Größe, Stil, Weite).

Erste Teiltabelle (Ergebnis-Block)

<Ergebnis> <Zeile><?Alternierend1?><TeamHeim>Würzburger Kickers</TeamHeim> <TeamGast>Viktoria Köln</TeamGast> <ErgebnisHeim>0</ErgebnisHeim> <ErgebnisGast>1</ErgebnisGast> <?_Alternierend1?></Zeile> <Zeile><?Alternierend2?> <TeamHeim>VfL Osnabrück</TeamHeim> <TeamGast>Viktoria 89 Berlin</TeamGast> <ErgebnisHeim>3</ErgebnisHeim> <ErgebnisGast>1</ErgebnisGast> <?_Alternierend2?></Zeile> ... </Ergebnis>

<Ergebnis></Ergebnis> umschließendes Tag für den Ergebnis-Block. Ruft eigene Makrobibliothek auf (das kann dieselbe Bibliothek sein, wie von <?TabelleFussball?> aufgerufen (s. o.).)

Es folgen die einzelnen Zeilen mit Inhalt, jeweils umschlossen vom Makro <Zeile>.

Alle folgend aufgeführten Tags/Makros müssen in der Makrobibliothek, die durch <Ergebnis> aufgerufen wird, enthalten sein:

  • <Zeile> enthält hier nur einen Makrounterbrecher, da in diesem Block nicht mit Tabulatoren gearbeitet werden muss (siehe unter “Rangliste“).

  • <?Alternierend1?> bzw. <?Alternierend2?> hier können z. B. alternierende Negativfarben für die Zeilen festgelegt werden, um Zeilen abwechselnd einzufärben. Ist das nicht gewünscht, kann das Makro in der Makrobibliothek weggelassen werden und wird nicht ausgewertet (optional). 

  • <TeamHeim> hier wird das verbindende “-” zwischen den beiden Teamnamen aufgerufen. Teamspezifische Typographie wäre hier außerdem möglich.

  • <TeamGast> hier wird ein <ZS> (Zeilenspalter) aufgerufen. Dies stellt die nun folgenden Ergebniszahlen ans Ende der Zeile.

  • <ErgebnisHeim> hier wird der Doppelpunkt “:” zwischen den Ergebnissen aufgerufen. 

  • <ErgebnisGast> ruft <ZA> (Zeile austreiben) auf und legt damit das Ende der Zeile fest.

</Ergebnis> schließt den Ergebnis-Block ab.

Zweite Teiltabelle (Rangliste)

<Rangliste></Rangliste> umschließendes Tag für die zweite Teiltabelle - eine Rangliste. Ruft eigene Makrobibliothek (WN_SP_Fuba_Rangliste) auf (damit das Umschalten in die neue Makrobibliothek möglich ist, muss in derjenigen Makrobibliothek, die im Augenblick gilt, das umschaltenden Makro vorhanden sein.

Alle nun folgenden Makros müssen in der neu aufgerufenen Bibliothek enthalten sein:

  • <Zeile> ruft die Werteliste “SP_Tabellen_Tabulatoren” auf, in der die Tabulatorenpositionen festgelegt sind (nicht nötig im Ergebnis/Vorschau-Block, da hier nicht mit Tabulatoren gearbeitet wird, dann enthält das Makro nur einen MAKU)

  • <?Alternierend1?> bzw. <?Alternierend2?> (s. o.)

  • <?Rang1?> bis <?Rang20?> Makros, die rangspezifische Einstellungen ermöglichen, z. B. farbliche Abhebung der Auf- oder Absteiger im Fußball (optional)

  • <Rang> hier wird ein Festwert oder Tab hinterlegt, um Abstand zum folgenden TeamNamen zu schaffen (wie groß die Tabs sind, wird über die Werteliste gesteuert, die das Tag <Zeile> aufruft)

  • <TeamName>, <SpieleGesamt>, <ToreGesamt>, <GegenToreGesamt> usw. enthalten jeweils Tabs/Festwerte, die den Abstand zum nächsten Element definieren und evtl. benötigte Zeichen, wie “:”.

</Rangliste> schließt die Teiltabelle ab.

Dritte Teiltabelle (Vorschau)

Die Vorschau wird analog zum Ergebnis-Block aufgebaut und kommt ohne Tabulatorpositionen aus.

<Vorschau></Vorschau> umschließendes Tag für die Vorschau. Ruft, wenn nötig, eigene Makrobibliothek auf. Sonst gilt hier ebenfalls die Makrobibliothek, die mit <?TabelleFußball?> (s. o.) aufgerufen wurde.

Alle nun folgenden Makros müssen in der neu aufgerufenen Bibliothek enthalten sein:

  • <Zeile> (nur MAKU, s. o.)

  • <?Alternierend1?> bzw. <?Alternierend2?> (s. o.)

  • <TeamHeim> (s. o.)

  • <TeamGast> hier wird ein <ZS> (Zeilenspalter) aufgerufen. Dies stellt die nun folgenden Daten ans Ende der Zeile.

  • <Spieldatum> ruft <?Gev?> (Geviert) auf.

  • <Spieluhrzeit> ruft <ZA> (Zeile austreiben) auf und legt damit das Ende der Zeile fest.

</Vorschau> schließt die Teiltabelle ab.

Abschluss der XML-Struktur

Weitere Teiltabellen können analog folgen.

Sind alle Teiltabellen abgeschlossen, folgen die schließenden Tags </Tabelle> <?_TabelleFussball?> </Text> (s. o.).

 

Aufbau der nötigen Makros und der zugehörigen Bibliothekenstruktur

 

1. Im folgenden Video wird vorgestellt, welche Werkzeuge und Bibliotheken benötigt werden, um Sporttabellen einzurichten:

https://youtu.be/pcQp-Dz-MCQ

2. Im nächsten Video wird eine Artikelvorlage auf einer Seite eingerichtet:

3. In diesem Video wird die Struktur der übergebenen XML-Datei vorgestellt:

4. Im folgenden Video wird gezeigt, wie eine eigene Makrobibliothek erstellt werden kann:

5. In diesem Video geht es um das Makro “LigaName” und den Ergebnis-Block:

6. Im folgenden Video wird der Ranglisten-Block vorgestellt:

 

7. In diesem Video wird gezeigt, wie Tabulatoren gesetzt werden können:

8. Im folgenden Video werden die Tabulatoren fertiggestellt und an der Sporttabelle hinterlegt:

9. Im folgenden Video wird gezeigt, wie Feinheiten optimiert werden:

10. Dieses Video geht auf Anmerkungen und Tipps zur Thematik ein:

Werteliste “SP_Tabellen_Tabulatoren”

Die Werteliste “SP_Tabellen_Tabulatoren” wird oben über das Tag <Zeile> aufgerufen:

In der Werteliste wird definiert, unter welchen Bedingungen welche Tabulatoren-Positionen gesetzt werden. Das heißt, je nach aktuell geltender Makrobibliothek und Breite der verwendeten Artikelvorlage, werden die Tabulatoren-Positionen verwendet, die in geschweiften Klammern angegeben sind (beim Import hat die Tabelle als reiner Fließtext noch keine Breite. Sobald aber die Tabelle in einem Artikel platziert wird, greift sie auf die Breite des Textbeins zu).

Die Tabulator-Positionen sollten zuerst auf einer Seite ausprobiert sowie gesetzt werden und können dann per Copy & Paste in diese Abbildung übernommen werden (siehe ).


Der Import über die komplexe Aktion “IMPORT_Sporttabellen”

Um Sporttabellen zu importieren, müssen die XML-Dateien in das dafür vorgesehene Verzeichnis “Sporttabellen\Programmname” abgelegt werden. PRINT NGEN importiert diese Dateien dann automatisch und sammelt sie in der Mappe “Sporttabellen”.

Hintergrund:

Die Sporttabellen werden über das Verzeichnis “Sporttabellen\Agenturname” über die minütlich-ablaufende Warteschlange “IMPORT_MSU_Sporttabellen” automatisch im Hintergrund importiert. Dabei wird die komplexe Aktion “IMPORT_Sporttabellen” abgearbeitet. Welches Verzeichnis verwendet wird, ist in der Werteliste WA_Pfade festgelegt. -> Import von “@WAP(WA_Pfade;MerkeAktion=sporttabellenimport)\*.xml” nach Tabelle DText, Format NATIVE-Text. Anhand der Ausgabe wird am Element das Objekt gesetzt, Zeilenenden entfernt und das neu importierte Element in die Mappe “Sporttabellen” abgelegt.

Verwendung der Tabellen in PRINT NGEN

Mit Hilfe der Mappensuche unter “Öffnen” -> “Mappen” (s. linke Grafik) kann die Mappe “Sporttabellen” (s. rechte Grafik) aufgerufen werden.

Die importierten Sporttabellen sind dort als Artikel-Element (DText) zu finden. Bei der ersten Verwendung muss die Sporttabelle per Drag & Drop auf eine Layout-Artikelvorlage (auf einer Seite oder als direkt erstellter Artikel) platziert werden. 

Diese Vorlage wird nun in PRINT NGEN mit der “DText-Sporttabelle” verknüpft. Dies ist am Artikel-Icon am Element erkennbar.

Auch das Layout der Sporttabelle wird nun im Inhaltsfenster korrekt dargestellt und die Makros werden entsprechend ausgewertet (ohne verknüpfte Vorlage kann die Darstellung abweichen).

Ab jetzt kann die Sporttabelle dann in weiteren Layout-Artikelvorlagen platziert oder direkt auf Seiten gezogen werden. In diesem Fall greift sie auf die zuvor verknüpfte Artikelvorlage zurück.

Setup & Konfiguration

Geschätzer Aufwand zur Einrichtung und Erweiterung der Tabellentypen auf Kund:innenseite:

Setup Modul

Aufwand

Setup Modul

Aufwand

Einrichtung Makros und Bibliotheksstruktur für erste Sportart

4-6 PH

Einrichtung weitere Sportarten

1-2 PH

Mitwirkungspflichten der Kund:innen

  • Die Kund:innen müssen beispielhafte XMLs der Tabellentypen anliefern sowie Beispiele für das gewünschte Layout.

  • Nach der Ersteinrichtung des Imports mit einem ersten Tabellentyp werden die Kund:innen durch PEIQ befähigt, selbst weitere Tabellentypen anzulegen.

 

Zu folgenden Sportprogrammen gibt es Schnittstellen zu PRINT NGEN:

  • KiSaD

  • MSU

  • LEO

Verwandte Seiten

 

Nur für PEIQ-Mitarbeiter: