Wikipedia:Lua/Modul/Vorlage:Infobox Sendeanlage/de

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch

Modul: Dokumentation

Das Modul:Vorlage:Infobox Sendeanlage dient in erster Linie zum Anzeigen der namengebenden Vorlage:Infobox Sendeanlage.

Funktionen für Vorlagen

[Quelltext bearbeiten]
Infobox
Diese Funktion dient zur Anzeige der Infobox. Sie benötigt keine weiteren Parameter. Zurückgegeben wird die Infobox mit dazugehörigen Kategorien.
Nebenbox
Diese Funktion zeigt ebenfalls die Infobox, allerdings ohne die Kategorie-Sortierung und der Lagekarte. Die Koordinaten werden in einer Zeile der Infobox angezeigt anstatt im Artikelkopf.
Weiterleitung
Diese Funktion erzeugt den Link zu den Koordinaten mittels der Vorlage:Coordinate. Des Weiteren erfolgt die Kategorie-Sortierung entsprechend derer der Infobox.
Dokumentation
Bereitstellung von Informationen zur Dokumentation der Vorlage, insbesondere in der Vorlagen-Dokumentations-Unterseite.
kein 1. Parameter
Bereitstellung von Daten in der Vorlagen-Dokumentations-Unterseite: die Vorlage:TemplateData, einer Kopiervorlage und der Wiki-Tabelle im Kapitel „Parameter-Details“.
Parameter JSON
Angabe der Werte für die Verarbeitung in der Wiki-Vorlage:TemplateData
Im Unterschied zu dem in der „Vorlage:TemplateData“ verwendeten Parameter enthält dieser den für die Grammatik benötigten Platzhalter $1, $2, $3, $4 und $MZ. Diese werden bei der weiteren Bearbeitung durch das Modul ersetzt; siehe hierzu die Variable Ersatz und die Funktion „DokuVorlage“.
Zurückgegeben wird die komplette Dokumentation für den Parameter JSON der „Vorlage:TemplateData“, eine Kopiervorlage sowie eine komplette Wiki-Tabelle mit den verwendeten Werten der Parameter-Details.
1. Parameter = „DokuDaten“
Bereitstellung einer Wiki-Tabelle mit den Parametern, die für jeden Datensatz („NAME“, „VERW“, „T_HOCH_GES“, usw.) generiert werden.
Um Informationen in die Spalte „Bemerkung“ zu schreiben werden als Parameter dieselben wie diejenigen des Datensatzes verwendet.


Beschreibung der Datensätze

[Quelltext bearbeiten]

Parameter der Datensätze in den Variablen „Daten“ und „DN“

[Quelltext bearbeiten]
Parameter Bemerkung
AnzLabel mithilfe der Parameter „CAT_TYP“ der Vorlage und „AnzSplit“ wird aus der Tabelle „Label“ wird der benötigte anzuzeigende Wert als Zeichenfolge abgelegt.
AnzSplit In diesem Parameter ist die Anzahl der gesplitteten Werte aus dem Parameter „WertSplit“ als Zahl abgelegt
BauTyp In Verbindung mit dem Parameter „CAT_TYP“ der Vorlage wird der Wert aus dem Parameter „Typ“ übernommen.
Einheit
Parameter Bemerkung
[1] bei Splittung wird mit diesem Wert das Einheitskürzel angegeben.
[2] sofern das Einheitskürzel verlinkt werden soll, ist hier das Ziel anzugeben.
Label
Parameter Bemerkung
[1]
Parameter Bemerkung
[1] Allgemeines Label als Einzahl.
[2] optional allgemeines Label in Mehrzahl.
["Turm"]
Parameter Bemerkung
[1] für jeden Bauwerkstyp kann ein Label als Einzahl benannt werden.
[2] optional für jeden Bauwerkstypen in Mehrzahl.
Name Name des Parameters. Mit diesem können alle Werte innerhalb der Variable „DN“ angesprochen werden.
Standard
Parameter Bemerkung
[1] Allgemeiner Wert, der vordefiniert in der Zeile angezeigt werden soll.
["Turm"] vordefinierter Standardwert je nach Bauwerkstyp.
Typ
Parameter Bemerkung
[1] Allgemeiner Wert, der festlegt, in welcher Form (z.B. „Zeile“ oder „Feld“) der Datensatz in der Infobox angezeigt werden soll.
["Turm"] Dieser Wert kann auch für die einzelnen Bauwerkstypen abweichend festgelegt werden.
WertSplit Sofern Daten aus Parametern der Vorlage gesplittet werden, werden die einzelnen Werte dort der Reihe nach als Tabelle abgelegt.
WertSplitLink Parallel zu den Daten in „WertSplit“ werden als Tabelle die Daten verlinkt und wikifiziert abgelegt.
WertZeile Ausgabewert mit Formatierung, so wie er in der Infobox angezeigt werden soll.
ausklappen bei Feldern, die ausgeklappt werden können, wird innerhalb der Verarbeitung im Modul ein Text festgelegt und abgelegt.
Parameter kann im Modul:Vorlage:Infobox Sendeanlage/Label angepasst werden.
Parameter wird innerhalb des Moduls generiert.
Status nicht definiert

Beschreibung der internen Funktionen

[Quelltext bearbeiten]

Basisparameter

[Quelltext bearbeiten]
ModulStamm
Stammverzeichnis des Moduls
SN
Seitenname des Artikels
SR
Basis-Seitenname des Artikels
NSP
Namensraum des Artikels als Ganzzahl

Funktion TYP

[Quelltext bearbeiten]
Verwendung
Diese Funktion bestimmt den Bauwerkstyp, z.B. Turm für Sendeturm. Bestimmt wird der Typ, damit dieser in den Funktionen für Vorlagen in der Variablen DSZusatz als Typ abgelegt werden kann.
Übergabewert
  • Alle: als Tabelle, in dem die möglichen Bauwerkstypen enthalten sind. Normalerweise ist die Label.Bezeichner aus der Funktion „Bezeichner“.
  • DatenWL: als Zeichenfolge für die Übernahme des sich aus einer anderen Wiki-Seite ergebenden Parameter (betrifft nur die Funktion „Weiterleitung“)
Funktionsweise
In der Variablen Ausgabe wird der Wert „Anlage“ als Standard abgelegt. Der Parameter CAT_TYP wird aus der Vorlage in die Variable args geladen. Nur wenn im Übergabewert Alle der Parameter args (z.B. Alle["Turm"] = "Sendeturm") enthalten ist, wird als Rückgabewert dieser Bauwerkstyp, ansonsten der Standardwert übergeben.
Rückgabewert
Bauwerkstyp als Zeichenfolge, z. B. Turm.

Funktion CCN

[Quelltext bearbeiten]
Verwendung
Diese Funktion ordnet die Seitennamen und Objektbezeichnung aus der Vorlage. Diese werden zur Kategorisierung in der Funktion „KatFinder“ benötigt.
Übergabewerte
Funktionsweise
In den Variablen ZZ und YY wird der jeweilige Parameter aus der „Vorlage:Infobox Sendeanlage“ zwischenabgelegt.
Die Variablen NCC.CSTADT und NCC.DSTADT werden gesplittet und als Tabelle abgelegt. Das Trennungszeichen ist der Schrägstrich „/“. Beispiel:
| CAT_STADT  = im Bezirk Mitte/Berlin-Mitte - wird zu
                                            NCC.CSTADT[1] = Bezirk Mitte
                                            NCC.DSTADT[1] = im Bezirk Mitte
                                            NCC.CSTADT[2] = Berlin-Mitte
                                            NCC.DSTADT[2] = in Berlin-Mitte
Die anderen Variablen ist die Sortierungsreihenfolge festgelegt und wird nach folgendem Schema abgelegt:
  1. NCC.CNAME, wenn nicht
  2. NCC.NNAME, wenn nicht
  3. SN
Rückgabewert
NCC als Tabelle mit den Variablen:
  • NCC.CSTADT als Tabelle
  • NCC.DSTADT als Tabelle
  • NCC.CNAME als Zeichenfolge
  • NCC.NNAME als Zeichenfolge

Funktion DS_Aufbereitung

