Parser function extensions/nl

Category:Outdated pages/nl

Een "parserfunctie" is een sjabloon-achtige constructie die een waarde retourneert op basis van ten minste één naamloze parameter, gescheiden van de functienaam door een dubbele punt [:]. Er kunnen ook meer parameters zijn; Net als die van gewone sjablonen worden deze aanvullende parameters elk voorafgegaan door een "pipe" [|]. In het geval van een hash teken [#] aan het begin van de functienaam (wat conflicten met namespaces en interwiki-voorvoegsels voorkomt), kan dit al dan niet als onderdeel van de naam worden beschouwd. Als het als onderdeel van de naam wordt beschouwd, is de syntaxis van de vorm

{{functionname: argument 1 | argument 2 | argument 3...}}
Als de aanroeper geen argumenten heeft om de parserfunctie op te geven, dan is het formulier gewoon {{functionname:}} of, wanneer een hash-teken van toepassing is (zoals normaal het geval is), dan is het formulier {{#functionname:}}. Als de dubbele punt niet wordt opgegeven, wordt functiename niet herkend door de parser.

Argumenten kunnen niet rechtstreeks "|" of "}}" bevatten, behalve als onderdeel van de code van een sjabloonaanroep, parserfunctieaanroep, variabele, link of afbeelding, maar ze kunnen ze willekeurig bevatten met behulp van een sjabloon, bijvoorbeeld m:Template:! of een parserfunctie.

De code kan opgeven of de functienaam hoofdlettergevoelig is.

De scheiding van de argumenten van elkaar is met "|", en van de functienaam is met de eerste ":" De uitbreiding van elk van deze stukken is standaard, zoals in ExpandTemplates (wat trouwens een goede plek is om te experimenteren als met dit soort dingen begint) en valt buiten de controle van de parserfunctie zelf.

Al het andere kan echter voor elke parserfunctie anders zijn, waaronder:

  • of een argument slechts een waarde is, of van de vorm parname = parvalue, of wat dan ook
  • indien van toepassing, of parameternamen hoofdlettergevoelig zijn

Syntax voorgeschreven door een parserfunctie extensie

Gelet op het bovenstaande is het voordelig om een extensie zodanig te maken dat de in een argument te gebruiken syntaxis niet het pipe-teken "|" of dubbele accolades bevat (meer specifiek, dubbele sluitingsaccolades "}}"). Dit ondanks het feit dat een pipe-teken anders een geschikt symbool zou lijken voor bijvoorbeeld een keuze of vereniging (zie voorbeeld ). Het toestaan van dergelijke codes is onschadelijk als een alternatieve code ook is toegestaan, bijvoorbeeld "\" voor "|".

De functies in een tabel

extensiefunctieMediaWiki versie
built-inlc1.7+
built-inuc1.7+
built-inlcfirst1.7+
built-inucfirst1.7+
built-inurlencode1.7+
built-inanchorencode1.8+
built-inlocalurl1.7+
built-infullurl1.7+
built-in#language1.7+
built-in#special1.9+
built-in#tag1.12+
ParserFunctions (usage)#expr1.19+
ParserFunctions (usage)#ifexpr1.19+
ParserFunctions (usage)#if1.19+
ParserFunctions (usage)#ifeq1.19+
ParserFunctions (usage)#ifexist1.19+
ParserFunctions (usage)#rel2abs1.19+
ParserFunctions (usage)#titleparts1.19+
ParserFunctions (usage)#switch1.19+
ParserFunctions (usage)#time1.19+
AddScriptCss#addscriptArchived
Arrays#arraydefine1.23+
Arrays#arraydiff1.23+
Arrays#arrayindex1.23+
Arrays#arrayintersect1.23+
Arrays#arraymerge1.23+
Arrays#arrayprint1.23+
Arrays#arrayreset1.23+
Arrays#arraysearch1.23+
Arrays#arraysearcharray1.23+
Arrays#arraysize1.23+
Arrays#arrayslice1.23+
Arrays#arraysort1.23+
Arrays#arraytohash1.23+
Arrays#arrayunion1.23+
Arrays#arrayunique1.23+
Arrays#hashtoarray1.23+
Attachments#attach1.31+
Attachments#exturl1.31+
Babel#babel1.30+
CSS#css1.25+
Coordinate#coordinateArchived
Counter#+1.15+
Data#dataArchived
Data#sortArchived
DynamicFunctions#argArchived
DynamicFunctions#ipArchived
DynamicFunctions#randArchived
DynamicFunctions#skinArchived
DynamicPageList (third-party)#dplArchived
DynamicPageList3#dpl1.39+
ExpandAfter#expandafter (deprecated, see: #tag)Archived
ForeachFunction#foreachxArchived
ForeachFunction#foreachyArchived
HasCategory#ifhascatArchived
HideNamespace#hidensArchived
HideNamespace#unhidensArchived
ImageLink#img (old: #imagelink, deprecated)Archived
Infobox Data Capture#dataentryArchived
Infobox Data Capture#listsplitArchived
InterWikiLinkManager#iwlArchived
KeyValue#keyvalueArchived
Labeled Section Transclusion#lst1.25+
Labeled Section Transclusion#lstx1.25+
Labeled Section Transclusion#lsth1.25+
LoopFunctions#for1.23+
LoopFunctions#foreach1.25+
Loops#while1.25+
Loops#dowhile1.25+
Loops#forargs1.25+
Loops#fornumargs1.25+
Loops#loop1.25+
Maps/nl#geocode1.27+
Maps/nl#display_map1.27+
Maps/nl#display_point1.27+
Maps/nl#coordinates1.27+
Maps/nl#distance1.27+
MediaFunctions#media..1.23+
PageAfterAndBefore#pagebeforeArchived
PageAfterAndBefore#pageafterArchived
PageAfterAndBefore#firstpageArchived
PageAfterAndBefore#lastpageArchived
PageFunctions#pagetitleArchived
PageFunctions#pagesubtitleArchived
PageFunctions#pageexistsArchived
PageFunctions#varsetArchived
PageFunctions#vargetArchived
PageFunctions#varcapsetArchived
PageFunctions#cshowArchived
PageFunctions#varasetArchived
PageFunctions#varagetArchived
ParserFunctions (extended)#expr (extended)Archived
ParserFunctions (extended)#ifexpr (extended)Archived
ParserFunctions (extended)#minArchived
ParserFunctions (extended)#maxArchived
ParserFunctions (extended)#ifArchived
ParserFunctions (extended)#ifeqArchived
ParserFunctions (extended)#ifexistArchived
ParserFunctions (extended)#rel2absArchived
ParserFunctions (extended)#switchArchived
ParserFunctions (extended)#timeArchived
Pipe Escape#!1.23+
QPoll#qpuserchoiceArchived
RegexTools#regexArchived
RegexTools#regex_varsArchived
SecureProperties#pgArchived
SecureProperties#psArchived
SecureProperties#pfArchived
SecureProperties#ggArchived
SecureProperties#gsArchived
Semantic MediaWiki#ask1.27+
Semantic MediaWiki#concept1.27+
Semantic MediaWiki#info1.27+
Semantic MediaWiki#show1.27+
Semantic MediaWiki#set1.27+
StringFunctions#len1.7+
StringFunctions#pos1.7+
StringFunctions#rpos1.7+
StringFunctions#sub1.7+
StringFunctions#pad1.7+
StringFunctions#replace1.7+
StringFunctions#explode1.7+
StringFunctions#urlencode1.7+
StringFunctions#urldecode1.7+
TreeAndMenu#tree1.23+
TreeAndMenu#menu1.23+
Variables#vardefine1.29+
Variables#vardefineecho1.29+
Variables#var1.29+
Variables#varexists1.29+
Variables#var_final1.29+
Wikibase Client#property
Wikibase Client#statements


Zie ook

Category:Customization techniques/nl#Parser%20function%20extensions/nl Category:Parser function extensions/nl#%20 Category:Extension examples/nl#%20
Category:Customization techniques/nl Category:Extension examples/nl Category:Outdated pages/nl Category:Parser function extensions/nl