Community Central
Community Central
Manual dplmatrix

Syntax[]

 {{#dplmatrix: name | yes | no | mode | '''indented_list''' }}

Effect[]

This function is a side entry into DPL.

You pass an indented list and you get a matrix view back. With copy/paste you can easily transfer such a matrix to Excel and do some polishing there like turning column texts to vertical, highlight interesting cells etc…)

There are five parameters which MUST be given in the order listed here:

  1. The name of the matrix. Appears in the upper left cell. Arbitrary wiki formatting (even images) are possible.
  2. The symbol for cells which symbolize a link. Default is "x".
  3. The symbol for cells which symbolize the absence of a link. Default is 'empty cell'.
  4. The mode ('normal' or 'flip'); default is 'normal'. When 'flip' is specified, rows and columns will be exchanged.
  5. The indented list.
    • source items must start in column 1
    • target items must be indented by at least one space
    • after the item name you can add ~~ and a 'label'. Row and column titles of the matrix will contain hyperlinks to the items. If labels are specified, they will be used instead of the item names.
    • lines which are empty or contain only spaces are silently ignored.
    • if a source line is not followed by one or more target lines an empty table row (or column in flip mode) will be shown.
    • if the same source line appears multiple times, the targets will be joined (added).

The idea is that you can generate the indented list by DPL statements. See the following example:


Test matrix

generating a matrix from an indented list[]

Input is:

one
 oho
 aha
two ~~ Two
 ehem
three
four
 aha
 uhui ~~ UHU
two ~~ Two
   uhui ~~ UHU

Output is:

normal flipped
{{#dplmatrix:a simple demo matrix||||
one
 oho
 aha
two ~~ Two
 ehem
three
four
 aha
 uhui ~~ UHU
two ~~ Two
   uhui ~~ UHU
}}
{{#dplmatrix:a simple demo matrix|<big>•</big>|.|flip|
one
 oho
 aha
two ~~ Two
 ehem
three
four
 aha
 uhui ~~ UHU
two ~~ Two
   uhui ~~ UHU
}}
a simple demo matrix aha ehem oho UHU
one x   x  
Two   x   x
three        
four x     x
a simple demo matrix one Two three four
aha . .
ehem . . .
oho . . .
UHU . .
  • "from" items ("source") start in col 1
  • "to" items ("target") are indented by at least one space
  • source appears in input sequence
  • target is sorted by alphabet
  • items are treated as pages and shown as a link
  • the label can be defined by adding it after the iterm, separated by "~~"
  • symbols for "yes" and "no" can be defined
  • via the stylesheet in MediaWiki:Common.css you can control the layout (class=dplmatrix)

Links to DPL Manual pages[]

Now we use two nested DPL queries and what would be a separate page, Test matrix2, to generate the indented list:

{{#dplmatrix:''links from articles to the DPL manual''|'''x'''|-|flip|
  {{#dpl:
    |debug=1
    |category=DPL Manual
    |format=,%PAGE% ~~ %TITLE%\n²{:Test matrix2¦page=%PAGE%¦category=DPL Manual¦namespace=}²,
  }}
}}

Contents of Test matrix2:

{{#dpl:
 |debug=1
 |{{#if:{{{namespace|}}}|{{#ifeq:{{{namespace}}}|main|namespace=|namespace={{{namespace}}}|}}}}
 |{{#if:{{{category|}}}|category={{{category}}}}}
 |linksfrom={{{page}}}
 |shownamespace=no
 |format=,   %PAGE% ~~ %TITLE%\n,
}}
links from articles to the DPL manual