[Quelltext bearbeiten]
Verwendung
Diese Funktion bereitet den kompletten Datensatz für die Infobox auf.
Übergabewerte
Funktionsweise
Einzeldurchgang der Datensätze
In einer Schleife wird jeder Parameter aus der „Vorlage:Infobox Sendeanlage“ aufbereitet. Dazu wird die Funktion „AufarbStand“ ausgeführt (abgelegt im Übergabewert DSZusatz). Aus dieser Funktion werden die Variablen DN und Kategorien generiert.
Spezielle Berechnungen
Bei bestimmten Parametern werden gesonderte Berechnungen durchgeführt. Die Parameter sind in der Variablen DSMA aufgeführt und werden mittels Schleife über die Funktion „DSIB“ einzeln abgerufen.
Sofern die Bau- und Abrissdekade als Parameter BAU_DEKADE und ABR_DEKADE definiert sind, werden entsprechende Kategorien hinzugefügt.
Die gleiche Aufspielung findet bei der Kategorie des Gastronomiebetrieb statt, wenn VERW = "Restaurant", VERW = "Drehrestaurant" sowie ABRISS oder ABR_DEKADE als Wert vorhanden ist.
Rückgabewert
DSRueck als Tabelle mit den Variablen:
  • Daten als Tabelle
  • DN als Tabelle
  • Kategorien als Tabelle

Funktion Wartung

[Quelltext bearbeiten]
Verwendung
Diese Funktion dient zur Auswertung der Wartungsunterseiten des Moduls und der Wiki-Vorlage.
Übergabewerte
Funktionsweise
In die Variable Wartung werden die Funktion „WartungLua“ und die Funktion „WartungWiki“ eingelesen. In diesen befinden sich soweit vorgegeben, die verborgenen Links zur Wartungsseite Infobox Sendeanlage/Wartung. in der Variable Wartung.alle werden diese zusammengestellt. In die Variable Wartung.Text wird dann diese Zusammenstellung nur übergeben, wenn sich die Seite im Artikelnamensraum befindet.
Rückgabewert
Wartung.Text als Zeichenfolge.

Funktion KatFinder

[Quelltext bearbeiten]
Verwendung
Diese Funktion selektiert die Kategorien, die dynamisch je nach Region oder Bauwerkstyp vorgegeben sind und bereitet diese für die Ausgabe vor.
Übergabewerte
Funktionsweise
Grundsatz
Da zum Auffinden einer existierenden Kategorie die Parser-Funktion ifexist verwendet wird, wird dieser Suchaufruf auf ein Minimum reduziert. Schema
LG0 = Gesamtlauf der Kategorien
 |
 --> LG1 = nach Gruppen (Kategorienblöcke), z.B. [1] = „Sendeturm; Sendeanlage“; [2] = „Sendeturm; Turm; Bauwerk“
      |
      --> LG2 = Kategorienblöcke, z.B. [1] = „Sendeturm“ [2] = „Turm“ [3] = „Bauwerk“
           |
           --> LG3 = Kategorien nach Region,
                |
                |+ „Sendeturm in Deutschland“ (vorhanden)
                |+ „Sendeturm in Bayern“ (vorhanden)
                |+ „Sendeturm in München“ (nicht vorhanden)
                    |
                    |+ „Turm in München“ (vorhanden)
                    |+ „Turm in Münchner Stadtteil“ (nicht vorhanden)
                        |
                        |+ „Bauwerk in Münchner Stadtteil“ (nicht vorhanden)
Funktion RKAT
In der Tabelle RegKAT werden die Regionsbezeichnung zurückgegeben. Genutzt wird hierzu die Funktion „GeoVERW“. In den ersten drei Variablen sind die Regionen nach Funktion „DSIB.Regionen“, danach folgen die Werte aus der Liste nach CSTADT und zum Schluss einen Abschlusswert. Beispiel:
[1] = { "Sendeanlage in Italien", "Italien", Art = "REGION" }
[2] = { "Sendeanlage in Trentino-Südtirol", "Trentino-Südtirol", Art = "REGION" }
[3] = { "Sendeanlage in Südtirol", "Südtirol", Art = "REGION" }
[4] = { "Sendeanlage in Bozen", "Bozen", Art = "CSTADT" }
[5] = { "nichts", "nicht", Art = "nicht" }
Durchlaufwerte (LG0) bestimmen
Im ersten Wert der Variablen LaufGeo wird als Tabelle der Inhalt von Geo[Typ] wenn nicht vorhanden von Geo[1] abgelegt
Die darauffolgenden Werte entstammen der Variablen Kategorien, jeweils mit der Bedingung GeoN oder GeoC.
Durchlauf nach Geo-Kaskade nach Bauwerkstyp
  1. Schleife (LG0): Kategorien der Matrix, danach Kategorien aus Liste, z.B. „VERW“
  2. Schleife (LG1): nach Gruppen die Kategorienblöcke
  3. Schleife (LG2): Kategorienblöcke (Am Anfang dieser Schleife wird die Regionen-Kategorie „RegKAT“ jeweils neu berechnet)
  4. Schleife (LG3): Einzelkategorie (Der Startwert dieser Schleife erhöht sich bei Vorhandensein der ‚Vorgängerkategorie‘)
Um ein Hinzufügen einer bereits vorhandenen Kategorie zu vermeiden, wird in „LG3“ der Bauwerkstyp DopplerT und der Regionstyp DopplerR als Zeichenfolge abgelegt.
Die Zeichenfolge ZY enthält die jeweils letzte vorhandene Kategorie, die Zeichenfolge ZZ enthält die aktuelle Kategorie (oder 0)
Durch die Zuordnung ZY = nil wird verhindert, dass weitere Kategorien innerhalb eines Bauwerktyps abgelegt werden.
In GeoKAT wird abgelegt:
  1. Name der Kategorie
  2. Sortierungstyp der Kategorie (GeoN oder GeoC)
  3. Position innerhalb der Aufzählung
KATmax enthält als Zahl die maximale Expansionstiefe der Kategorien.
Am Ende der Schleife „LG1“ werden die Regionstypen z.B. „Deutschland“ zurückgesetzt, damit der Durchlauf gem. wie o.g. durchlaufen werden kann.
bei abgegangenem Bauwerk und Gastronomiebetrieb Doppler entfernen
Die Entfernung erfolgt durch Anhebung des Positionswertes der „Bauwerk“-und der „Gastronomiebetrieb“-Kategorie über den Maximalwert der Expansionstiefe. Dadurch wird diese Kategorie bei der anschließenden Sortierung nicht mehr berücksichtigt.
Rest-Kategorien finden
  1. Schleife: Durch Kategorien
  2. Schleife: Durch die Kategorien (Doppler), die schon verarbeitet wurden
Zu den Kategorien hinzugefügt werden nur diejenigen, die noch nicht vorhanden sind istschonda = false. Dem dritten Wert im jeweiligen Datensatz wird die Zahl 0 zugeordnet. Sofern es sich um eine versteckte Kategorie handelt (istversteckt), ändert sich die Zahl auf -1.
Kategorien sortieren
Zum Sortieren der Kategorien nach geografischem Ort („Stadt“ → „Bundesland“ → „Staat“) läuft der Zähler KN dekrementierend (rückwärts) durch die Variable GeoKAT, beginnend bei DES maximalen Expansionstiefe KATmax. Sofern der Zähler dem 3. Wert des jeweiligen Datensatzes in GeoKAT entspricht, wird der Datensatz in die Variable Kategorien übernommen.
Rückgabewert
{ Kategorien, KATText } je als Tabelle.

Funktion Zusatz

[Quelltext bearbeiten]
Verwendung
Diese Funktion stellt eine Variable DSZusatz als Tabelle zusammen, die als Basiswerte zur Verarbeitung aller Funktionen in p gilt
Übergabewerte
Funktionsweise

Es wird eine Variable als Tabelle generiert mit folgenden Parametern:

Parameter Beschreibung
Aufzaehlung Variable als Tabelle der strukturierten Aufzählung. Sie ist das Ergebnis aus der Funktion „Aufzaehlung“.
Bezeichner Variable enthält als Tabelle die Bezeichnungen der Bauwerkstypen, z.B. „Turm“ = „Sendeturm“. Sie ist das Ergebnis aus der Funktion „Bezeichner“.
CNAME Zeichenfolge aus dem Parameter CAT_NAME der „Vorlage:Infobox Sendeanlage“. Sie ist der dritte Wert aus dem Ergebnis der Funktion „CCN“.
CSTADT Tabelle aus dem Parameter CAT_STADT der „Vorlage:Infobox Sendeanlage“ ohne den Vorstellwörtern „in“, „im“ oder „in der“. Das Trennzeichen ist der Schrägstrich „/“. Sie ist der erste Wert aus dem Ergebnis der Funktion „CCN“.
DSTADT Tabelle aus dem Parameter CAT_STADT der „Vorlage:Infobox Sendeanlage“ mit den Vorstellwörtern „in“, „im“ oder „in der“. Das Trennzeichen ist der Schrägstrich „/“. Sie ist der zweite Wert aus dem Ergebnis der Funktion „CCN“.
DatenWL Variable als Tabelle für Daten, die aus dem ZIEL (Zielseite) in der Funktion „Weiterleitung“ generiert werden.
Geo Variable als Tabelle der Kategoriefolgen, je nach Bauwerkstyp. Sie ist das Ergebnis aus der Funktion „Geo“.
Layout Variable als Tabelle, indem die Art des Aufbaus der Infobox beschrieben ist. Sie ist das Ergebnis aus der Funktion „Layout“.
ModulStamm Variable als Zeichenfolge. Sie enthält das Stammverzeichnis des Modulnamen.
NNAME Zeichenfolge aus dem Parameter NAME der „Vorlage:Infobox Sendeanlage“ oder dem Seitenname des Artikels. Sie ist der vierte Wert aus dem Ergebnis der Funktion „CCN“.
NSP Namensraum als Zahl.
OPK Variable als Tabelle mit den Ersatzkarten für POSKARTE. Sie ist das Ergebnis aus der Funktion „OPK“.
SN Zeichenfolge mit dem Namen des Artikels
SR Zeichenfolge mit dem Stammverzeichnis des Namens des Artikels
SU Zeichenfolge mit dem Unterseiten-Namen des Artikels
Tabelle Variable als Tabelle mit der Darstellungsart der Zeilen innerhalb der Infobox. Sie ist das Ergebnis aus der Funktion „Tabelle“.
Rückgabewert
DSZusatz je als Tabelle.

