Extensions des fonctions d'analyse syntaxique
Cette page est obsolète. |
Une "fonction d'analyseur syntaxique" est un simili-modèle qui retourne une valeur selon au moins un paramètre anonyme séparé de la fonction par un caractère [:]. Il peut aussi y avoir d'autres paramètres. Comme pour les modèles ordinaires, ces paramètres additionnels sont précédés chacun d'un "pipe" [|]. Dans le cas d'un caractère hash au début du nom de la fonction (ce qui permet d'éviter les collisions avec les espaces de nommage et les préfixes interwikis), celui-ci peut, ou non, être considéré comme faisant partie du nom. S'il est considéré comme partie du nom, la syntaxe est selon la forme
- {{functionname: argument 1 | argument 2 | argument 3...}}
Les arguments ne peuvent contenir ni "|" ni "}}", sauf comme partie de code d'un appel de modèle, d'une fonction d'analyseur, d'une variable, d'un lien, d'une image, mais ils peuvent les contenir de façon arbitraire en usant d'un modèle, p. ex. : m:Template:!, ou d'une fonction d'analyseur.
Le code peut préciser si le nom de la fonction est sensible à la casse.
Le séparateur entre les arguments est le caractère "|"; et entre le nom de la fonction et le premier argument : ":" . L'expansion de ceux-ci est standard, comme dans Special:ExpandTemplates (qui est, de fait, un bon endroit pour expérimenter ce sujet en phase d'apprentissage) et est hors du contrôle de la fonction d'analyse elle-même.
Tout le reste, par ailleurs, est propre à chaque fonction d'analyseur, à savoir :
- si un argument est seulement une valeur, ou de la forme nomarg = valarg, ou autre,
- le cas échéant, si les noms de paramètres sont sensibles à la casse.
Syntaxe requise pour une extension de fonction d'analyseur
Comme exposé ci-dessus, il est préférable de faire en sorte que la syntaxe utilisée dans un argument ne contienne pas le caractère pipe "|" ni deux parenthèses (plus précisément : deux parenthèses fermantes "}}"). Ceci, malgré le fait que le caractère pipe semblerait un symbole pratique notamment pour un choix ou une union (voir p. ex. [1]) Autoriser de tels codes est sans risque si un code alternatif est aussi autorisé, p. ex. "\" pour "|".
Table des fonctions
Extension | Fonction | Version de MediaWiki |
---|---|---|
built-in | lc | 1.7+ |
built-in | uc | 1.7+ |
built-in | lcfirst | 1.7+ |
built-in | ucfirst | 1.7+ |
built-in | urlencode | 1.7+ |
built-in | anchorencode | 1.8+ |
built-in | localurl | 1.7+ |
built-in | fullurl | 1.7+ |
built-in | #language | 1.7+ |
built-in | #special | 1.9+ |
built-in | #tag | 1.12+ |
ParserFunctions (usage ) | #expr | 1.19+ |
ParserFunctions (usage ) | #ifexpr | 1.19+ |
ParserFunctions (usage ) | #if | 1.19+ |
ParserFunctions (usage ) | #ifeq | 1.19+ |
ParserFunctions (usage ) | #ifexist | 1.19+ |
ParserFunctions (usage ) | #rel2abs | 1.19+ |
ParserFunctions (usage ) | #titleparts | 1.19+ |
ParserFunctions (usage ) | #switch | 1.19+ |
ParserFunctions (usage ) | #time | 1.19+ |
AddScriptCss | #addscript | Archived |
Arrays | #arraydefine | 1.23+ |
Arrays | #arraydiff | 1.23+ |
Arrays | #arrayindex | 1.23+ |
Arrays | #arrayintersect | 1.23+ |
Arrays | #arraymerge | 1.23+ |
Arrays | #arrayprint | 1.23+ |
Arrays | #arrayreset | 1.23+ |
Arrays | #arraysearch | 1.23+ |
Arrays | #arraysearcharray | 1.23+ |
Arrays | #arraysize | 1.23+ |
Arrays | #arrayslice | 1.23+ |
Arrays | #arraysort | 1.23+ |
Arrays | #arraytohash | 1.23+ |
Arrays | #arrayunion | 1.23+ |
Arrays | #arrayunique | 1.23+ |
Arrays | #hashtoarray | 1.23+ |
Attachments/fr | #attach | 1.31+ |
Attachments/fr | #exturl | 1.31+ |
Babel/fr | #babel | 1.30+ |
CSS | #css | 1.25+ |
Coordinate | #coordinate | 1.10+ |
Counter | #+ | 1.15+ |
Data | #data | Archived |
Data | #sort | Archived |
DynamicFunctions | #arg | Archived |
DynamicFunctions | #ip | Archived |
DynamicFunctions | #rand | Archived |
DynamicFunctions | #skin | Archived |
DynamicPageList (module tiers) | #dpl | Archived |
DynamicPageList3 | #dpl | 1.39+ |
ExpandAfter | #expandafter (deprecated , see: #tag) | Archived |
ForeachFunction | #foreachx | Archived |
ForeachFunction | #foreachy | Archived |
HasCategory | #ifhascat | Archived |
HideNamespace | #hidens | 1.15+ |
HideNamespace | #unhidens | 1.15+ |
ImageLink | #img (old: #imagelink, deprecated ) | Archived |
Infobox Data Capture | #dataentry | Archived |
Infobox Data Capture | #listsplit | Archived |
InterWikiLinkManager | #iwl | Archived |
KeyValue | #keyvalue | 1.16+ |
Labeled Section Transclusion/fr | #lst | 1.25+ |
Labeled Section Transclusion/fr | #lstx | 1.25+ |
Labeled Section Transclusion/fr | #lsth | 1.25+ |
LoopFunctions | #for | 1.23+ |
LoopFunctions | #foreach | 1.25+ |
Loops | #while | 1.25+ |
Loops | #dowhile | 1.25+ |
Loops | #forargs | 1.25+ |
Loops | #fornumargs | 1.25+ |
Loops | #loop | 1.25+ |
Maps | #geocode | 1.27+ |
Maps | #display_map | 1.27+ |
Maps | #display_point | 1.27+ |
Maps | #coordinates | 1.27+ |
Maps | #distance | 1.27+ |
MediaFunctions | #media.. | 1.23+ |
PageAfterAndBefore | #pagebefore | Archived |
PageAfterAndBefore | #pageafter | Archived |
PageAfterAndBefore | #firstpage | Archived |
PageAfterAndBefore | #lastpage | Archived |
PageFunctions | #pagetitle | Archived |
PageFunctions | #pagesubtitle | Archived |
PageFunctions | #pageexists | Archived |
PageFunctions | #varset | Archived |
PageFunctions | #varget | Archived |
PageFunctions | #varcapset | Archived |
PageFunctions | #cshow | Archived |
PageFunctions | #varaset | Archived |
PageFunctions | #varaget | Archived |
ParserFunctions (extended) | #expr (extended) | 1.19+ |
ParserFunctions (extended) | #ifexpr (extended) | 1.19+ |
ParserFunctions (extended) | #min | 1.19+ |
ParserFunctions (extended) | #max | 1.19+ |
ParserFunctions (extended) | #if | 1.19+ |
ParserFunctions (extended) | #ifeq | 1.19+ |
ParserFunctions (extended) | #ifexist | 1.19+ |
ParserFunctions (extended) | #rel2abs | 1.19+ |
ParserFunctions (extended) | #switch | 1.19+ |
ParserFunctions (extended) | #time | 1.19+ |
Pipe Escape | #! | 1.23+ |
QPoll | #qpuserchoice | Archived |
RegexTools | #regex | Archived |
RegexTools | #regex_vars | Archived |
SecureProperties | #pg | Archived |
SecureProperties | #ps | Archived |
SecureProperties | #pf | Archived |
SecureProperties | #gg | Archived |
SecureProperties | #gs | Archived |
Semantic MediaWiki | #ask | 1.27+ |
Semantic MediaWiki | #concept | 1.27+ |
Semantic MediaWiki | #info | 1.27+ |
Semantic MediaWiki | #show | 1.27+ |
Semantic MediaWiki | #set | 1.27+ |
StringFunctions | #len | 1.7+ |
StringFunctions | #pos | 1.7+ |
StringFunctions | #rpos | 1.7+ |
StringFunctions | #sub | 1.7+ |
StringFunctions | #pad | 1.7+ |
StringFunctions | #replace | 1.7+ |
StringFunctions | #explode | 1.7+ |
StringFunctions | #urlencode | 1.7+ |
StringFunctions | #urldecode | 1.7+ |
TreeAndMenu | #tree | 1.23+ |
TreeAndMenu | #menu | 1.23+ |
Variables | #vardefine | 1.29+ |
Variables | #vardefineecho | 1.29+ |
Variables | #var | 1.29+ |
Variables | #varexists | 1.29+ |
Variables | #var_final | 1.29+ |
Client Wikibase | #property | |
Client Wikibase | #statements |
Voir aussi
- Aide:Mots magiques
- Catégorie:Extensions des fonctions de l'analyseur syntaxique
- Writing parser functions (software development)
- Extending wiki markup#Parser_functions
- Sample parser function, from SVN
- Parser function extensions with documentation on Meta:
- Extension:Data - requires extra table data_extension in database
- Extension:DynamicFunctions
- Aide:Extension:Fonctions d'analyse
- Extension:StringFunctions
- Extension:VariablesExtension
- Extension:Winter - "Wiki Interpreter" - Complete programming language which is very similar to native parser functions.
- Parser functions for Wikibase (the extensions that enables Wikidata): d:Wikidata:How to use data on Wikimedia projects