Archive:Template format/de

From semantic-mediawiki.org
< Archive:Template format
Template formatArchive:Template format/de
Template format/de
Gibt die Ergebnisse in einer zur Formatierung und Darstellung genutzten Vorlage aus
Weitere Informationen
Software: Semantic MediaWiki
Verfügbar seit: 0.7
Verfügbar bis: aktuell unterstützt
Voraussetzungen: keine
Name: template
Standardmäßig aktiviert:Gibt an, ob das Ergebnisformat standardmäßig mit Installation der betreffenden Softwareerweiterung aktiviert ist. ja
Autoren: Markus Krötzsch
Kategorie(n): Sonstige
Inhaltsverzeichnis


Das Ergebnisformat template wird dazu eingesetzt Abfrageergebnisse (eingebettete Abfragen) in einer zur Formatierung und Darstellung genutzten Vorlage auszugeben.

Parameter[edit]

Die folgende Tabelle gibt einen Überblick über die verfügbaren Parameter, beschreibt sie kurz und gibt deren Standardwerte mitsamt dem zugehörigen Eingabetyp an.

Parameter Aliasse Typ Standard Beschreibung
propsep - Text , Legt fest, welches Trennzeichen zwischen den Attributen der Ergebnisse genutzt werden soll
valuesep - Text , Legt fest, welches Trennzeichen zwischen den Attributwerten der Ergebnisse genutzt werden soll
template - Text leer Legt fest, welche Vorlage zum Anzeigen der Abfrageergebnisse verwendet werden soll
named args namedargs ja/nein no Legt fest, ob Bezeichnungen für die Parameter an die Vorlage bei der Ausgabe der Abfrageergebnisse weitergegeben werden sollen
userparam - Text leer Legt fest, welcher Wert jedem Vorlagenaufruf übergeben wird, sofern eine Vorlage genutzt wird
class - Text leer Legt fest, welche zusätzliche CSS-Klasse genutzt werden soll
introtemplate - Text leer Legt fest, welche Vorlage vor der Ausgabe von Abfrageergebnissen eingefügt werden soll
outrotemplate - Text leer Legt fest, welche Vorlage nach der Ausgabe von Abfrageergebnissen eingefügt werden soll
sep - Text , Legt fest, welches Trennzeichen bei der Ausgabe der Abfrageergebnisse genutzt werden soll

Vorlagen zu benutzerdefinierten Formatierung[edit]

Ein paar Ergebnisformate unterstützen die Verwendung von Vorlagen, mit denen die Ausgabe der Abfrageergebnisse bei eingebetteten Abfragen gesteuert werden kann. Dies sind die Formate template, list, ol und ul. Wenn eine Vorlage genutzt wird, werden alle Ergebniszeilen unter Verwendung derselben formatiert. Der Name der Vorlage wird als Parameter ohne die vorangestellte Namensraumbezeichnung „Vorlage:“ angegeben. Die entsprechenden Abfragen werden stets nach folgendem Schema erstellt:

{{#ask: … | format=template/list/ol/ul | template=„Name der Vorlage“}}

Die einzelnen Abfrageergebnisse werden einzeln nacheinander von der in der Abfrage angegebene Vorlage verwendet, in der diese als nummerierte Vorlagenparameter enthalten sind. Sofern bspw. eine Vorlage drei mit einer Tabelle formatierte Zeilen enthält, besteht diese folglich aus drei Vorlagenparametern. Die Parameter werden, wie sonst bei MediaWiki üblich, {{{1}}}, {{{2}}} usw. geschrieben. Jeder Parameter bezieht sich dabei auf ein „Feld“ oder eine „Spalte“ in der jede ausgewählte Seite als Ergebnis angezeigt würde. Gewöhnlich enthält das erste Feld einer Abfrage den Seitentitel (siehe hierzu auch diese Stelle), so daß der Parameter {{{1}}} für den Seitentitel steht, während {{{2}}}, {{{3}}}, … für die Attributwerte der zusätzlich abgefragten Attribute stehen. Unten auf dieser Seite werden hierzu etliche Beispiele angeführt.

Das Ergebnisformat template ermöglicht eine größere Flexibilität bei der Darstellung von Abfrageergebnissen. Zu nennen wären:

  • Änderungen der Ausgabereihenfolge der Ergebnisse, bzw. das Auslassen doppelter Ergebnisse
  • Anzeige von Bildern in Abhängigkeit von den Ergebnissen
  • Erzeugung von Links zu Attributwerten
  • Nutzung von CCS, um bspw. Schriftgröße, Ausrichtung, Hintergrundfarbe, usw. individuell je Tabellenspalte zu formatieren

Für den Fall, daß eine Vorlage zur Anpassung von Links genutzt wird, sollte der Parameter link=none gesetzt werden, um SMWs automatische Verlinkung zu Artikeln zu verhindern. Der gleiche Effekt kann ebenso erzielt werden, indem man das Ausgabeformat „formatlos“ wählt (siehe hierzu diese Stelle). Nun kann man [[ ]] um alles setzen, zu dem ein Link erstellt werden soll.

Zum besseren Verständnis, hinsichtlich der Erstellung einer Vorlage zur Formatierung einer Abfrage, kann zunächst das Beispiel einer Abfrage mit dem Ergebnisformat table dienen. Sofern hierbei eine Abfrage nur Ergebnisse einer Seite ausgeben soll, wozu üblicherweise die Parserfunktion #show verwendet wird, wird der Seitenname der Seite ausgeblendet, die das Abfrageergebnis enthält. Daher verweist die Variable {{{1}}} auf die erste Ausgabeanweisung und nicht auf den Seitennamen. Die Nutzung der Ausgabeanweisung ? oder die Angabe eines Titels für die Hauptergebnisspalte mainlabel ermöglicht die Änderung dieses Verhaltens.

Die folgenden Beispiele verwenden allesamt die Vorlage Query output demo (de) die folgenden Wikitext enthält:

{{{2}}} Menschen tummeln sich auf {{{3}}} in {{{1}}}.

Die untenstehenden Abfragen veranschaulichen die Auswirkungen bei der Nutzung dieser Vorlage:

{{#ask: [[Kategorie:Stadt]] [[Fläche::+]] [[Bevölkerung::+]] 
| ?Bevölkerung=Einwohner
| ?Fläche#km²=Größe in km²
| format=template
| template=Query output demo (de)
| limit=3
}}

Ergebnis:

783,364 Menschen tummeln sich auf 219.00 km²84.56 sqmi <br /> in Amsterdam.

3,520,061 Menschen tummeln sich auf 891.85 km²344.34 sqmi <br /> in Berlin.

1,080,394 Menschen tummeln sich auf 405.02 km²156.38 sqmi <br /> in Cologne.

... further results

Das obige Beispiel zeigt wie die Vorlage alle in der Abfrage angegebenen Titel, wie z. B. „Größe in km²“, ignoriert. Dennoch zeigt die Vorlage die bei der Ausgabeformatierung angegebene Einheit ?Fläche#km²=Größe in km² an. Ebenso werden alle weiteren Ausgabeformatierungen angewendet. Siehe hierzu auch die Hilfeseite Informationsanzeige.

Nun folgt eine ähnliche, nach der Bevölkerungszahl sortierte Abfrage, die das Ergebnisformat ol nutzt, um eine nummerierte Liste zu erzeugen:

{{#ask: [[Kategorie:Stadt]] [[Fläche::+]] [[Bevölkerung::+]] 
| ?Bevölkerung
| ?Fläche#km²
| format=ol
| template=Query output demo (de)
| limit=3
| sort=Bevölkerung
| order=desc
}}

Ergebnis:

  1. 7,825,200 Menschen tummeln sich auf 1,706.80 km²659.00 sqmi <br /> in London.
  2. 4,575,532 Menschen tummeln sich auf 2,058.00 km²794.59 sqmi <br /> in Sydney.
  3. 3,520,061 Menschen tummeln sich auf 891.85 km²344.34 sqmi <br /> in Berlin.

... further results

Sofern für die Abfrage eine einzelne Seite direkt angegeben wird, enthält das Abfrageergebnis nicht diese Seite. Um nun die selbe Vorlage dennoch nutzen zu können, muss in der Abfrage mit Hilfe von |? gesondert angegeben werden, dass der Seitenname angezeigt werden soll:

{{#ask: [[Berlin]]
| ?
| ?Bevölkerung
| ?Fläche#km²
| format=template
| template=Query output demo (de)
}}

Ergebnis:

3,520,061 Menschen tummeln sich auf 891.85 km²344.34 sqmi <br /> in Berlin.


Gleiches kann mit der Parserfunktion #show bewerkstelligt werden, obschon dies nicht ihr überlicherweise vorgesehener Verwendungszweck ist:

{{#show: Berlin
| ?
| ?Bevölkerung
| ?Fläche#km²
| format=template
| template=Query output demo (de)
}}

Ergebnis:

3,520,061 Menschen tummeln sich auf 891.85 km²344.34 sqmi <br /> in Berlin.


Vorlagen können auch andere Parserfunktionen, wie bspw. Parserfunktionen mit denen Bedingungen formuliert werden, oder gar weitere Abfragen enthalten. Beispiele für derart komplexe Abfrageformatierungen sind auf den folgenden externen Webseiten zu finden:

  • Anstehende Veranstaltungen auf der Hauptseite von semanticweb.org: Der Abschnitt zu den Veranstaltungen auf dieser Seite zeigt lediglich bestimmte herausgehobene Veranstaltungen an. Jede dieser Veranstaltungen wird mit einer Vorlage formatiert, die eine weitere eingebettete Abfrage enthält, um ihr untergeordnete Veranstaltungen, wie bspw. begleitende Workshops, Tutorien usw. zu ermitteln.
  • Publikationen auf korrekt.org: Alle Listen auf dieser Webseite werden durch Abfragen erstellt, die mit Vorlagen versehen sind. Bedingungen wie #if and #ifeq werden hier eingesetzt, um die Ergebnisformatierung abhängig von der Art der Publikation sowie den verfügbaren Daten (Hauptpublikationen werden bspw. in Fettschrift angezeigt) durchzuführen.

Verwendung des Parameters userparam[edit]

Es ist mit einer Abfrage möglich, der Vorlage den Parameter userparam als einzelnen benutzerdefinierten Parameter hinzuzufügen. Dies wird mit |userparam=Wert des Parameters. In der Vorlage wird der Parameterwert mit der dort angegebenen Variable {{{userparam}}} ausgegeben.

Dieser Parameter erhöht die Verwendbarkeit einzelner Vorlagen und macht sie vielseitiger einsetzbar. Der Parameter ermöglicht es, eine einzelne Vorlage im Zusammenhang mit mehreren unterschiedlichen Abfragen zu verwenden und dennoch in allen Fällen eine sinnvolle Ergebnisausgabe zu erhalten.

Beispielsweise könnte man so die umgangssprachliche Standardformulierung „tummeln sich“ durch „leben“ ersetzen, usw.

{{#ask: [[Kategorie:Stadt]] [[Fläche::+]] [[Bevölkerung::+]] 
| ?Bevölkerung
| ?Fläche#km²
| format=ol
| template=Query output demo (de)
| limit=3
| sort=Bevölkerung
| userparam=leben
| order=desc
}}

Ergebnis:

  1. 7,825,200 Menschen tummeln sich auf 1,706.80 km²659.00 sqmi <br /> in London.
  2. 4,575,532 Menschen tummeln sich auf 2,058.00 km²794.59 sqmi <br /> in Sydney.
  3. 3,520,061 Menschen tummeln sich auf 891.85 km²344.34 sqmi <br /> in Berlin.

... further results

Anzeige des Links zu weiteren Ergebnissen[edit]

Der Link zu weiteren Ergebnissen ([weitere Ergebnisse …]), wie er bei anderen Ergebnisformaten möglich ist, funktioniert nur beim Ergebnisformat template selbst. Sofern Ergebnisse in tabellenform ausgegeben werden sollen, werden die Parameter introtemplate und outrotemplate verwendet, um dies umsetzen zu können. Siehe diese Seite (en) für weitere Informationen hierzu.



Diese Dokumentationsseite gilt für alle SMW-Versionen von 0.7 bis zur aktuellsten Version.
      Andere Sprachen: frzh-hans