Beschreibung der Funktionen für Vorlagen

[Quelltext bearbeiten]

Funktion Infobox

[Quelltext bearbeiten]
Verwendung
Diese Funktion dient zur Darstellung der Infobox.
Funktionsweise
Eingangsvariablen
Zunächst werden ausgelagerte Module und Funktionen zugeladen:
Damit bei den nachfolgenden Funktionsaufrufen eine einheitliche Informationsübergabe stattfinden kann, werden in der Variable DSZusatz mehrere Parameter als Tabelle abgelegt.
Es erfolgt der Funktionsaufruf „DS_Aufbereitung“ und der daraus generierten Variablen:
  • Daten als Tabelle
  • DN als Tabelle
  • Kategorien als Tabelle
Datensätze aufbereiten
Daten und Kategorien werden in der Funktion „DS_Aufbereitung“ bereitgestellt, aufbereitet und in den Variablen Daten, DN und Kategorien abgelegt.
Über die Funktion „KatFinder“ erfolgt eine weitere Aufbereitung der Kategorien. Das Ergebnis wird in der Variable Kategorien abgelegt.
Datensätze anzeigen
Über die Funktion „InfoboxDarstellung“ wird die Darstellung der Infobox berechnet und zur Variable IB hinzugefügt.
Die Zuweisungen von Verlinkungen zur Wartungsseite der Vorlage werden in der Funktion „Wartung“ berechnet und und zur Variable IB hinzugefügt.
Die Funktion „KategorieDarstellung“ berechnet die Darstellung der Kategorien und fügt diese zur Variablen IB hinzu.
Rückgabewert
komplette Infobox mit Kategorien in der Variable IB als Zeichenfolge.

Funktion Nebenbox

[Quelltext bearbeiten]
Verwendung
Diese Funktion dient zur Darstellung der Infobox, wenn diese eine Nebenbox darstellt.
Funktionsweise
Die Funktionsweise gleicht der der Funktion „Infobox“. Im Unterschied dazu wird kein Bilderwunsch bei leerem Parameter BILD ausgegeben und die Darstellung der Kategorien ist unterdrückt.
Rückgabewert
Infobox ohne Kategorien in der Variable IB als Zeichenfolge.

Funktion Weiterleitung

[Quelltext bearbeiten]
Verwendung
Diese Funktion dient zur einheitlichen Kategorisierung und Geofizierung von Weiterleitungen.
Funktionsweise
Zunächst wird in der Funktion „DatenWeiterleitung“ die Ziel-Seite ausgewertet und ggf. die Parameter für die weitere Modul-Abarbeitung gewonnen und in der Variable DSZusatz.DatenWL abgelet. Die weiteeren Schritte gleichen derer der Funktion „Infobox“. Zur Anzeige kommt aber nicht die Infobox, sondern die in der Variablen DN.KoordKarte.WertZeile hinterlegten Geokoordinaten mit Hilfe der Wiki-Vorlage:Coordinate.
Rückgabewert
Kategorien und Geokoordinaten in der Variable IB als Zeichenfolge.

Funktion Dokumentation

[Quelltext bearbeiten]
Verwendung
Diese Funktion dient zum Auslesen und Darstellung der Dokumentation der Vorlage.
Funktionsweise
In der Variable Dokumentation wird der erste Wert aus der Vorlage abgelegt. Dieser dient gleichzeitig als Ziel für die Zuladung der Unterfunktion für die verschiedenen Tabellen. Daher ist auch ein Standardwert definiert.
Es erfolgt das Zuladen der Standardparameter und zusätzlicher Parameter je nach der Variable Dokumentation.
Abschließend werden die Unterfunktionen geladen und zurückgegeben.
Rückgabewert
je nach erstem Parameter ein Teilaspekt der Dokumentation (meist als Wiki-Tabelle) der „Vorlage:Infobox Sendeanlage“ als Variable Doku als Zeichenfolge.

In diesem Untermodul sind die Datensätze Vorlage und weitere Datensätze zur Kategorisierung abgelegt.

Funktion Label

[Quelltext bearbeiten]

In dieser Funktion sind die Datensätze für die Parameter der „Vorlage:Infobox Sendeanlage“ abgelegt.

Funktion Geo

[Quelltext bearbeiten]

Für die Kategorisierung nach Regionen sind die Werte hier abgelegt.

Funktion Bezeichner

[Quelltext bearbeiten]

Mittels des Bezeichners wird bestimmt, welche Werte für den Parameter CAT_TYP aus der „Vorlage:Infobox Sendeanlage“ zugelassen sind. In der Liste sind die Bezeichnungen, gem. CAT_TYP verzeichnet, in den Parametern sind die Bezeichnungen hinterlegt. Üblicherweise wird der Bauwerkstyp in der Funktion „TYP“ festgelegt.

Funktion Tabelle

[Quelltext bearbeiten]

Mittels dieser Funktion wird die Darstellungsart der einzelnen Zeilen der Infobox festgelegt. Die Parameter sind gleich der Typ-Parameter aus der Funktion „Label“. Im Haupt-Modul wird mittels des Parameter-Namens eine Nummer zugeordnet, die dann der Nummer in der Liste dieser Funktion entspricht.

Funktion OPK

[Quelltext bearbeiten]

Diese Funktion stellt Ersatzkarten bereit für Funktionskarten, die nicht über die Wiki-Vorlage:Obige Karte bereitgestellt werden können. Der jeweils erste Wert bezeichnet den Vorlagen-Kartennamen, der ggf. zweite Wert die jeweilige Ersatzkarte.

Ein Untermodul für die Auflistungen innerhalb der Infobox.

Funktion Aufzaehlung

[Quelltext bearbeiten]

Sofern eine Verlinkung und strukturierte Darstellung der Parameter aus der „Vorlage:Infobox Sendeanlage“ erfolgt, sind hier die Daten hinterlegt.

Funktion Aufzaehler

[Quelltext bearbeiten]

Funktion zur Ablage der Trennzeichen zwischen den Aufzählungen. Die Parameter sind die der Typ-Werte des Untermoduls „Label“, Funktion „Label“.

Mittels dieses Untermoduls werden die Parameter-Daten der Vorlage aufbereitet.

Funktionen innerhalb des Untermoduls

[Quelltext bearbeiten]
Funktion REG
[Quelltext bearbeiten]
Verwendung
Diese Funktion ruft über die Wiki-Vorlage:Info ISO-3166-2 je nach Region Informationen ab.
Übergabewerte
  • Level: als Zeichenfolge die Administrationsebene
  • Info: als Zeichenfolge die gewünschte Information
  • DatenWL: als Tabelle für die Übernahme des sich aus einer anderen Wiki-Seite ergebenden Parameter (betrifft nur die Funktion „Weiterleitung“)
