The expansion demo templates (see [1]) show, for documentation:

  • some wikitext
  • its rendering
  • a link to ExpandTemplates applied to the wikitext; thus it shows:
    • The expanded wikitext.
    • The rendering of this expanded wikitext

Template:=xpd=/doc selects one of the following four templates based on the number of unnamed parameters

Separator parameter +/-

The default separator is "gives". With gives={{!}}{{!}} to get "||" for use in a table, the same separator is used before the ExpandTemplates link.

Example:

{| class="wikitable"
!wikitext!!result!!ExpandTemplates
|-
|{{xpd|CURRENTDAY|gives={{!}}{{!}}}}
|-
|{{xpd|1=#expr:2+2|gives={{!}}{{!}}}}
|-
|{{xpdn|#expr: 4*|#expr:not 0|>3|gives={{!}}{{!}}}}
|}

gives

wikitext result ExpandTemplates
Formula:xpd
Formula:xpd
Formula:xpdn

Quotes +/-

The quotation marks are needed to see spaces and newlines at the start and end of the result:

Formula:xpd

In other expand demo templates they are also needed to see spaces and newlines at the start and end of the wikitext, and to get a result independent of whether it starts on a line due to parameter {{{gives}}}.

Limitations +/-

This Template:Xpd is a simplified version of some expansion demo templates. If necessary use the proper extended version.

Named parameters and parameter values with equals signs +/-

Named parameters are not supported. Neither are equals signs in parameter values of the template or parser function demonstrated.

Examples:

  • {{xpd|1x| p{{=}}q }} gives Formula:xpd - wrong result due to the template call in the parameter; is corrected by substitution and putting nowiki tags in the lefthand side (see below), giving {{1x| p{{=}}q }} gives Formula:1x [2].
  • {{xpd|1x|2= p=q }} gives Formula:xpd - wrong result because the lefthand side would be expanded interpreting p as named parameter, while the righthand side shows the result if the unnamed parameter of 1x has the given value; use {{xpdopec|1x|1|3= p=q }} giving Formula:xpdopec or {{xpdnp|1x|1n=1|1v= p=q }} giving Formula:xpdnp (spaces and newlines are trimmed).
  • {{xpd|t np|q=s}} gives: Formula:xpd ("q=s" is ignored); instead, use {{xpdopec|t np|q|s}} giving Formula:xpdopec or {{xpdnp|t np|1n=q|1v=s}} giving Formula:xpdnp.

Even in the case of a parser function called with a parameter containing an equals sign the template for named parameters should be used:

Spaces and newlines +/-

If parameters start or end with a space or newline, these are preserved. Even if the left-hand side, as mentioned, does not show the raw wikitext of the parameters but the rendering, the right-hand side gives the correct result.

Example with two newlines, hence also the left-hand side is correct:

Formula:xpdc


Example without consecutive spaces inside a parameter value, hence also the left-hand side is correct:

"Formula:xpdc"

Substitution +/-

  • {{subst:xpd|substnp=subst:|tc}} gives the wikitext {{xpd0|tc}}
  • {{subst:xpd|substnp=subst:|t1|p}} gives the wikitext {{xpd1|t1|p}}
  • {{subst:xpd|substnp=subst:|t2|p|q}} gives the wikitext {{xpd2|t2|p|q}}
  • {{subst:xpd|substnp=subst:|concat|p|q|r}} gives the wikitext {{xpd3|concat|p|q|r}}

Note that except in the case of long and complicated parameters, adding the number of parameters after "xpd" is easier than adding "subst:" and "|substnp=subst:".

With substitution of xpd1 etc. and putting nowiki tags around the list of parameters the left hand side is given literally without conversions, see also above.


See also +/-

  • Template:Tlx - produces just the template call, with the template name linked to the template, but not the result, e.g. Formula:xpd