Difference between revisions of "Template:ListEdges.generateTable"
From AtlasWiki
(re-doing possible fix, seems the page I tested on is now broken somehow...not sure what went wrong) |
|||
(12 intermediate revisions by 2 users not shown) | |||
Line 56: | Line 56: | ||
{{!}}{{#arrayprint:uninheritedEdges|  | {{!}}{{#arrayprint:uninheritedEdges|  | ||
{{!}}- | {{!}}- | ||
− | {{!}}|var|{{#arraydefine:edgeRelationships|var|<PROP>|}}{{#arraydefine:relationships|{{#arrayindex:edgeRelationships|1}}|<MANY>|}} rowspan="{{#arraysize:relationships}}" {{!}} {{ | + | {{!}}|var|{{#arraydefine:edgeRelationships|var|<PROP>|}}{{#arraydefine:relationships|{{#arrayindex:edgeRelationships|1}}|<MANY>|}} rowspan="{{#arraysize:relationships}}" {{!}} {{NameTrick|{{#arrayindex:edgeRelationships|0}}}} {{!}}{{!}} {{NameTrick|{{EnsureNamespace|{{#explode:{{#arrayindex:relationships|0}}|$SEP$|0}}}}}} {{!}}{{!}} {{#explode:{{#arrayindex:relationships|0}}|$SEP$|1}} {{!}}{{!}} rowspan="{{#arraysize:relationships}}" {{!}} {{ReconstructLinks|{{#explode:{{#arrayindex:relationships|0}}|$SEP$|2}}}} {{#arrayslice:relationships|relationships|1}} {{#arrayprint:relationships||@@@@|  |
{{!}}- | {{!}}- | ||
{{!}} [[{{#explode:@@@@|$SEP$|0}}]] {{!}}{{!}} {{#explode:@@@@|$SEP$|1}} }} }} }} | {{!}} [[{{#explode:@@@@|$SEP$|0}}]] {{!}}{{!}} {{#explode:@@@@|$SEP$|1}} }} }} }} | ||
− | {{#switch:{{#arraysize:inheritedEdges}}| 0 = | #default =   | + | {{#switch:{{#arraysize:inheritedEdges}}| 0 = | #default =  |
{{!}}- | {{!}}- | ||
! Inherited From !! {{{edgeTitle}}} !! {{{nodeTitle}}} !! Multiplicity !! Description | ! Inherited From !! {{{edgeTitle}}} !! {{{nodeTitle}}} !! Multiplicity !! Description | ||
Line 65: | Line 65: | ||
{{!}}{{#arrayprint:inheritedEdges|  | {{!}}{{#arrayprint:inheritedEdges|  | ||
{{!}}- | {{!}}- | ||
− | {{!}} |@@@@| {{#arraydefine:edges|{{#explode:@@@@|<PARENT>|1}}|<EDGE_SEP>|}} rowspan="{{#expr:{{#arrayprint:edges|+|####|{{#arraydefine:findSize|####|<MANY>}}{{#arraysize:findSize}}}}}}" {{!}} | + | {{!}} |@@@@| {{#arraydefine:edges|{{#explode:@@@@|<PARENT>|1}}|<EDGE_SEP>|}} rowspan="{{#expr:{{#arrayprint:edges|+|####|{{#arraydefine:findSize|####|<MANY>}}{{#arraysize:findSize}}}}}}" {{!}} {{NameTrick|{{EnsureNamespace|{{#explode:@@@@|<PARENT>|0}}}}}} {{!}}{{!}} {{#arraydefine:firstEdge|{{#arrayindex:edges|0}}|<EDGE_PROP>}} {{#arraydefine:firstOrigins|{{#arrayindex:firstEdge|2}}|<MANY>}} rowspan="{{#arraysize:firstOrigins}}" {{!}} {{NameTrick|{{#arrayindex:firstEdge|0}}}} {{!}}{{!}} {{NameTrick|{{EnsureNamespace|{{#explode:{{#arrayindex:firstOrigins|0}}|<VAL>|0}}}}}} {{!}}{{!}} {{#explode:{{#arrayindex:firstOrigins|0}}|<VAL>|1}} {{!}}{{!}} rowspan="{{#arraysize:firstOrigins}}" {{!}} {{#arrayindex:firstEdge|1}} {{#arrayslice:restOfFirstOrigins|firstOrigins|1}} {{#arrayprint:restOfFirstOrigins||$$$$|  |
{{!}}- | {{!}}- | ||
− | {{!}} | + | {{!}} {{NameTrick|{{EnsureNamespace|{{#explode:$$$$|<VAL>|0}}}}}} {{!}}{{!}} {{#explode:$$$$|<VAL>|1}} }} {{#arrayslice:restOfEdges|edges|1}} |
{{#arrayprint:restOfEdges||####|  | {{#arrayprint:restOfEdges||####|  | ||
{{!}}- | {{!}}- | ||
− | {{!}}{{#arraydefine:edge|####|<EDGE_PROP>}} {{#arraydefine:origins|{{#arrayindex:edge|2}}|<MANY>}} rowspan="{{#arraysize:origins}}" {{!}} {{ | + | {{!}}{{#arraydefine:edge|####|<EDGE_PROP>}} {{#arraydefine:origins|{{#arrayindex:edge|2}}|<MANY>}} rowspan="{{#arraysize:origins}}" {{!}} {{NameTrick|{{#arrayIndex:edge|0}}}} {{!}}{{!}} {{NameTrick|{{EnsureNamespace|{{#explode:{{#arrayindex:origins|0}}|<VAL>|0}}}}}} {{!}}{{!}} {{#explode:{{#arrayindex:origins|0}}|<VAL>|1}} {{!}}{{!}} rowspan="{{#arraysize:origins}}" {{!}} {{#arrayIndex:edge|1}} |
− | {{#arrayslice:restOfOrigins|origins|1}} {{#arrayprint:restOfOrigins||$$$$|{{!}}- | + | {{#arrayslice:restOfOrigins|origins|1}}{{#arrayprint:restOfOrigins||$$$$|  |
− | {{!}} | + | {{!}}- |
+ | {{!}} {{NameTrick|{{EnsureNamespace|{{#explode:$$$$|<VAL>|0}}}}}} {{!}}{{!}} {{#explode:$$$$|<VAL>|1}} }} }} }} }} | ||
{{!}}} | {{!}}} | ||
}} | }} |
Latest revision as of 16:20, 23 October 2015
Requires five parameters:
title: the main title of the table, e.g. "Specified In Edges"
edgeTitle: the header to place above the edges column of the table, e.g. "In Edge"
nodeTitle: the header to place above the related node column of the table, e.g. "Origin"
uninheritedEdges: a list of edges which have a relationship specified with the node this table is being generated for
inheritedEdges: a list of edges which have a relationship specified with a parent of this node kind