Möglicher Wert 1 = „Level“
Wert charakterisiert Beispiel IT-BZ
O Administrationsebene 0 IT (Italien)
I Administrationsebene 1 IT-32 (Trentino-Südtirol)
II Administrationsebene 2 IT-BZ (Südtirol)
Möglicher Wert 2 = „Info“
Wert ruft ab Beispiel IT-BZ
continent Kontinent Europa
level Administrationslevel 2
acronym Code ohne Ländercode BZ
admtype Typ der Administration Provinz
admname Autonome Provinz Bozen
name Kurzname als Anzeigename Südtirol
lemma zugehöriger Wiki-Artikel Südtirol
map Positionskarte Italien Südtirol
flag Flagge
in Ortsangabe
Funktionsweise
In der Variable VR wird als Tabelle die Argumente der Wiki-Vorlage abgelegt. Am Beispiel von Vorlage:Info ISO-3166-2:IT-BZ:
{{Info ISO-3166-2|code={{{REGION-ISO|}}}|name}}
{{Info ISO-3166-2|code={{Info ISO-3166-2|code={{{REGION-ISO|}}}|upper}}|name}}
{{Info ISO-3166-2|code={{Info ISO-3166-2|code={{{REGION-ISO|}}}|top}}|name}}
{{Info ISO-3166-2|code=IT-BZ|name}}
{{Info ISO-3166-2|code={{Info ISO-3166-2|code=IT-BZ|upper}}|name}}
{{Info ISO-3166-2|code={{Info ISO-3166-2|code=IT-BZ|top}}|name}}
{{Info ISO-3166-2|code=IT-BZ|name}}
{{Info ISO-3166-2|code=IT-32|name}}
{{Info ISO-3166-2|code=IT|name}}
Italien
Trentino-Südtirol
Südtirol
Rückgabewert
Die gewünschte Information als Zeichenkette.
Funktion ZDS
[Quelltext bearbeiten]
Verwendung
Diese Funktion zählt bei den Zusammenfassungen DSIB.IBTBau, DSIB.IBTHoch und DSIB.IBSHoch die vorhandenen Parameter.
Übergabewerte
  1. ZG: Einzelnen Werte als Tabelle
  2. Zmax: Maximale Anzahl an Eigenschaften, bei denen eine Zusammenfassung noch nicht erfolgen soll. (als Zahl)
Funktionsweise
Es wird eine Schleife durch ZG durchlaufen. Mittels max wird gezählt, wenn in den Werten ZG mindestens ein zweiter Wert vorhanden ist.
Rückgabewert
Ist der Maximalwert größer als die Vorgabe, ist der Rückgabewert Wahr, ansonsten Unwahr.

Funktionen für das Hauptmodul

[Quelltext bearbeiten]
Funktion Fehler
[Quelltext bearbeiten]
Verwendung
Diese Funktion gibt eine formatierte Fehlermeldung zurück.
Übergabewerte
  1. Meldung: Anzuzeigende Fehlermeldung als Zeichenfolge
Funktionsweise
Die Anzeige wird über mw.html.create( "div" ) formatiert, der Text mit :wikitext eingefügt.
Funktion Rahmen
[Quelltext bearbeiten]
Verwendung
Diese Funktion bereitet die Parameter und Werte zur Darstellung in einer Wiki-Tabelle auf.
Übergabewerte
  1. TXT: Anzuzeigender Text als Tabelle
  2. Ue: Überschrift als Zeichenfolge
Funktionsweise
Die Variable LA definiert den Kopf der Wiki-Tabelle, wobei der LA[1]-Wert die Tabelle ohne Überschrift, der LA[2] mit Überschrift zuweist.
Nach Zuweisung der Des Tabellenkopfes mittels Un werden die Zeilen der Tabelle über eine Schleife aus dem Text TXT ausgelesen.
Rückgabewert
Zur Anzeige (mit Formatierung) vorgesehene Wiki-Tabelle.
Funktion AufarbStand
[Quelltext bearbeiten]
Verwendung
Diese Funktion bereitet die Werte des Datensatzes Daten nach einheitlichen Kriterien auf. Es handelt sich jeweils um den aktuellen Einzeldatensatz aus dem Hauptmodul
Übergabewerte
Datensatz, DSZusatz, Kategorien und frame.
Funktionsweise
Diese Funktion beinhaltet mehrere Teilbereiche.
Artikel-Parameter in Daten einsortieren und splitten
Zunächst werden die verschiedenen Möglichkeiten des Dateneingangs eingelesen und in folgender Reihenfolge in WertZeile abgelegt.
  1. Parameter aus der „Vorlage:Infobox Sendeanlage“ (über mw.getCurrentFrame():getParent().args[DS.Name]), wenn nicht vorhanden,
  2. Parameter aus dem Modulaufruf (über frame.args[DS.Name]), wenn nicht vorhanden,
  3. Parameter aus dem Aufruf aus einer Zielseite (über DSZusatz.DatenWL[DS.Name] – nur bei „Weiterleitung“), wenn nicht vorhanden,
  4. Standardwert des Bauwerktyps (über DS.Standard[DSZusatz.Typ]), wenn nicht vorhanden,
  5. allgemeiner Standardwert (über DS.Standard[1]), wenn nicht vorhanden, dann leer.
Danach wird der Inhalt in die Variable WertSplit als Zeichenfolge aufgesplittet und die Anzahl der so entstandenen Listeneinträge in AnzSplit als Zahl abgelegt.
Textverlinkung und Einheitsanbindung
Parameter
  • EHT: Formatierung der Einheiten zur Anzeige
    • [1]: Einheit ohne Link, z.B. „m“
    • [2]: Einheit mit Link, z.B. „m“, (nur wenn vorhanden und nur Anzeige am ersten Wert)
Alle Einheiten nur wenn vorhanden und als Zeichenkette vorliegend.
  • LIZ: resultierende Einheiten(-verlinkung)
  • LTR: Trennzeichen bei Aufsplittung, entweder aus Aufzaehler[DS.BauTyp] oder nach Standard /
  • AFZ: Aufzählung als Tabelle, z.B. Aufzaehlung["VERW"]
  • STAZ: Speicher der Listeneintraege
    • [1]: Name ohne Verlinkung, z.B. Restaurant
    • [2]: Name mit Verlinkung, z.B. [[Turmrestaurant|Restaurant]]
    • [3]: Kategorie ohne Verlinkung, z.B. Gastronomiebetrieb
    • [4]: Kategorietyp, z.B. Aussicht
Einheiten-Auswähler
Die Auswahl der Einheiten erfolgt, wenn im Datensatz eine Einheit hinterlegt ist. Diese wird mit der entsprechenden Abfrage als Tabelle in EHT abgelegt.
Durchlauf
  1. Schleife: Nach den Listeneinträgen in WertSplit, z.B. „Fernmelde“ – „Aussichtsturm“ , gefolgt von einem Vergleich über die Gültigkeit des Listeneintrags mit dem zugehörigen Parameter in Aufzaehlung, z. B. DS.TMP.AFZ[ZS]Aufzaehlung["VERW"]. Sofern vorhanden wird eine
  2. Schleife durch die Werte der Variablen, z. B. Aufzaehlung["VERW"][1], Aufzaehlung["VERW"][2], etc. Es erfolgt eine Zuweisung der drei Werte von STAZ nach Bauwerkstyp und wenn nicht vorhanden nach allgemeinem Standardwert. Zusätzlich wird den Kategorien der abgerufene Wert hinzugefügt.
Zu Beginn der ersten Schleife wird überprüft, ob der Listeneintrag im aktuellen Bauwerkstyp verarbeitet werden soll. Dazu wird im ersten Parameter nach Bauwerkstyp ausgelesen, z.B. DS.TMP.AFZ["Fernmelde"][1]["Aussicht"]. Ist dieser Wert false (unwahr), so wird der komplette Listeneintrag gestrichen, z.B. DS.TMP.AFZ["Fernmelde"] = nil.
Nun wird die Auflistung erstellt, je mit der in der Tabelle DS.TMP.EHT hinterlegten Einheitszeichen und dem in der Variablen DS.TMP.STAZ hinterlegten Trennzeichen (Schema: Trennzeichen + „Liste“ + Wert + Einheit).
Die verlinkten Werte (z.B. „MW-Sender“) werden während der Schleifendurchgänge in der Variablen TMP.WSL zwischengespeichert und am Ende der in der Variablen WertSplitLink als Tabelle abgelegt. in die Variable WertZeile wird die entstandene Liste nur übernommen, wenn die Variable aus BauTyp sich im Aufzaehler befindet (z.B. Aufzaehler[DS.BauTyp]Aufzaehler["Liste"]", ").
Eigenschaften beschriften (je nach Einzahl, Mehrzahl oder Typ)
Im Untermodul Label sind die Beschriftungen (Eigenschaften) für die Infobox nach dem Muster [1] = { "Einzahl", "Mehrzahl" }, Bauwerkstyp = { "Einzahl", "Mehrzahl" } abgelegt. Es wird als AnzLabel abgelegt:
  • kein Label: leere Zeichenfolge (nicht nil)
  • Label nach Bauwerkstyp (mit [1] Einzahl, [2] Mehrzahl), wenn nicht vorhanden
  • allgemeines Label (mit [1] Einzahl, [2] Mehrzahl), wenn nicht vorhanden
  • Leere Zeichenfolge als Tabelle
Sofern AnzSplit, also die Anzahl der Listenwerte größer 1 ist, wird die Mehrzahl-Bezeichnung ([2]) übergeben, ansonsten die Einzahl-Bezeichnung ([1]).
Rückgabewert
Datensatz DS als Tabelle.
Allgemeines zur Funktion DSIB
[Quelltext bearbeiten]

