Template:Xpd/url

From TrainzOnline
< Template:Xpd
Revision as of 03:16, 6 July 2013 by Fabartus (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

{{#switch:p{{{1}}}q|p

  • q|p
    • q|p
      • q|p
  1. q|p
    1. q|p
      1. q|p
q|p
q|p
q=%0d}}{{#switch:{{{1}}}|&p=%7c|&e=%3d|&s=+|&nl=%0d|&*=%2a|&#=%23|&:=%3a|%7B%7B%7B1%7D%7D%7D}}


This Template:xpd (expansion demo) shows the call of a variable, parser function or template and its result, for documentation.

Usage:
{{{{#if:left side| }}xpd{{#if:left side|

| left side }}{{#if:up to 3 additional parameters| | </tt>up to 3 additional parameters }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:left side| }}}}</tt>

Please note that for parser functions the first parameter belongs to the left side before "|".

Examples without additional parameters:

}}xpd{{#if:tc|

| tc }}{{#if:| | {{{3}}} }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:tc| }}}} || {{tc{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} gives {{#ifeq:-|+|Template:Tc|{{#ifeq:-|+|Template:Tc|{{#ifeq:-|+|Template:Tc|Template:Tc}}}}}}

}}xpd{{#if:CURRENTDAY|

| CURRENTDAY }}{{#if:| | {{{3}}} }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:CURRENTDAY| }}}} || {{CURRENTDAY{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} gives {{#ifeq:-|+|Template:CURRENTDAY|{{#ifeq:-|+|Template:CURRENTDAY|{{#ifeq:-|+|Template:CURRENTDAY|23}}}}}}

}}xpd{{#if:#expr:2*3|

| #expr:2*3 }}{{#if:| | {{{3}}} }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:#expr:2*3| }}}} || {{#expr:2*3{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} gives {{#ifeq:-|+|{{#expr:2*3|||}}|{{#ifeq:-|+|{{#expr:2*3||}}|{{#ifeq:-|+|{{#expr:2*3|}}|{{#expr:2*3}}}}}}}}

}}xpd{{#if:1=#expr:2+2=5|

| 1=#expr:2+2=5 }}{{#if:| | {{{3}}} }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:1=#expr:2+2=5| }}}} || {{#expr:2+2=5{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} gives {{#ifeq:-|+|{{#expr:2+2=5|||}}|{{#ifeq:-|+|{{#expr:2+2=5||}}|{{#ifeq:-|+|{{#expr:2+2=5|}}|{{#expr:2+2=5}}}}}}}}

}}xpd{{#if:1=#expr:2+2=4|

| 1=#expr:2+2=4 }}{{#if:| | {{{3}}} }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:1=#expr:2+2=4| }}}} || {{#expr:2+2=4{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} gives {{#ifeq:-|+|{{#expr:2+2=4|||}}|{{#ifeq:-|+|{{#expr:2+2=4||}}|{{#ifeq:-|+|{{#expr:2+2=4|}}|{{#expr:2+2=4}}}}}}}}

}}xpd{{#if:urlencode:!|

| urlencode:! }}{{#if:| | {{{3}}} }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:urlencode:!| }}}} || {{urlencode:!{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} gives {{#ifeq:-|+|%21|{{#ifeq:-|+|%21|{{#ifeq:-|+|%21|%21}}}}}}

}}xpd{{#if:uc:abc|

| uc:abc }}{{#if:| | {{{3}}} }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:uc:abc| }}}} || {{uc:abc{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} gives {{#ifeq:-|+|ABC|{{#ifeq:-|+|ABC|{{#ifeq:-|+|ABC|ABC}}}}}}

{{subst:xpd|uc:Upper Case|subst=subst:}} substitutes {{ subst:uc:Upper Case}} gives UPPER CASE

See Help:Substitution for several caveats wrt subst=subst:.

Note that, as always, a parameter containing "=" has to be explicitly named by putting, in this case, "1=" in front.

Template:Xpdn can be used in the case of an expression in double braces which itself includes a pair of double braces (simple nested expressions). Use "|" for the inner "{{" and, if there is code after it, also for "}}".

}}xpdn{{#if:#expr:24*|

| #expr:24* }}{{#if:CURRENTDAY| | CURRENTDAY }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:#expr:24*| }}}} || {{#expr:24*{{CURRENTDAY}}}} {{#ifeq: +|-|{{{s}}}|gives}} {{#expr:24*23}}

}}xpdn{{#if:#expr:24*|

| #expr:24* }}{{#if:CURRENTDAY| | CURRENTDAY }}{{#if:-24| | -24 }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:#expr:24*| }}}} || {{#expr:24*{{CURRENTDAY}}-24}} {{#ifeq: +|-|{{{s}}}|gives}} {{#expr:24*23-24}}

}}xpdn{{#if:#expr:4*|

| #expr:4* }}{{#if:#expr:not 0| | #expr:not 0 }}{{#if: >3| | >3 }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:#expr:4*| }}}} || {{#expr: 4*{{#expr:not 0}} >3}} {{#ifeq: +|-|{{{s}}}|gives}} {{#expr: 4*{{#expr:not 0}} >3}}

}}xpdn{{#if:urlencode:|

| urlencode: }}{{#if:DIRMARK| | DIRMARK }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:urlencode:| }}}} || {{urlencode:{{DIRMARK}}}} {{#ifeq: +|-|{{{s}}}|gives}} %E2%80%8E

Examples with additional parameters (no nesting possible):

}}xpd{{#if:#ifeq: 1.00|

| #ifeq: 1.00 }}{{#if:+1| | +1 }}{{#if:okay| | okay }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:#ifeq: 1.00| }}}} || {{#ifeq: 1.00{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-||+1|okay||{{#ifeq:okay|okay||+1|okay|{{#ifeq:+1|+1||+1|}}}}}}}} gives {{#ifeq:-|+|{{#ifeq: 1.00|+1|okay|}}|{{#ifeq:okay|okay|{{#ifeq: 1.00|+1|okay}}|{{#ifeq:+1|+1|{{#ifeq: 1.00|+1}}|{{#ifeq: 1.00}}}}}}}}

}}xpd{{#if:#ifeq: this|

| #ifeq: this }}{{#if:that<tt>||false| | that||false }}{{#if:s=is| | s=is }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:#ifeq: this| }}}}</tt> || {{#ifeq: this{{#if:|{{{{{1n}}}}}}}{{#ifeq:false|false||that||false|{{#ifeq:|||that||{{#ifeq:that|that||that|}}}}}}}} is {{#ifeq:false|false|{{#ifeq: this|that||false}}|{{#ifeq:||{{#ifeq: this|that|}}|{{#ifeq:that|that|{{#ifeq: this|that}}|{{#ifeq: this}}}}}}}}

}}xpd{{#if:t|

| t }}{{#if:b| | b }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:t| }}}} || {{t{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-||b|||{{#ifeq:-|+||b||{{#ifeq:b|b||b|}}}}}}}} gives {{#ifeq:-|+|Template:T|{{#ifeq:-|+|Template:T|{{#ifeq:b|b|Template:T|Template:T}}}}}}

}}xpd{{#if:t2|

| t2 }}{{#if:b| | b }}{{#if:c| | c }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:t2| }}}} || {{t2{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-||b|c||{{#ifeq:c|c||b|c|{{#ifeq:b|b||b|}}}}}}}} gives {{#ifeq:-|+|Template:T2|{{#ifeq:c|c|Template:T2|{{#ifeq:b|b|Template:T2|Template:T2}}}}}}

In the case of one or more named parameters, write all parameter definitions from that as value of the appropriate parameter number, e.g.:

{{xpd|t link|2=wikt=abc|3=}} gives "{{t link{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-||wikt=abc|||{{#ifeq:|||wikt=abc||{{#ifeq:wikt=abc|wikt=abc||wikt=abc|}}}}}}}} gives {{#ifeq:-|+|Template:T link|{{#ifeq:||Template:T link|{{#ifeq:wikt=abc|wikt=abc|Template:T link|Template:T link}}}}}}"

Optional substitution with subst=subst: is not supported. The demo template shows what another template actually does, and not what it did some time ago.

Separator parameter

Usage:
{{{{#if:left side| }}xpd{{#if:left side|

| left side }}{{#if:up to 3 additional parameters| | </tt>up to 3 additional parameters }}{{#if:s=separator| | s=separator }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:left side| }}}}</tt>

{{{{#if:left side| }}xpdn{{#if:left side|

| left side }}{{#if:nested part and optional last part| | </tt>nested part and optional last part }}{{#if:s=separator| | s=separator }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:left side| }}}}</tt>

The default separator is "gives", use s== or similar to get "=" etc.

Examples with separator parameter:

}}xpd{{#if:CURRENTDAY|

| CURRENTDAY }}{{#if:s=is| | s=is }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:CURRENTDAY| }}}} || {{CURRENTDAY{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} is {{#ifeq:-|+|Template:CURRENTDAY|{{#ifeq:-|+|Template:CURRENTDAY|{{#ifeq:-|+|Template:CURRENTDAY|23}}}}}}

}}xpd{{#if:1=#expr:2+2|

| 1=#expr:2+2 }}{{#if:s==| | s== }}{{#if:| | {{{4}}} }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:1=#expr:2+2| }}}} || {{#expr:2+2{{#if:|{{{{{1n}}}}}}}{{#ifeq:+|-|||||{{#ifeq:-|+||||{{#ifeq:-|+|||}}}}}}}} = {{#ifeq:-|+|{{#expr:2+2|||}}|{{#ifeq:-|+|{{#expr:2+2||}}|{{#ifeq:-|+|{{#expr:2+2|}}|{{#expr:2+2}}}}}}}}

}}xpdn{{#if:#expr:4*|

| #expr:4* }}{{#if:#expr:not 0| | #expr:not 0 }}{{#if: >3 | yields| | >3 | yields }}{{#if:| | {{{5}}} }}{{#if:| | ... }}{{#if:#expr:4*| }}}} || {{#expr: 4*{{#expr:not 0}} >3 }} {{#ifeq: +|-|{{{s}}}| yields}} {{#expr: 4*{{#expr:not 0}} >3 }}

See also


Contents

 

This page has it's origination in the Wikimedia Foundation's development website Meta-wiki or has been exported and is now part of the newer Mediawiki software resources website for assisting new wikis with startup organization and has been copied according to the terms of the (CC-BY-SA-3.0), the GFDL standard GNU pulic license or the source file(s) is/are in the public domain.
Personal tools