Aus dem Hauptmodul wird in einem einheitlichen Schema die Funktion „DSIB“ aufgerufen. Diese enthält grundsätzlich:

Übergabewerte
  1. Benannte Datensatz DN als Tabelle
  2. DSZusatz als Tabelle
  3. Kategorien als Tabelle
  4. frame
Rückgabewert
Benannter Datensatz DN als Tabelle
Funktion DSIB.NAME
[Quelltext bearbeiten]
Verwendung
Diese Funktion teilt dem Parameter NAME den einheitlichen Wert NNAME aus der Funktion „CCN“ zu.
Funktionsweise
Es erfolgt eine Zuweisung des Parameters.
Funktion DSIB.UE1
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird der Parameter PORKARTE für die Anzeige in der Infobox aufbereitet.
Funktionsweise
Die Überschrift besteht aus maximal drei Zeilen:
  1. NAME
  2. OFZ_NAME
  3. FUNK_NAME
Über Bezeichner wird jede Zeile aufbereitet, diese in DN.UE1.WertSplit abgelegt und, sofern als Parameter von der „Vorlage:Infobox Sendeanlage“ übergeben, zur Anzeige in DN.UE1.WertZeile übernommen.
Funktion DSIB.IBBild
[Quelltext bearbeiten]
Verwendung
Diese Funktion dient zur Bereitstellung der Bilddarstellung in der Infobox.
Funktionsweise
Nach Zuweisung mehrerer Variablen wird die Variable BILDERWUNSCH zugewiesen. Dazu wird die Vorlage:Bilderwunsch/Listeneintrag expandiert. Im Anschluss wird eine Abfrage durchgeführt:
  1. bei Schlüsselwörter wie „kein“ in DN.BILD.WertZeile, wird die WertZeile aus Unwahr gesetzt. Ausgeblendet wird die Anzeige über die Anzeige des Hauptmoduls. Die entsprechende Kategorie über DN.TMP_KAT an das Hauptmodul übergeben und dort an die Variable Kategorie angehängt.
  2. Wurde kein Bild aus dem Parameter BILD aus der „Vorlage:Infobox Sendeanlage“ übergeben, wird das Symbol für den Bilderwunsch angezeigt und das Ergebnis der Vorlage:Bilderwunsch/Listeneintrag (Variable BILDERWUNSCH) abgelegt. Dies unterbleibt bei nicht mehr existierenden Bauwerken (vergleicht hierzu DN.ABR_DEKADE.WertZeile).
  3. Ist eine Datei angegeben, dieses aber nicht abrufbar (z.B. nicht vorhanden), wird dies durch das Vorhandensein der Parameter Breite und Höhe festgestellt. In diesem Fall wird über die Funktion „Fehler“ eine Fehlermeldung ausgegeben.
  4. Anzeige des Bildes:
Damit die anzuzeigenden Bilder alle ca. gleich groß sind, sind für die Bildparameter Maximalwerte (Breite, Höhe, Fläche) definiert. Diese werden mit den tatsächlichen Werten des Bildes abgeglichen und entsprechend in die Infobox eingepasst.
Die Bereitstellung der Anzeige erfolgt über einen div-Tag.
Funktion DSIB.Regionen
[Quelltext bearbeiten]
Verwendung
Diese Funktion bereitet die Daten aus dem Parameter REGION-ISO mittels der Variable REGION für die Anzeige in der Infobox auf.
Funktionsweise
Die Zuweisung der Daten in die Variablen erfolgt in Abhängigkeit von der Tabelle aus der Funktion „DSFI“, die über das Hauptmodul als Variable DSZusatz.REGION (Tabelle) bereitgestellt wird.
Ist die Variable DSZusatz.REGION["0"] als Tabelle nicht vorhanden, wird eine Fehlermeldung über die Funktion „Fehler“ ausgegeben.
Sofern vorhanden wird im AnzLabel (linke Anzeige) aus der jeweiligen Region der Wert aus DSZusatz.REGION[Nr]["admtype"] abgelegt, der WertZeile mit dem verlinkten Namen. Das Ausblenden bei Nichtvorhandensein übernimmt die Anzeige im Hauptmodul.
Funktion DSIB.LAGEPUNKT
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird der Parameter LAGEPUNKT für die Anzeige in der Infobox aufbereitet.
Funktionsweise
Abweichend der Standardprozedur wird abgelegt in den Parametern
  • DN.LAGEPUNKT.WertZeile als Zeichenfolge – das Ergebnis der Berechnung der Wiki-Vorlage:Höhe
  • DN.LAGEPUNKT.WertSplit[1] als Zahl – numerische Höhenwert
  • DN.LAGEPUNKT.WertSplit[2] als Zeichenfolge – lokale Höhenbezug, generiert aus dem Wert in DSZusatz.REGION["0"]["acronym"]
Als Besonderheit wird bei Bauwerken in Liechtenstein und in der Schweiz der Zusatz -m hinzugefügt.
Funktion DSIB.ZUGANG
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird der Parameter ZUGANG für die Anzeige in der Infobox aufbereitet.
Funktionsweise
Je nach Schlüsselwort in WertZeile (ja/nein) wird ein standardisierter Test abgelegt. Sofern der Wert im Parameter nicht übereinstimmt, wird der Inhalt des Parameters ZUGANG ausgegeben. Sofern es sich um ein ehemaliges Bauwerk handelt, entfällt die Anzeige (Ausnahme Sendeanlage).
Funktion DSIB.IBTBau
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird, je nach Parameter-Liste der Vorlage eine Auflistung, abgelegt in IBTBau für die Anzeige in der Infobox erzeugt.
Funktionsweise
In der Tabelle sind die Datensätze der infrage kommenden Parameter aufgeführt (Tabelle[1] = Eigenschaft, Tabelle[2] = Wert). Die Überschrift des Klapptextes wird in Abhängigkeit des Parameters T_BAU_ZEIT festgelegt.
Ergibt die Funktion „ZDS“ den Rückgabewert true (Mindestanzahl an gültigen Werten), wird die Tabelle angezeigt, ansonsten werden die Einzelwerte eingeblendet.
Funktion DSIB.IBTHoch
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird, je nach Parameter-Liste der Vorlage eine Auflistung, abgelegt in IBTHoch für die Anzeige in der Infobox erzeugt.
Funktionsweise
In der Tabelle sind die Datensätze der infrage kommenden Parameter aufgeführt (Tabelle[1] = Eigenschaft, Tabelle[2] = Wert). Die Überschrift des Klapptextes wird in Abhängigkeit des Parameters T_HOCH_GES festgelegt.
Ergibt die Funktion „ZDS“ den Rückgabewert true (Mindestanzahl an gültigen Werten), wird die Tabelle angezeigt, ansonsten werden die Einzelwerte eingeblendet.
Funktion DSIB.IBSHoch
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird, je nach Parameter-Liste der Vorlage eine Auflistung, abgelegt in IBSHoch für die Anzeige in der Infobox erzeugt.
Funktionsweise
  1. In der Tabelle sind die Datensätze der infrage kommenden Parameter aufgeführt (Tabelle[1] = Eigenschaft, Tabelle[2] = Wert, Tabelle[4] = Listeneinträge, Tabelle[4] = Anzahl Listeneinträge, Tabelle.Name = Bezeichnung (Label)). Die Überschrift des Klapptextes wird in Abhängigkeit des Parameters T_HOCH_GES festgelegt.
  2. Maximale Datensatz-Anzahl: Es wird durch Schleife durch die Tabelle die maximale Anzahl an Listeneinträge ermittelt und in der Variable SatzMax abgelegt.
  3. Sortierung nach Turm/Mast: Es wird eine Tabelle zusammengestellt in Komplett nach Türmen/Masten und in Schleifen abgearbeitet.
    1. Schleife: nach Turm/Mast
    2. Schleife: einzelne Listeneinträge (leere werden durch einen Halbgeviertstrich ersetzt)
      Beispiel Abruf DSLg[ZZ][ZZk] = Tabelle[Turm][Datensatz]
  4. Leere erkennen: Sofern ein Parameter aus der Tabelle komplett fehlt, wird dieser aus den einzelnen Tabellen entfernt.
  5. Liste anzeigen: Mittels Grundsatz wird bestimmt, ob die Auflistung/Box nach Turm/Mast überhaupt benötigt wird; wenn z.B. Bauzeit/Betriebszeit nur mit einem Listeneintrag vorhanden ist. Sofern nach Prüfung der Wert der Variable Grundsatz auf Unwahr (false) steht, wird die Auflistung/Box mittels BauTyp ausgeblendet.
Funktion DSIB.KOORDINATEN
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird der Parameter KOORDINATEN für die weitere Verwendung aufbereitet. Dazu wird, sofern nicht vorhanden, der Dezimalwert der Koordinaten ermittelt und abgelegt.
Funktionsweise
In der Variablen DSMB.KO wird die Information abgelegt:
1. Parameter:
  1. Breitengrad
  2. Längengrad
dazu je
[1] = Parametername, z.B. „NS“
 P  = Bezeichnung bei positiver Gradzahl z.B. „N“
 N  = Bezeichnung bei negativer Gradzahl z.B. „W“
Die erste Schleife durchläuft den Breitengrad und Längengrad nacheinander. Da die Koordinaten gem. Vorlage:Coordinate angegeben werden können (als Gleitkommazahl oder als Winkel, getrennt durch /), ist der Parameter aufgesplittet und wird in der zweiten Schleife durchlaufen.
Damit der richtige Gleitkommawert ermittelt werden kann, wird die Zahl nach der Formel „Zahl“ / (60 ^ ( „Schleifenzähler“ - 1 )) berechnet. Sofern die Himmelsrichtung angegeben ist, wird die Zahl mit 1 bzw. -1 multipliziert.
Es folgt eine Gültigkeitsprüfung der Werte (Ablage des Ergebnisses in DSMB.ist):
  • Breitengrad: -90 bis 90
  • Längengrad: -180 bis 180
Das Ergebnis wird wie folgt festgehalten:
Art WertZeile WertSplit[1] AnzSplit
Korrekter Wert Wert als Zeichenfolge Wert als Zahl 1
kein Wert kein Wert (nil) kein Wert (nil) 0
Formatierungsfehler kein Wert (nil) Wert als Zeichenfolge 1
Wert außerhalb der Gültigkeit kein Wert (nil) Wert als Zahl 1
Funktion DSIB.POSKARTE
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird der Parameter POSKARTE für die Anzeige in der Infobox aufbereitet.
Funktionsweise
Wenn keine Regions-Daten oder Geokoordinaten vorliegen oder die Anzeige über POSKARTE mittels des Schlüsselworts „kein“ abgeschaltet wurde, erfolgt keine Anzeige der Positionskarte.
Die Positionskarte wird aus der Wiki-Vorlage:Positionskarte generiert. Vorrangig wird verwendet:
  1. die Karte des Parameters POSKARTE der „Vorlage:Infobox Sendeanlage“, wenn nicht angegeben
  2. Positionskarte des Staates und, wenn vorhanden,
  3. Positionskarte der Region. Es wird dann in einer kleinen Karte die Positionskarte des Staates angezeigt
Über die entsprechenden Positionskarten-Vorlagen werden die Grafiken ausgelesen und die Höhen- und Breitenwerte entsprechend berechnet. Ziel ist es bei jedem Aufruf der „Vorlage:Infobox Sendeanlage“ etwa gleichgroße Karten zu erzeugen. Die Karten selbst werden über die Wiki-Vorlage:Positionskarte eingeladen und der Variable POSKARTE.WertZeile abgelegt.
Funktion DSIB.KoordKarte
[Quelltext bearbeiten]
Verwendung
Diese Funktion dient zur Darstellung der geographischen Koordinaten.
Funktionsweise
Zunächst werden die Variablen für die Wiki-Vorlage inklusive der Daten für die Wiki-Vorlage:Coordinate geladen. Es gibt drei wesentliche Schalter:
  • DSMB.Artikel
    • true: Koordinaten sind die Artikelkoordinaten und werden im Artikel oben rechts angezeigt
    • false: Koordinaten werden in der Infobox angezeigt
  • DSMB.Anzeige
    • true: Die Zeile für die Koordinaten wird angezeigt. Ggf. wird dort eine Fehlermeldung angezeigt.
    • false: Die Zeile wird zum Feld und das „AnzLabel“ ist leer. Dadurch „verschwindet“ die sichtbare Anzeige
  • DSMB.Rahmen
    • true: bei Fehlermeldungen erhält die Anzeige einen Rahmen
    • false: Anzeige hat keinen Rahmen
Nun erfolgt eine Zuweisung der Parameter und ggf. der Fehlermeldungen in Abhängigkeit der REGION-ISO und der KOORDINATEN.
Es folgt die Expansion der „Vorlage:Coordinate“ und ggf. das Setzen des Rahmens.
Funktion DSFI
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird eine Tabelle zur Verfügung gestellt, in dem die Werte entsprechend dem Parameter „REGION-ISO“ aus der „Vorlage:Infobox Sendeanlage“ einsortiert werden.
Übergabewert
  • DatenWL: als Tabelle für die Übernahme des sich aus einer anderen Wiki-Seite ergebenden Parameter (betrifft nur die Funktion „Weiterleitung“)
Funktionsweise
in der Variable DSFD werden die Werte, generiert aus der Funktion „REG“ abgelegt. In der anschließenden Abfrage werden je nach Level die Parameter „0“, „1“ und „2“ definiert, Beispiel:
REGION-ISO = DE-BW dann ist Level = 1 und damit REGION["0"] = Tabelle, REGION["1"] = Tabelle, REGION["2"] = nil
Rückgabewert
Tabelle mit allen Regions-Daten. Diese Tabelle wird in DSZusatz eingebaut.
Funktion GeoVERW
[Quelltext bearbeiten]
Verwendung
Diese Funktion wird im Hauptmodul benötigt, um bei Kategorisierung nach Regionen den korrekten Kategorienamen zu bestimmen.
Übergabewerte
  1. Art: Art der Kategorie, z. B. „Gastronomiebetrieb“
  2. Ort: Die im Hauptmodul verwendete Variable, z. B. „CSTADT“
  3. KFSv: Die im Hauptmodul verwendete Variable für die Region, z. B. „1“
  4. REGION: Tabelle der Regionen
  5. DSTADT: Geo-Bezeichnung zu CSTADT, z. B. „in Zürich“
Funktionsweise
Mittels der Variable VXW werden die Werte festgelegt: In der Tabelle entspricht der Parameter dem Übergabewert Ort, darunter im Parameter [1] der Standartwert. Die weiteren Parameter entsprechend dem Übergabewert Art.
In der Variable LOC wird zunächst aus der VXW die Parameter ["CSTADT"][1] als Standard definiert. In der nachfolgenden Abfrage wird, wenn vorhanden der Wert nach Ort und nach Art übernommen.
Rückgabewert
Variable LOC als Zeichenfolge, je nach Übergabewerte, z.B.:
GeoVERW( "Fernmeldeturm", "Stuttgart", "1", REGION ) ergibt
Funktion DatenWeiterleitung
[Quelltext bearbeiten]
Verwendung
Diese Funktion stellt die Parameter aus der Ziel-Seite für die Verarbeitung in der Vorlage zur Verfügung.
Übergabewerte
Funktionsweise
Zunächst wird der Parameter ZIEL der Vorlage in den Parameter Ziel.Name eingelesen (enthält ). Dieser Wert wird aufgeteilt.
Der Seiteninhalt (Quelltext) der Zielseite wird in die Variable Ziel.Seite geladen.
Es wird die Vorlageneinbindung am Anfang und am Ende markiert und aufgesplittet (abgetrennt). Das gleiche Prinzip wird bei den Parametern angewandt. Die Vergleichsparameter werden über die Variable Daten bezogen. Da diese Vergleichsparameter diverse Parameter nicht enthalten, werden diese manuell hinzugefügt.
In der Variable Ziel.vorTabelle werden die Werte ohne Zeilenumbruch abgelegt. Eine Trennung der Parameter erfolgt in der Variablen Ziel.ZwischenTabelle. In der Varuablen Ziel.Tabelle wird die Werte nochmals gestrafft (Leerzeichen entfernt) und gemäß ihrem Parameter abgelegt.
Rückgabewert
Ziel.Tabelle als Tabelle mit den Parametern der Ziel-Seite.

Lokale Variablen im Untermodul

[Quelltext bearbeiten]
Layout
Mittels dieser Variablen wird bestimmt, in welcher Reihenfolge die Funktion „InfoboxDarstellung“ die Infobox zusammensetzen soll. Im ersten Datensatz wird allgemein die Reihenfolge aller Typen des CAT_TYP-Parameters der „Vorlage:Infobox Sendeanlage“ festgelegt. In den Parametern (entsprechend den der Funktion „Bezeichner“ des Untermoduls „Label“) wird dann festgelegt, welche Zeilen nicht angezeigt werden.

Funktionen für das Hauptmodul

[Quelltext bearbeiten]
Funktion InfoboxDarstellung
[Quelltext bearbeiten]
Verwendung
Diese Funktion bereitet für das Hauptmodul die Daten zu den Parametern der Infobox auf.
Übergabewerte
  1. DSZusatz als Tabelle:
  2. Daten als Tabelle: Datensatz numerisch
  3. DN als Tabelle: Datensatz Klartext
  4. Kategorien als Tabelle
  5. IB als Zeichenfolge: Bisherige Infobox-Anzeige
  6. frame als Tabelle
  7. LayoutExtern als Tabelle:
Funktionsweise
Nach der Festlegung von Eingangsvariablen folgt eine Schleife durch den ersten Datensatz der Variable Tabelle. Dort sind alle Parameter der Infobox der Reihe nach verzeichnet, die anzeigbar sind. Je nach Bauwerkstyp sind im Parameter Tabelle[DSZusatz.Typ]. diejenigen Parameter der Infobox verzeichnet die dann ausgeblendet werden. Die Abfrage erfolgt über eine zweite Schleife und wird mit Anzeiger.Anzeigen = false vermerkt.
Angezeigt werden in der Infobox nur
  1. Anzeiger.DS.BauTyp ~= "Ausblenden" = der Bauwerkstyp nicht „Ausblenden“ und
  2. Anzeiger.Anzeigen == true = die Anzeige grundsätzlich für den Bauwerkstyp festgelegt wurde und
  3. Anzeiger.DS.WertZeile = ein Wert zum Anzeigen vorhanden ist
Sofern ein anderer Ausklapptext für den Standardwert „ausklappen“ vorhanden ist, wird dieser in Anzeiger.DS.ausklappen als Zeichenfolge abgelegt.
In der Variablen IBD wird nun als Zeichenfolge die Werte zusammengestellt. Dabei wird das Prinzip der Wiki-Tabelle verfolgt.
Rückgabewert
Die darzustellende Infobox IBD als Zeichenfolge.
Funktion KategorieDarstellung
[Quelltext bearbeiten]
Verwendung
Diese Funktion bereitet für das Hauptmodul die bereitgestellten sortierten Kategorien in Abhängigkeit der Namensräume auf.
Übergabewerte
  1. DSZusatz als Tabelle:
  2. Daten als Tabelle: Datensatz numerisch
  3. DN als Tabelle: Datensatz Klartext
  4. Kategorien als Tabelle
  5. frame als Tabelle
Funktionsweise
Die Auswertung erfolgt getrennt nach Namensraum. Im Artikelnamensraum NSP == 0 werden die Kategorien direkt unter die Infobox angefügt, z. B. [[Sendeanlage in Bayern]]; in den anderen Namensräumen als eingerahmter Text, z.B. [[:Sendeanlage in Bayern]].
Es erfolgt eine Schleife durch die Kategorien. Gemäß dem zweiten Wert (Sortierungstyp der Kategorie) wird der Sortierungsname der Kategorie im Artikelnamensraum bestimmt und in der Variablen KatAnzeige.mittel als Zeichenfolge abgelegt. in der Variablen KatAnzeige.Text wird dann der Kategorientext zusammengestellt.
Nachdem alle Kategorien zusammengestellt wurden, wird der Text, eingerahmt mittels Variable KatAnzeige.Box, der Variable IB als Zeichenfolge angefügt.
Rückgabewert
Die darzustellenden Kategorien IBKat als Zeichenfolge.
Funktion Layout
[Quelltext bearbeiten]
Verwendung
Diese Funktion gibt den Inhalt der lokalen Tabelle Layout zurück.
Übergabewerte
keine
Funktionsweise
Aufruf des Rückgabewertes
Rückgabewert
Variable Layout als Tabelle

Lokale Variablen im Untermodul

[Quelltext bearbeiten]
WeitereAufzaehlung
Weitere Parameter, die in „Parameter-Details“ der Vorlagen-Dokumentation angezeigt werden sollen.
Ersatz
Text für die für die in der deutschen Grammatik genutzten Deklaration der Artikel der unterschiedlichen Bauwerkstypen. Dabei gilt:
  • 1. Parameter als Tabelle: Nominativ (1. Fall)
  • 2. Parameter als Tabelle: Genitiv (2. Fall)
  • 3. Parameter als Tabelle: Dativ (3. Fall)
  • 4. Parameter als Tabelle: Akkusativ (4. Fall)
  • Parameter EZ als Tabelle: Singular (Einzahl)
  • Parameter MZ als Tabelle: Plural (Mehrzahl)
In jeder Tabelle sind als je als Zeichenfolge enthalten die entsprechenden Bauwerkstypen, sowie als erster Wert die allgemeine Bezeichnung.

Funktionen innerhalb des Untermoduls

[Quelltext bearbeiten]
Funktion Anker
[Quelltext bearbeiten]
Verwendung
Mittels dieser Funktion wird ein Anker, ähnlich der Vorlage:Anker erzeugt. Beispiel: [[#DokuDetailVorlage|Linkziel]] für Linkziel.
Übergabewerte
  1. Wert: Text: als Zeichenfolge
  2. Wert: ID1: als Zeichenfolge
  3. Wert: ID2: als Zeichenfolge
  4. Wert: ID3: als Zeichenfolge
Funktionsweise
Die einzelnen Übergabewerte werden in der Variable AnkerID abgelegt und ggf. mit Standardwerten versehen. In AnkerID.div wird aus der Bibliothek die Funktion mw.html.create aufgerufen und so der html-div-Tag erzeugt.
Rückgabewert
Text mit Anker in einem html-div-Tag (AnkerID.div: als Zeichenfolge)

Funktionen für das Hauptmodul

[Quelltext bearbeiten]
Funktion DokuVorlage
[Quelltext bearbeiten]
Verwendung
Diese Funktion bereitet die Daten aus dem Parameter JSON für die Funktion „Dokumentation“ auf.
Übergabewert
  • DSZusatz als Tabelle, insbesondere
    • Bezeichner als Tabelle: zur Ermittlung des Bauwerkstyp
    • Layout als Tabelle: zur Ermittlung welche Parameter in der Kopiervorlage und in der Wiki-Tabelle „Parameter-Details“ angezeigt werden sollen
    • Aufzaehlung als Tabelle: Werte für die Wiki-Tabelle „Parameter-Details“
  • Daten als Tabelle (Daten aus der Funktion „Label“): zur Festlegung der Reihenfolge, in dem die Parameter angezeigt werden sollen
Funktionsweise
Standardvariable definieren
  • JSON als Zeichenfolge: Einlesen des Parameters aus dem Vorlagen-Aufrufes
  • TEMP als Tabelle: Temporärer Speicher, insbesondere
Anpassung und Ausgabe von „TemplateData“
Durch den im Parameter TEMP.Typ abgelegten Bauwerkstyp werden durch eine Schleife in der Variable TEMP.Ersatz die grammatischen Bezeichnungen abgelegt, die aus der Variablen Ersatz generiert werden.
In der darauffolgenden Schleife werden im Text in der Variablen JSON die Platzhalter durch die grammatischen Bezeichnungen ersetzt.
Es erfolgt der Aufruf der Wiki-„Vorlage:TemplateData“ nebst Übergabe der benötigten Argumente.
Auswertung auf Richtigkeit der Variable JSON
In der Variablen TEMP.Status wird das Ergebnis der Prüfung abgelegt. Sofern der Text korrekt ist, enthält die Variable true, ansonsten false. Bei der folgenden Abfrage TEMP.Status == false wird eine Fehlermeldung ausgeben und es entfällt die nachfolgende Ausgabe der Kopiervorlage und der Parameter-Details. Dies ist nötig, da sonst das Auslesen von JSON und Ablegen in der Tabelle Daten zu einem Abbruch der kompletten Modul-Ausführung kommen würde.
Einzelzuweisung
Die Daten zur Anzeige werden automatisch generiert aus den Parametern der Variable JSON in Abgleich mit den Parametern der Variable Daten und Variable DSZusatz.Aufzaehlung. Fehlende Parameter werden hier mit den entsprechenden Werten aufgespielt.
Kopiervorlage Voraussetzung
Zunächst werden die Daten aus JSON über den Aufruf der entsprechenden Bibliothek in eine Tabelle umgewandelt und in der Variablen Daten abgelegt.
Die Reihenfolge der Ausgabe der Parameter in der Kopiervorlage wird festgelegt durch die Reihenfolge der Variablen in der Funktion „Label“. Es werden mehrere Schleifen durchlaufen:
  1. Schleife durch die Daten aus der Funktion „Label“ (als Daten)
  2. Schleife durch die Tabelle Daten.params
    → Ablage des Datensatzes in der Variable LokalDaten als Tabelle, wenn beide Namen (z.B. „T_HOCH_GES“) übereinstimmen, dazu wird noch abgelegt Name als Zeichenfolge sowie Layout als Tabelle, indem in der
  3. Schleife die Zusammenstellung des Layouts aus der Funktion „Layout“ ausgelesen wird.
  4. Schleife wird benötigt, da in der Variablen Layout als erster Wert true (wahr) abgelegt. Sofern in dieser Schleife eine Übereinstimmung besteht, wird unter dem Bauwerkstyp der Wert false (unwahr) abgelegt.
Kopiervorlagen zusammenstellen
Es wird eine Schleife zusammengestellt mit den anzuzeigenden Kopiervorlagen. In jeder Schleife wird die Variable TEMP.EinzelDaten als Tabelle definiert, indem nur die Datensätze aus LokalDaten enthalten sind, die für den jeweiligen Bauwerkstypen vorgesehen sind.
Die Zusammenstellung selbst erfolgt in der Variable TEMP.KText. Als Zeichenfolge werden in einer Schleife die Parameter ausgelesen, einheitlich das Gleichheitszeichen = gesetzt und ggf. Vorschläge zur Verwendung aus autovalue ausgelesen und abgelegt. Nach dem Parameter „CAT_TYP“ wird der jeweilige Bauwerkstyp generiert.
Nach der Zusammenstellung der Variable TEMP.KText werden ein <html>-Tag „pre“ und ein <html>-Tag „div“ generiert.
Als letzter Anzeigepunkt dieses Abschnittes folgt die Kopiervorlage für eine Weiterleitung.
Datenverarbeitung Parameter-Details
Auch hier wird mittels einer Schleife die Variable TEMP.EinzelDaten als Tabelle zusammengestellt, indem nur die Datensätze aus LokalDaten enthalten sind,
  • die Listen führen (in der Funktion „Aufzaehlung“ gelistet),
  • die für den jeweiligen Bauwerkstypen vorgesehen und
  • nicht als veraltet (deprecated ~= true) deklariert sind.
Zusammenstellung der Eigenschaften der Parameter
Es wird nun mittels zweier Schleifen jedes der Parameter und Werte verarbeitet (abgelegt in der Variable TEMP.Liste). In der ersten Schleife werden zu jedem Parameter, z.B. „VERW“, die Eigenschaften
  • „Name“ als Zeichenfolge, z.B. „VERW“,
  • „Label“ als Zeichenfolge, z.B. „Verwendung“
  • „Sortierung“ alphabetisch sortiert als Tabelle und
  • Argument „args“ als leere Tabelle
aus der Variablen DSZusatz.Aufzaehlung ausgelesen und in der Variable TEMP.Liste abgelegt.
Zusammenstellung der Eigenschaften der Werte in den Parametern
In der zweiten Schleife werden zunächst die Eigenschaften des jeweiligen Wertes der Parameter, z.B. „Fernmelde“,
  • „Name“ als Zeichenfolge,
  • „Label“ als Zeichenfolge, jeweils erster Wert (z.B. [[Fernmeldeturm]] für Fernmeldeturm),
  • „Kategorie“ als Zeichenfolge, jeweils erster Wert (z.B. [[:Kategorie:Sendeturm]] für Kategorie:Sendeturm), und
  • sofern verzeichnet „KatAnzeige“ als Wert false (unwahr)
aus der Variablen DSZusatz.Aufzaehlung ausgelesen und in der Variable args in TEMP.Liste abgelegt.
Sofern für den jeweiligen Bauwerkstyp ein anderes „Label“ oder andere „Kategorie“ zugewiesen sind, werden diese nun ausgelesen und abgelegt.
Zusammenstellung bei mehreren Labeln bzw. Kategorien
Es wird die Variable TEMP.LIZ als Tabelle (jeweils für „Labels“ und „Kategorien“) für die jeweiligen Bauwerkstypen generiert. Hat die Tabelle mehr als einen Eintrag, wird eine Wiki-Tabelle erzeugt und im entsprechenden Argument „args“ abgelegt.
Geo-Kategorisierung
Sofern eine Geo-Kategorisierung erfolgt (in der Variable DSZusatz.Aufzaehlung als Geo = "GeoC" oder als Geo = "GeoN"), wird ein entsprechender Hinweistext in der Variable args.Kategorie hinzugefügt.
Anzeige Wiki-Tabelle Parameter-Details
Nach der Überschrift und nach dem einleitenden Hinweis zur Bearbeitung der Tabelle erfolgt die Zusammenstellung über zwei Schleifen aus der Variable TEMP.Liste
Die erste Schleife stellt zu Kapitel-Überschrift dar, z.B. „Verwendung (VERW)“. Dazu wird dieser Text mit einem Anker (mittels Funktion „Anker“) versehen.
In der zweiten Schleife werden die Werte der Parameter dargestellt, jeweils nacheinander die zugehörigen Spalten. Sofern verzeichnet, werden über die Zuweisung KatAnzeige = false die Spalten „Anzeige“ und „Kategorie“ zusammengefasst.
Rückgabewert
Anzuzeigenden Text als Variable Doku als Zeichenfolge
Funktion DokuLabel
[Quelltext bearbeiten]
Verwendung

Diese Funktion wird zur Zusammenstellung der anzuzeigenden Wiki-Tabelle verwendet.

Übergabewert
  • DSZusatz als Tabelle
  • Daten als Tabelle (Daten aus der Funktion „Label“): zur Zusammenstellung der Parameterliste
Funktionsweise
Zunächst wird mittels zweier Schleifen durch die Variable Daten eine Liste (ListeParameter) mit allen Parametern erzeugt und alphabetisch sortiert.
Darauffolgend wird in der Tabelle TabelleParameter der „Name“ und der „Inhalt“ zu jedem Parameter abgelegt. Der „Inhalt“ wird über die Parameter der Vorlage eingelesen und zur Ausgabe vorbereitet, indem:
  • wenn die Werte mit einem Schrägstrich / versehen sind als Untertabelle generiert werden
  • die Platzhalter $TabelleAnfang und $TabelleEnde durch Quellcode für weitere Untertabellen ersetzt wird
Im dritten Schritt wird die Tabelle angezeigt. Angezeigt werden nur Parameter, die nicht mit dem Parameter „kein“ ausgeblendet werden sollen. Die Hintergrundfarben werden erzeugt.
  • grün: durch den Platzhalter $org im Vorlagen-Parameter
  • gelb: Hintergrund, wenn Parameter aus der Variable Daten beschrieben wurde
  • rot: Hintergrund, wenn Parameter aus der Variable Daten nicht beschrieben wurde
Zuletzt wird eine Farb-Legende am Ende der Wiki-Tabelle angefügt.
Rückgabewert
Anzuzeigende Wiki-Tabelle als Variable Doku als Zeichenfolge
Funktion DokuZusatz
[Quelltext bearbeiten]
Verwendung

Diese Funktion stellt eine Wiki-Tabelle zusammen, die die Parameter für die Dokumentation der Funktion „Zusatz“ liefert.

Übergabewert
  • DSZusatz als Tabelle
Funktionsweise
Zunächst werden aus der Variable DSZusatz die Parameter extrahiert und in der Variable Sortierung der Reihe nach abgelegt. Diese Liste wird alphabetisch sortiert. In der Variable Beschreibung wird nun der „Name“ und die „Beschreibung“ (extrahiert aus den Parameter der Vorlage) abgelegt.
Nach Generierung des Tabellenkopfes wird mittels einer Schleife durch die Variable Beschreibung der „Name“ (links) und die „Beschreibung“ (rechts) angezeigt.
Rückgabewert
Anzuzeigende Wiki-Tabelle als Variable Doku als Zeichenfolge

Funktionen für das Hauptmodul

[Quelltext bearbeiten]
Funktion WartungLua
[Quelltext bearbeiten]
Verwendung
Diese Vorlage dient zur Auswertung der Parameter zu Wartungszwecken. Es erfolgt eine Rückgabe an die Funktion „Wartung“.
Übergabewerte
Funktionsweise
im oberen Bereich können die Auswertungen programmiert werden. Wichtig ist, dass bei einer wahren Bedingung der Tabelle WAL über die Bibliothek table.insert der Link hinzugefügt wird, z.B. table.insert(WAL, "Parameter 1" ).
Im unteren Bereich werden die Ziele ausgelesen, formatiert und an die Variable WAL.Text übergeben.
Rückgabewert
WAL.Text: als Zeichenfolge
Funktion WartungWiki
[Quelltext bearbeiten]
Verwendung
Diese Vorlage dient zum Abruf der Wartungsparameter der Unterseite Vorlage:Infobox Sendeanlage/WART zur Rückgabe an die Funktion „Wartung“.
Übergabewerte
Funktionsweise
Mittels einer Schleife durch die Variable DN werden die Parameter und Werte zur Übergabe ermittelt und in der Variable WAW.args abgelegt.
Rückgabewert
expandierte Wiki-Vorlage über frame:expandTemplate: als Zeichenfolge